[net.arch] IvsM: Memory protection

gnu@sun.uucp (John Gilmore) (06/16/85)

[I have reduced the dist list to net.arch & suggest you do the same.]

From Ken Shoemaker of Intel:
>                                ...I said that NOT having memory protection
> in a multi-user system is the kiss of death, and tacking it onto a 68k
> both slows down the system, and adds significantly to the cost of the
> processor subsystem.  These costs are not present in a system designed
> around a 286.

I agree that unprotected systems are the kiss of death.  Any Unix where
a random user program memory reference can crash the kernel is a
serious loser, e.g. the IBM PC and others that use the 8088, 8086, or
80186, or those that run the 80286 in fast mode.  There have been 68K
boxes without memory protection which people have tried running Unix on
anyway, e.g. Lady O'Shack's first 68K, and those had the same lossage.

A memory-protected 68K box need not be slow nor expensive.  The 68K
provides a BERR (bus error) pin with timing such that it's easy to use
for protection errors without adding any wait states.  (It's hard to do
that for parity errors, but that's another story.)  Even doing a full
paging MMU need not add wait states, as evidenced by the Sun design.

In a 68K, the software need not know if a datum is R/O or R/W to
address it; in the 286, I believe that R/W data and R/O data must be in
different segments, so the compiler must generate code to switch
segment registers when it wants to access one and then the other.