This sort of thing has been done under Windows (boundschecker) and
I don't know if there's a regular Linux implementation of it... but
thinking about it it's only practical for testing purposes since you're
gonna take a pretty severe performance hit on even a P6-class machine, let
alone an 8088. It also requires compiler work, and would either (a) bloat
the assembly code, or (b) use CALL/RETs which are extrememely expensive on
older chips.
That said, if bounds checking existed under Linux and/or ELKS it
would be very useful... just not something you'ld want to use in a
production version.
- Chad
On Sun, 13 Jun 1999, Beau Kuiper wrote:
> About user-program protection:
>
> Why is this discussion continuing. Most programs are forever playing with
> memory and pointers because C works like that. To locate and verify
> every memory reference that a C program makes is simply stupid for the
> following reasons:
>
> 1) The code to do it will be unportable and complex, difficult to
> maintain, in assembly and most likely buggy too. This should
> be enough reason to scrap this idea.
> 2) It will be slow. Not your regular slow, not even windows 3.0
> slow, I mean really, really SLOW! The performace hit may
> not be very noticable on a Pentium, but it will sure hurt the
> target processor, the 8088/8086
>
> Beau Kuiper
> [EMAIL PROTECTED]
>