operating systems wt 2019/20 - dcl.hpi.uni-potsdam.de · abridged history of operating systems....

26
Operating Systems WT 2019/20 Abridged History of Operating Systems

Upload: others

Post on 28-Oct-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems WT 2019/20Abridged History of Operating Systems

Page 2: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 2

Something to Ponder

What is an Operating System?try to come up with a definition of what the term operating system means.

Discuss your findings amongst yourselves.

Page 3: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 5

Operating System Definition

My attempt:An operating system is a program that runs and orchestrates other programs, based on a set of optimization criteria.

Page 4: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 6

Hardware and Software

Hardware Development

Operating System Development

Page 5: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 7

The First Computer

Q: What was the first computer?

Page 6: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 8

First Computers● 1801: Power loom driven by wooden punch cards

● 1822: Steam- driven analytical engine by Charles Babbage

● Mechanical decimal stored ‐program computer, programmable by punch cards, support for calculation and conditional statements

● Remained unbuilt; Based on concepts, Ada Byron later invented subroutines and loops as programming concepts

● 1890: U.S. census supported by Hollerith desk - punch card reader, counting units, wall of dial indicators

● Built by Tabulating Machine Company, which eventually became International Business Machines

● Invented the idea of output punch cards independent from Babbage

Page 7: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 9

First Computers● 1944: Harvard Mark I developed in partnership between Harvard

and IBM (ballistic firing tables)

● First programmable digital computer made in the U.S.

● Constructed of switches, relays, rotating shafts, clutches

● Grace Hopper found the first computer bug, invented the predecessor of COBOL and the first compiler

● 1941: Konrad Zuse completed the work on the Z3

● First programmable electromechanical computer

● Punch film for program and data (lack of paper)

● Mapping of Boolean algebra to relays, developed independently from original Shannon work

● Plankalkül – programming language

Page 8: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 10

Von Neumann Architecture● 1946: ENIAC as first fully electronic computer in the U.S.

● No program memory, re-wiring for each program

● EDVAC: Revolutionary extension with a stored program computer concept by John von Neumann

● Memory contains both the program and the data

● Introduction of a general purpose computer concept

Page 9: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 11

Serial Processing● Computers from 1940 to 1955 were able to perform serial processing

● Programs for the machine (relays, vacuum tubes) written in assembly language

● Console with display lights, switches, punch card reader / plugboard, printer

● Re-wiring or punch card reading necessary for filling the program memory

● Program had complete control of the machinefor the entire run-time

● Manual reservation, user either finished early(wasted time) or could not debug their problem

● Long setup time -Job may involve running the compilerprogram first and feeding in the output again

Page 10: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 13

1st Idea: Batch Processing● A job control language (JCL) operates the monitor

application

● Instructions about the compiler to use, data to work on etc. (Fortran prefix $)

● Early version of system calls

● Monitor needed to switch between itself and the application

● Resident monitor parts always in memory

● Demands on hardware: memory protection, timer, privileged instructions for I/O

● User mode vs. monitor mode (system mode, kernel mode, supervisor mode)

Page 11: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 14

2nd Idea: Multiprogramming● Batch processing increases utilization, but jobs still need to

wait for I/O operations

● Idea: Load multiple jobs into memory at the same time

● While one is waiting for I/O results, switch to another one

● Multiplexing of resources between a set of jobs became a basic monitor / operating system task -> multi-programming or multi-tasking

● Goal: Maximize CPU utilization

Page 12: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 15

2nd Idea: Multiprogramming

Page 13: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 16

2nd Idea: Multiprogramming

● Multiprogramming begets interactivity● Idea: add dedicated job that is always loaded and

processes user input (“terminal”)● Time Sharing Option (TSO) on IBM Mainframe● Decouples the user from the processing● But: multiprogramming is cooperative

→ terminal is unresponsive while the machine is occupied

Page 14: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 17

3rd Idea: Preemption / Time Sharing● Users started to demand interaction with their program,

e.g. for retry on errors

● Perform multi-tasking, but act like the machine is exclusively used

● Advent of time-sharing / preemptive multi-tasking systems

● Goal: Minimize single user response time

● Extension of multi-programming to multiple interactive (non-batch) jobs

● Preemptive multi-tasking became a single user demand in modern times

● Leave one application running while starting another one

