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 cctalk mailing list