Difference between revisions of "MOS operating system"

From Computer History Wiki
Jump to: navigation, search
m (External links: +source)
m (External links: +Extended Memory MOS)
 
(2 intermediate revisions by the same user not shown)
Line 14: Line 14:
  
 
* [[Port Expander‎]]
 
* [[Port Expander‎]]
 +
* [[C Gateway]]
 
* [[ANTS terminal system]]
 
* [[ANTS terminal system]]
 
* [[MINITS]]
 
* [[MINITS]]
Line 22: Line 23:
 
* [http://ana-3.lcs.mit.edu/~jnc/tech/mos/src/ MOS operating system] - source code
 
* [http://ana-3.lcs.mit.edu/~jnc/tech/mos/src/ MOS operating system] - source code
 
* [http://ana-3.lcs.mit.edu/~jnc/tech/mos/docs/tiunv2.lpt Terminal Interface Unit Notebook: Volume 2 - Software Documentation] - information on building system loads, as well as MOS documentation
 
* [http://ana-3.lcs.mit.edu/~jnc/tech/mos/docs/tiunv2.lpt Terminal Interface Unit Notebook: Volume 2 - Software Documentation] - information on building system loads, as well as MOS documentation
* [https://www.rfc-editor.org/ien/ien164.txt CMOS System Overview]
+
* [https://www.rfc-editor.org/ien/ien136.txt Memory Management Extensions to the SRI Micro Operating Systemfor PDP-11/23/34/35/40] (IEN-136)
 +
* [https://www.rfc-editor.org/ien/ien164.txt CMOS System Overview] (IEN-164)
 +
* [https://www.rfc-editor.org/ien/ien198.txt Extended Memory MOS for a UNIX Development Host] (IEN-198)
  
 
[[Category: Non-DEC Operating Systems]]
 
[[Category: Non-DEC Operating Systems]]
 
[[Category: PDP-11 Operating Systems]]
 
[[Category: PDP-11 Operating Systems]]
 
[[Category: Real-Time Operating Systems]]
 
[[Category: Real-Time Operating Systems]]

Latest revision as of 16:36, 25 January 2024

The MOS operating system (formally the 'Micro Operating System', but informally 'Mathis' Operating System', after the creator, Jim Mathis of SRI) was a cooperative real-time multi-tasking operating system, originally for the PDP-11, used for a number of packet switches and similar network applications. It was initially written as part of the Terminal Interface Unit project, the first application which used it.

It supported processes (but not preemption, or creation/termination of processes - all processes were created at system linking time), queued inter-process messages ('signals'), asynchronous I/O, and allocation and freeing of main memory; it had no file system or other support for secondary storage.

It appears to have been inspired by the ELF operating system (which also has 'Device Control Tables' and 'I/O Request Blocks', which look similar in their details to the MOS ones, and uses signals to notify of asynchronous I/O operation completion), but it is much simpler than ELF; for instance, all MOS code necessarily shares a single address space, and MOS processes are static, unlike ELF.

The original version was written in MACRO-11, the assembly language for the PDP-11; it was later re-written at least three times in C: at BBN, at UCL, and at Proteon. The first and last versions were portable; the latter also ran on the MC68000, the Intel x86, and the AMD29000.

All were somewhat extended from the original; the first two fairly extensively, the latter only to make use of up-calls in the I/O system, and to support pseudo-terminals.

See also

External links