History - The University of Edinburgh

Download Report

Transcript History - The University of Edinburgh

Operating Systems: History
History
• Pre 1950 : the very first electronic computers
– valves and relays
– no OS
– single program with dedicated function
• Pre 1960 : stored program valve machines
– single job at a time
– OS just consists of a program loader
program
CPU
printer
1
Operating Systems: History
• 1960: transistor machines
– example: DEC PDP-8
» first Edinburgh Univ. computer, 1965
» 4K 12-bit words of magnetic core memory; 1.5sec cycle time
– RIM loader read in Binary loader
– Binary loader read in executable from paper tape
» a primitive BIOS
– user program drives I/O devices directly
» usually by polling
» interrupts also possible
– ‘walk up and use’ computer
– illustrates ‘data rate mismatch’ problem
2
Operating Systems: History
• Post 1960 : Batch systems on mainframe computers
– collections of jobs made up into a batch
– example: IBM 1401/7094
» card decks spooled onto magnetic tape and from tape to printer
– example: English Electric Leo KDF9
» first Edinburgh Univ. mainframe, 1968
» 32K 48-bit words, 2sec cycle time
» punched paper-tape input ‘walk-up’ service or spooling via mag tape
3
Operating Systems: History
• OS consisted of an input/output system for reading and writing magnetic tapes
and a command interpreter for JCL on cards
– speed mismatch problem reduced with fast mag tape but not removed
– pipelining allowed next job to be read in whilst results of previous job being
written to mag tape
4
Operating Systems: History
• 1965: Multiple Job Stream Batch Systems
– several jobs resident in memory together
OS
job 1
job 2
job 3
– a multiprogramming OS
» CPU switched around the jobs in turn
» I/O delays overlapped with other running jobs
» jobs stay resident until finished
5
Operating Systems: History
• IBM MFT - ‘Multiprogramming with Fixed Tasks’
– fixed partition boundaries
• IBM MVT - ‘Multiprogramming with Variable Tasks’
– dynamic partition sizes and positions
– OS scheduled jobs to minimise memory wastage
6
Operating Systems: History
– example: Manchester University ATLAS, 1963
» 32kwords 48-bit memory 1sec cycle time
» multiprogramming batch system
» used remotely by Edinburgh Univ. via off-line paper-tape
• Problems introduced by multiprogramming:
– jobs had to run at different places in memory
– inefficient use of expensive memory
– one job could interfere with another e.g. overwrite other jobs memory
– jobs could clash over use of I/O devices
7
Operating Systems: History
• Overcome by using:
– relocating linkers and loaders
– hardware relocation base and limit registers
» read/write/execute protected access
– OS controlled access to I/O devices
• Virtual memory architectures
» pages and demand-paging
» invented in Manchester and used first on ATLAS
» 512 word pages + swap disc
» segmentation came later
8
Operating Systems: History
• 1970: Multi-Access Interactive Time-Sharing Systems
– powerful machines very expensive
– need to share use between many users
– simultaneous interactive use
– new OS and software technology for time-sharing
» virtual memory pages and segments
» processes
- with a continuing existence, not just for life of job execution
- memory resident, swapped out to disc, blocked, waiting etc.
» command interpreters, on-line editors
» file systems, back-up and archiving
» TTY terminals - no VDUs until later
» still stand-alone - no networking
9
Operating Systems: History
Various Development Projects
• Project MAC at MIT on IBM 7094, 1966
• MULTICS by a consortium on GE645, 1969
• EMAP in Edinburgh University on EEC 4-75, 1970
– joint project with ICL
– 4-75: 1Mb memory, 4kb pages and 64kb segments
– 50 simultaneous users
– used in Edinburgh until 1989
– ported onto ICL 2900 in mid-1970s
» 100 users
» dual processor version
– final port onto NEC (IBM 370 clone)
» 100s of users
– overtaken by UNIX-based systems
10
Operating Systems: History
• Mini-computer systems
– DEC VAX (VMS Operating System), Prime, Wang, Interdata, . . . . . . . .
– between mainframes and workstations in cost and performance
• Workstation systems
– increasingly cost-effective since 1980
– Sun, IBM PC, Apple Mac
• Networks of workstations
– ethernet, token rings etc.
• Parallel systems
– large numbers of loosely connected machines
– only a minimal OS in each
» usually a separate front-end machine running a normal OS for I/O
– examples: Connection Machine, Cray T3E in EPCC etc.
11