top | item 18451828

(no title)

willvk | 7 years ago

Correct me if I'm wrong, but I don't think that protected mode existed in old Unix systems and so was not delineated between user space and kernel space as described.

Protected mode and the separation of kernel and user space was only available since 80286 processors starting in 1982.

Refs:

https://en.wikipedia.org/wiki/User_space

https://en.wikipedia.org/wiki/Protected_mode

discuss

order

bitwize|7 years ago

Virtual memory systems and protected memory certainly did exist before the 286, and Unix supported them well before 1982. Hell, the most popular CPU architecture for production Unix systems -- VAX -- was 32-bit and dates from the mid-1970s.

icedchai|7 years ago

There is a world outside of Intel, especially back in the 80's and 90's...

mwfunk|7 years ago

And especially back in the '60s and '70s, when Unix and its predecessors were originally developed.

rjsw|7 years ago

Sorry, but you are wrong.

Have a look at the architectures of the PDP-11, VAX, 68000 and many other CPUs.

tralarpa|7 years ago

By the way, an interesting story:

When Sun (?) wanted to implement their Unix with paging on the 68000 they had a problem: If you access a memory page that has been swapped out to disk, the OS has to (1) load the page from disk to RAM and (2) let the CPU repeat the instruction that caused the memory access. But the last step could not be properly done on the 68000 because it did not store its internal state completely when an (address) error happened (this was fixed in the 68010).

Their solution: Run two 68000 in parallel on the same code, one of them delayed by one instruction. When the first CPU triggers the page fault, the system can stop the second CPU before it reaches the instruction that caused the fault.