● Pure batch processing systems still exist: TPM, SAP R/3, HPC

Page 15: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 18

Time Sharing – CTSS & MULTICS● Compatible Time-Sharing System (CTSS)

● Operating system developed at MIT, first for the IBM 7094 in 1961 (32.768 36bit words memory)

● Program always loaded to start at the location of the 5000th word

● System clock generated interrupts roughly every 0.2 seconds

● At each clock interrupt, the system regained control and assigned the processor to another user - time slicing

● Parts of the active program that would be overwritten are written to disk

● Other parts remained inactive in the system memory

● Direct successor MULTICS pioneered many modern operating system concepts

Page 16: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 19

Time Sharing – CTSS & MULTICS

Source Code:● https://gitlab.hpi.de/osm-teaching/opsys19labs/multics● https://gitlab.hpi.de/osm-teaching/opsys19labs/ctss

… and more

Page 17: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 20

Genealogy of Operating Systems55

60

65

70

75

80

85

90

95

00

03

IOCS

DOS/360

DOS/VSE

VSE

VSE/ESA

OS/360

MVS/370

MVS/XA

MVS/ESA

TSO

IBSYS

CTSS

CP/CM5

VM/370

VM/XA

VM/ESA

SYSTEM III

SYSTEM V

SYSTEM V.4

MULTICS

UNIX

UNIXV.7

AIX/370

AIXSUN OS

POSIX

SOLARIS 2

4.1BSD

4.2BSD

4.3BSD

4.4BSD

MACHOSF/1

AIX/ESA

XENIX MS-DOS 1.0

CP/M

DR/DOSOS/2WIN 3.0

WIN NT

WIN 2000

WIN 9X

WIN XP

GNU/LINUX

RSX-11M

VMS 1.0

VMS 5.4

VMS 7.3

WIN 3.1

SOLARIS 10

RT-11

GNU/LINUX 2.6WIN Server 2003

OS/390

z/OSz/VSE z/VM

https://www.tele-task.de/lecture/video/7083/from 49:50

Page 18: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 21

Genealogy of Unix (simplified)

OpenServer 6.x

UnixWare 7.x

(System V R5)

HP-UX 11i+

1969

1971 to 1973

1974 to 1975

1978

1979

1980

1981

1982

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

19992000

2001 to 2004

2006 to 2007

2008

2005

2009

2010

2011

2012 to 2015

2016

2017

Open source

Mixed/shared source

Closed source

HP-UX 1.0 to 1.2

OpenSolaris & derivatives (illumos, etc.)

System III

System V R1 to R2

OpenServer 5.0.5 to 5.0.7

OpenServer 5.0 to 5.04

SCO UNIX 3.2.4

SCO Xenix V/386

SCO Xenix V/386

SCO Xenix V/286

SCO Xenix

Xenix 3.0

Xenix 1.0 to 2.3

PWB/Unix

AIX 1.0

AIX 3.0-7.2

OpenBSD 2.3-6.1

OpenBSD 1.0 to 2.2

SunOS 1.2 to 3.0

SunOS 1 to 1.1

Unix/32V

Unix Version 1 to 4

Unix Version 5 to 6

Unix Version 7

Unnamed PDP-7 operating system

BSD 1.0 to 2.0

BSD 3.0 to 4.1

BSD 4.2

Unix Version 8

Unix 9 and 10

(last versions from

Bell Labs)

NexTSTEP/ OPENSTEP 1.0 to 4.0

Mac OS X Server

Mac OS X, OS X,

macOS 10.0 to 10.12

(Darwin 1.2.1 to 17)

Minix 1.x

Minix 2.x

Minix 3.1.0-3.4.0

Linux 2.x

Linux 0.95 to 1.2.x

Linux 0.0.1

BSD 4.4-Lite

& Lite Release 2

NetBSD 0.8 to 1.0

NetBSD 1.1 to 1.2

NetBSD 1.3

NetBSD 1.3-7.1

FreeBSD 1.0 to 2.2.x

386BSD

BSD Net/2

Solaris 10

Solaris 11.0-11.3

System V R4

Solaris 2.1 to 9

BSD 4.3

SunOS 4

HP-UX 2.0 to 3.0

HP-UX 6 to 11

System V R3

UnixWare 1.x to 2.x (System V

R4.2)

