On 5 May 2016 at 10:41, Mattis Lind <mattislind at gmail.com> wrote:
What about the Norsk Data series of machines, NORD-1,
NORD-10 etc.
The NORD-10 had memory protection and paging. Circa 1973. According to the
wiki page the NORD-1 had an option to provide virtual memory. The wiki page
claim the NORD-1 to be the first mini to have virtual memory (1969). I
cannot really tell if this is true.
https://en.wikipedia.org/wiki/Nord-1
/Mattis
The NORD-1 (developed 1967, sold from 1968) was a real-time 16-bit
minicomputer with up to 64kw of core memory. The NORD-1 reference
manual describes the memory protection system this way:
"Both real-time and background programs can be run concurrently in a
NORD-1 system since the real-time program can be protected against
alteration. The optional features guarantees that protected areas of
memory cannot be written into. The protection feature also prevents
the execution of instructions that could initiate I/O transfers or
change the status of the protection system."
I believe this refers to, or is related to the optional virtual memory
system. And more so this passage:
"The NORD-1 dynamic core allocation system (paging system) is an
automatic address interpretation system which allows programs to be
written for 64K virtual core, with only parts of the program in
physical core at a given time[..] The page table is kept in core. For
each memory reference there is an automatic hardware address
translation via an automatic page table reference.[..]"
And it goes on to describing page fault interrupts, and privileged instructions.
But although it had privileged and non-privileged instructions from
the beginning, the NORD-1 did not acquire a time-sharing operating
system until after mid-1971, and that was only a proof-of-concept
version. It was announced in 1972 and became a product in 1973. The
user- and superuser separation was implemented using the already
existing instruction type separation, as mentioned. In 1973 the
NORD-10 appeared as well, which fully covers the OP's requirements.
The NORD-1 of 1968, or NORD-1 with VM of 1969 only partly covers it,
as the time sharing operating system was not yet in place at that
time.