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 | gottfr...@specht-online.com | +49 211 151695+49 151 2911 2915 -----Ursprüngliche Nachricht----- Von: cctalk [mailto:cctalk-boun...@classiccmp.org] Im Auftrag von Erik Baigar Gesendet: Dienstag, 3. Mai 2016 17:53 An: cctalk@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.