BSD 4.3 Tahoe

BSD 4.3 Reno

FreeBSD 3.0 to 3.2

FreeBSD 3.3-11.x

Linux 3.x

Linux 4.x OpenServer

10.x

1969

1971 to 1973

1974 to 1975

1978

1979

1980

1981

1982

1983

1984

1985

1986

1987

1988

1989

1990

1991

1992

1993

1994

1995

1996

1997

1998

19992000

2001 to 2004

2006 to 2007

2008

2005

2009

2010

2011

2012 to 2015

2016

2017

DragonFly BSD

1.0 to 4.8

BSD Net/1

Unix-like systems

Page 20: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 23

Genealogy of Linux

https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg

(too large for this slide)

Page 21: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 24

Genealogy of Operating Systems55

60

65

70

75

80

85

90

95

00

03

IOCS

DOS/360

DOS/VSE

VSE

VSE/ESA

OS/360

MVS/370

MVS/XA

MVS/ESA

TSO

IBSYS

CTSS

CP/CM5

VM/370

VM/XA

VM/ESA

SYSTEM III

SYSTEM V

SYSTEM V.4

MULTICS

UNIX

UNIXV.7

AIX/370

AIXSUN OS

POSIX

SOLARIS 2

4.1BSD

4.2BSD

4.3BSD

4.4BSD

MACHOSF/1

AIX/ESA

XENIX MS-DOS 1.0

CP/M

DR/DOSOS/2WIN 3.0

WIN NT

WIN 2000

WIN 9X

WIN XP

GNU/LINUX

RSX-11M

VMS 1.0

VMS 5.4

VMS 7.3

WIN 3.1

SOLARIS 10

RT-11

GNU/LINUX 2.6WIN Server 2003

OS/390

z/OSz/VSE z/VM

https://www.tele-task.de/lecture/video/7083/from 49:50

Page 22: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 25

POSIX● family of standards for maintaining compatibility between

operating systems● on source code level● on system tools level

● Specification follows existing UNIX implementations● committee does not invent functionality

Page 23: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 26

SummaryOperating System Development intricately tied to:

● Utilization: Cost of Labour vs, Cost of Machine● Use case – commercial / military / government

– still relevant today● Hardware Development

– Operating Systems features required implementation in hardware for efficiency

– Hardware advancements required adaption of Operating Systems (e.g. mobile, NVRAM, ...)

Page 24: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 27

Critical Innovations● Batch Job Processing

● Linkage of library routines to programs ● Management of files, I/O devices, secondary storage

● Multiprogramming● Resource management and sharing for multiple programs ● Quasi-simultaneous program execution● Single user

Page 25: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 28

Critical Innovations● Multiuser/Timesharing Systems

● Management of multiple simultaneous users interconnected via terminals

● Resource management: CPU scheduling, spooling, mutual exclusion

● Real-Time Systems (process control systems)● Management of time-critical processes ● High requirements with respect to reliability and

availability

Page 26: Operating Systems WT 2019/20 - dcl.hpi.uni-potsdam.de · Abridged History of Operating Systems. Operating Systems 2 Something to Ponder What is an Operating System? try to come up

Operating Systems 29

Genealogy of Operating Systems55

60

65

70

75

80

85

90

95

00

03

IOCS

DOS/360

DOS/VSE

VSE

VSE/ESA

OS/360

MVS/370

MVS/XA

MVS/ESA

TSO

IBSYS

CTSS

CP/CM5

VM/370

VM/XA

VM/ESA

SYSTEM III

SYSTEM V

SYSTEM V.4

MULTICS

UNIX

UNIXV.7

AIX/370

AIXSUN OS

POSIX

SOLARIS 2

4.1BSD

4.2BSD

4.3BSD

4.4BSD

MACHOSF/1

AIX/ESA

XENIX MS-DOS 1.0

CP/M

DR/DOSOS/2WIN 3.0

WIN NT

WIN 2000

WIN 9X

WIN XP

GNU/LINUX

RSX-11M

VMS 1.0

VMS 5.4

VMS 7.3

WIN 3.1

SOLARIS 10

RT-11

GNU/LINUX 2.6WIN Server 2003

OS/390

z/OSz/VSE z/VM

https://www.tele-task.de/lecture/video/7083/from 49:50