Andreas Krey <firstname.lastname@example.org> wrote:
| I don't know whether the 68000 already had user and supervisor
| mode which is also (besides an MMU) a prerequisite for completely
| jailing user programs.
Yes, it did. The original Fortune Systems box used a 68000 to run
a hybrid ATT-v.7/BSD-4.1a kernel. It "completely jailed" user programs,
as you put it. Though, as others have noted, since the 68000 could not
recover from arbitrary bus faults (SIGSEGVs), we were only able to
provide whole-process swapping, not general paging.
But as a consequence of this limitation, we were able to use a *much*
simpler external MMU, basically a four-segment base/limit style (think
of a PDP-10 with 4 segs instead of 2, or a PDP-11/44 with 4 instead of 8)
built out of 4x4 register files (74S670's, IIRC) instead of the expensive,
fast SRAMs Sun later used on their 68020 box.
p.s. The four segments were text, data, "extra", and stack, equally
dividing the virutual address space, with the limits growing up from
the beginning of the segment for text & data and down from the end
for "extra" and stack. [In case you're wondering, "extra" was used
for various & sundry purposes: System-V shmem; for mapping /dev/mem
or /dev/kmem for kernel debugging; mapping hardware into user-mode
drivers; and similar stunts.]
Rob Warnock <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607