4 ms·
The 286 did have protected memory. Each memory access was associated with a segment register, one of CS DS ES SS. The low 2 bits were for 4 permission levels,
by souprock 7y ago
The 286 did have protected memory.
Each memory access was associated with a segment register, one of CS DS ES SS. The low 2 bits were for 4 permission levels, and the next bit up indicated which of two tables the MMU should use, the LDT or GDT. The high 13 bits were an index into that table, which contained 8-byte structs called descriptors.
Each descriptor had a 24-bit base and a 16-bit limit. The base would remap memory. The limit would cause an access denial for out-of-range addresses. There were also permission bits, including no-execute.
That MMU was used by Xenix, Windows 2, OS/2 1, RMX, and various DOS extenders. Some of those weren't very serious about controlling permissions or remapping memory, but the hardware could do it.
Despite your forgetfulness, you seem like you might qualify for a job at my place. Hacking up doskey is excellent. Here, take a look:
https://news.ycombinator.com/item?id=20328264 https://news.ycombinator.com/item?id=20328264