AW: When did Memory- and IO Protection Emerge (Esp. in Minis)?
Gottfried Specht
Gottfried.Specht at t-online.de
Wed May 4 11:18:58 CDT 2016
Erik,
I'm not sure whether it qualifies for your full list, but the HP2100A (that came out in 1971) had a "Memory Protect" hardware that
"Gives the security necessary to protect a defined area of memory from alteration by a user program.
Priority: Second highest priority interrupt (shared with memory parity).
Operation: Initiated under program control; protects any amount of memory.
Fence Register: Set under program control; memory below fence is protected.
Interrupt: To trap cell for system routine when user program:
a) Attempts to alter a protected location
b) Attempts to jump into the protected area
c) Attempts to execute an 1/0 instruction
Violation Register: Contains memory address of violating instruction."
(from the 1972 HP2100A Processor Description)
The predecessor HP2116B (of 1968 vintage!) also had a "Memory Protect" board as an option, I cannot confirm it had the same functionality as the HP2100A above.
IIRC, this was the main mechanism to protect the OS (RTE, DOS) from user code.
Gottfried
_____
Gottfried Specht | Gottfried at specht-online.com | +49 211 151695+49 151 2911 2915
-----Ursprüngliche Nachricht-----
Von: cctalk [mailto:cctalk-bounces at classiccmp.org] Im Auftrag von Erik Baigar
Gesendet: Dienstag, 3. Mai 2016 17:53
An: cctalk at classiccmp.org
Betreff: When did Memory- and IO Protection Emerge (Esp. in Minis)?
Dear Experts,
during discussing the Rolms I came accross the following question:
What was the first (Minicomputer) architecture which offered
memory- and IO protection? I'd define the minimum requirements as:
- Existence of a superuser mode (Rolm calls this Executive mode)
- Existence of a user mode (With at least two users, Rolm offers 4)
- In superuser mode, IO and memory protection for each user can be
set up individually.
- Any access violation is trapped and handeled by superuser code.
- Of course commands for mode switching and setting up the
memory and IO ranges must exist.
I have got a real machine (Rolm 1602) having this implemented and dating from 1975. A document on this "Access Protection Module" as Rolm calls it also is dated 1975. It consists of a microcode module which realizes an extension of the 16 bit Nova instruction set and an additinoal CPU module, taking care of the new modes and supervising the IO- and memory accesses.
My question is not regarding virtual memory memory, but regarding protection (IO and memory) to ensure capsulation of indivitual processes - not necessarily for multi user environments but e.g.
for safety critical applications...
Probably OS/2 in 1987 was one of the first home computer OSes to support memory protection (how about IO protection?), BSD on some Digital PDP-* was earlier (1977?) but still after the 1602.
Any hints out there on other "Mini" architectures of that era having someting similar?
Erik.
More information about the cctech
mailing list