Difference between revisions of "ELF operating system"

From Computer History Wiki
Jump to: navigation, search
m (dab NCP)
m (External links: +Structure of the ELF Operating System)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
'''ELF''' was a [[real-time]] [[multi-tasking|multi-programming]] [[operating system]] for the [[PDP-11]] (hence the name - 'elf' is German for 'eleven); generally, those with [[PDP-11 Memory Management]] (both kinds). It allowed [[process]]es to  be  created and terminated, and allowed them access to inter-process communication and timers; allocation and freeing of [[main memory]] was also provided. It was written in [[assembly language]]; applications could also be written in [[BCPL]] and [[BLISS-11]].
 
'''ELF''' was a [[real-time]] [[multi-tasking|multi-programming]] [[operating system]] for the [[PDP-11]] (hence the name - 'elf' is German for 'eleven); generally, those with [[PDP-11 Memory Management]] (both kinds). It allowed [[process]]es to  be  created and terminated, and allowed them access to inter-process communication and timers; allocation and freeing of [[main memory]] was also provided. It was written in [[assembly language]]; applications could also be written in [[BCPL]] and [[BLISS-11]].
  
It was originally intended to allow [[user]]s at [[terminal]]s to simultaneously utilize [[time-sharing]] systems on the [[ARPANET]], using [[Network Control Program (ARPANET)|NCP]] (use of which was a standard capability under ELF). It was a successor to [[ANTS]] in this role. It also allowed users to save [[file]]s on local [[mass storage]]; supported mass storage [[device controller]]s were [[TC11 DECtape controller|TC11 DECtape]], [[RF11 disk controller|RF11]] [[fixed-head disk]], [[RK11 disk controller|RK11]] and [[RP11 disk controller|RP11]].
+
It was originally intended to allow [[user]]s at [[terminal]]s to simultaneously utilize [[time-sharing]] systems on the [[ARPANET]], using [[Network Control Protocol|NCP]] (use of which was a standard capability under ELF). It was a successor to [[ANTS]] in this role. It also allowed users to save [[file]]s on local [[mass storage]]; supported mass storage [[device controller]]s were [[TC11 DECtape controller|TC11 DECtape]], [[RF11 disk controller|RF11]] [[fixed-head disk]], [[RK11 disk controller|RK11]] and [[RP11 disk controller|RP11]].
  
Work on it started in early 1973; it went into experimental service in early 1974, and by 1976 about 30 sites on the ARPANET were using it. It was later used by researchers at [[Bolt, Beranek, and Newman|BBN]] to support the first [[router]]s on the experimental [[Internet]].
+
Work on it started in early 1973; it went into experimental service in early 1974, and by 1976 about 30 sites on the ARPANET were using it. It was later used by researchers at [[Bolt, Beranek, and Newman|BBN]] to support the first [[router]]s on the experimental [[Internet]].
  
 
ELF went through major changes during development. ELF-I had an emphasis on high throughput at the expense of modularity. ELF-II improved modularity but reduced throughput. VM ELF moved applications out of kernel space to separate user spaces.  
 
ELF went through major changes during development. ELF-I had an emphasis on high throughput at the expense of modularity. ELF-II improved modularity but reduced throughput. VM ELF moved applications out of kernel space to separate user spaces.  
Line 29: Line 29:
 
* [https://dl.acm.org/doi/10.1145/1499949.1499980 D. L. Retz, ''Operating system design considerations for the packet-switching environment'']
 
* [https://dl.acm.org/doi/10.1145/1499949.1499980 D. L. Retz, ''Operating system design considerations for the packet-switching environment'']
 
* [https://github.com/larsbrinkhoff/elf-operating-system ELF source code]
 
* [https://github.com/larsbrinkhoff/elf-operating-system ELF source code]
 +
** [https://github.com/pdp11/elf-operating-system/blob/master/papers/Structure_of_the_ELF_Operating_System.pdf Structure of the ELF Operating System]
 
** [https://github.com/larsbrinkhoff/elf-operating-system/blob/master/files/kernel.doc%5Bm%2Ctvr%5D200 ELF Kernel Programmer's Guide] - January 1,  1976 version
 
** [https://github.com/larsbrinkhoff/elf-operating-system/blob/master/files/kernel.doc%5Bm%2Ctvr%5D200 ELF Kernel Programmer's Guide] - January 1,  1976 version
  

Latest revision as of 15:23, 14 October 2022

ELF was a real-time multi-programming operating system for the PDP-11 (hence the name - 'elf' is German for 'eleven); generally, those with PDP-11 Memory Management (both kinds). It allowed processes to be created and terminated, and allowed them access to inter-process communication and timers; allocation and freeing of main memory was also provided. It was written in assembly language; applications could also be written in BCPL and BLISS-11.

It was originally intended to allow users at terminals to simultaneously utilize time-sharing systems on the ARPANET, using NCP (use of which was a standard capability under ELF). It was a successor to ANTS in this role. It also allowed users to save files on local mass storage; supported mass storage device controllers were TC11 DECtape, RF11 fixed-head disk, RK11 and RP11.

Work on it started in early 1973; it went into experimental service in early 1974, and by 1976 about 30 sites on the ARPANET were using it. It was later used by researchers at BBN to support the first routers on the experimental Internet.

ELF went through major changes during development. ELF-I had an emphasis on high throughput at the expense of modularity. ELF-II improved modularity but reduced throughput. VM ELF moved applications out of kernel space to separate user spaces.

Some ELF source code was found on backup tapes from the SAIL PDP-10. There is a possibly complete set of files from November 1974, and a smaller set of NCP code from August 1975.

See also

Further reading

  • D. L. Retz, ELF System Development - this apparently online at Stanford, but access to it seems to currently be restricted

External links