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.