operating systems wt 2019 20
play

Operating Systems WT 2019/20 Abridged History of Operating Systems - PowerPoint PPT Presentation

Operating Systems WT 2019/20 Abridged History of Operating Systems Something to Ponder What is an Operating System? try to come up with a defjnition of what the term operating system means. Discuss your fjndings amongst yourselves. Operating


  1. Operating Systems WT 2019/20 Abridged History of Operating Systems

  2. Something to Ponder What is an Operating System? try to come up with a defjnition of what the term operating system means. Discuss your fjndings amongst yourselves. Operating Systems 2

  3. Operating System Defjnition My attempt: An operating system is a program that runs and orchestrates other programs, based on a set of optimization criteria . Operating Systems 5

  4. Hardware and Software Hardware Development Operating System Development Operating Systems 6

  5. The First Computer Q : What was the fjrst computer? Operating Systems 7

  6. 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 Operating Systems 8

  7. First Computers 1944: Harvard Mark I developed in partnership between Harvard ● and IBM (ballistic fjring tables) First programmable digital computer made in the U.S. ● Constructed of switches, relays, rotating shafts, clutches ● Grace Hopper found the fjrst computer bug, invented ● the predecessor of COBOL and the fjrst compiler 1941: Konrad Zuse completed the work on the Z3 ● First programmable electromechanical computer ● Punch fjlm for program and data (lack of paper) ● Mapping of Boolean algebra to relays, developed independently ● from original Shannon work Plankalkül – programming language ● Operating Systems 9

  8. Von Neumann Architecture 1946: ENIAC as fjrst 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 ● Operating Systems 10

  9. 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 fjlling the program memory ● Program had complete control of the machine ● for the entire run-time Manual reservation, user either fjnished early ● (wasted time) or could not debug their problem Long setup time - ● Job may involve running the compiler program fjrst and feeding in the output again Operating Systems 11

  10. 1 st Idea: Batch Processing A job control language (JCL) operates the monitor ● application Instructions about the compiler to use, data to work on ● etc. (Fortran prefjx $) 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 ) Operating Systems 13

  11. 2 nd 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 Operating Systems 14

  12. 2 nd Idea: Multiprogramming Operating Systems 15

  13. 2 nd 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 Operating Systems 16

  14. 3 rd 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 ● Operating Systems 17

  15. Time Sharing – CTSS & MULTICS Compatible Time-Sharing System (CTSS) ● Operating system developed at MIT, fjrst 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 ● Operating Systems 18

  16. Time Sharing – CTSS & MULTICS Source Code: https://gitlab.hpi.de/osm-teaching/opsys19labs/multics ● https://gitlab.hpi.de/osm-teaching/opsys19labs/ctss ● … and more Operating Systems 19

  17. Genealogy of Operating Systems https://www.tele-task.de/lecture/video/7083/ IBSYS IOCS 55 from 49:50 60 CTSS DOS/360 OS/360 65 MULTICS CP/CM5 RSX-11M UNIX 70 TSO RT-11 CP/M UNIXV.7 VMS 1.0 75 DOS/VSE MVS/370 VM/370 4.1BSD XENIX MS-DOS 1.0 SYSTEM III DR/DOS SUN OS 80 4.2BSD VSE MVS/XA VM/XA SYSTEM V AIX OS/2 POSIX MACH WIN 3.0 85 OSF/1 4.3BSD VMS 5.4 WIN 3.1 AIX/370 SYSTEM V.4 VSE/ESA MVS/ESA VM/ESA 90 AIX/ESA SOLARIS 2 GNU/LINUX 4.4BSD WIN NT WIN 9X OS/390 95 z/VSE z/VM VMS 7.3 WIN 2000 z/OS 00 GNU/LINUX 2.6 WIN XP SOLARIS 10 WIN Server 2003 03 Operating Systems 20

  18. Unnamed PDP-7 operating system 1969 1969 Open source Genealogy of Unix (simplifjed) Unix 1971 to 1973 1971 to 1973 Mixed/shared source Version 1 to 4 Unix 1974 to 1975 1974 to 1975 Closed source PWB/Unix Version 5 to 6 1978 1978 BSD 1.0 to 2.0 Unix 1979 1979 Version 7 Unix/32V 1980 1980 BSD 3.0 to 4.1 Xenix System III 1981 1981 1.0 to 2.3 1982 1982 Xenix 3.0 BSD 4.2 SunOS 1983 1983 System V 1 to 1.1 R1 to R2 1984 SCO Xenix 1984 Unix 1985 Version 8 SCO Xenix 1985 System V AIX V/286 BSD 4.3 Unix-like systems R3 1986 1.0 HP-UX 1986 SunOS 1.0 to 1.2 SCO Xenix 1.2 to 3.0 Unix V/386 1987 1987 9 and 10 HP-UX (last versions BSD 4.3 System V 1988 1988 2.0 to 3.0 from T ahoe R4 Bell Labs) SCO Xenix 1989 1989 BSD Net/1 V/386 BSD 4.3 1990 Reno 1990 BSD Net/2 1991 1991 Linux 0.0.1 SunOS 4 Minix 386BSD 1.x NexTSTEP/ OPENSTEP 1992 HP-UX 1992 1.0 to 4.0 NetBSD 6 to 11 0.8 to 1.0 Linux BSD SCO UNIX UnixWare 1993 0.95 to 1.2.x 4.4-Lite 1993 3.2.4 1.x to 2.x & FreeBSD (System V 1994 1994 Lite Release 2 1.0 to R4.2) 2.2.x NetBSD 1995 OpenBSD 1995 OpenServer 1.1 to 1.2 1.0 to 2.2 Solaris 5.0 to 5.04 1996 2.1 to 9 1996 1997 1997 NetBSD 1.3 FreeBSD 1998 1998 3.0 to 3.2 OpenServer Minix Mac OS X 1999 AIX 1999 5.0.5 to 5.0.7 2.x Server 3.0-7.2 2000 2000 2001 to 2004 2001 to 2004 Linux 2.x 2005 2005 UnixWare 7.x 2006 to 2007 (System V 2006 to 2007 R5) OpenBSD 2.3-6.1 Solaris 2008 2008 Mac OS X, FreeBSD NetBSD 10 OS X, 3.3-11.x OpenServer 1.3-7.1 HP-UX 2009 macOS 6.x 11i+ 2009 DragonFly 10.0 to 10.12 Minix BSD 2010 (Darwin 2010 3.1.0-3.4.0 1.0 to 4.8 1.2.1 to 17) Operating Systems 21 OpenSolaris & derivatives 2011 2011 (illumos, etc.) Linux 2012 to 2015 2012 to 2015 3.x Solaris 11.0-11.3 2016 2016 Linux 4.x OpenServer 2017 2017 10.x

  19. Unix History https://www.tuhs.org/ Operating Systems 22

  20. Genealogy of Linux https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg (too large for this slide) Operating Systems 23

  21. Genealogy of Operating Systems https://www.tele-task.de/lecture/video/7083/ IBSYS IOCS 55 from 49:50 60 CTSS DOS/360 OS/360 65 MULTICS CP/CM5 RSX-11M UNIX 70 TSO RT-11 CP/M UNIXV.7 VMS 1.0 75 DOS/VSE MVS/370 VM/370 4.1BSD XENIX MS-DOS 1.0 SYSTEM III DR/DOS SUN OS 80 4.2BSD VSE MVS/XA VM/XA SYSTEM V AIX OS/2 POSIX MACH WIN 3.0 85 OSF/1 4.3BSD VMS 5.4 WIN 3.1 AIX/370 SYSTEM V.4 VSE/ESA MVS/ESA VM/ESA 90 AIX/ESA SOLARIS 2 GNU/LINUX 4.4BSD WIN NT WIN 9X OS/390 95 z/VSE z/VM VMS 7.3 WIN 2000 z/OS 00 GNU/LINUX 2.6 WIN XP SOLARIS 10 WIN Server 2003 03 Operating Systems 24

  22. POSIX ● family of standards for maintaining compatibility between operating systems ● on source code level ● on system tools level ● Specifjcation follows existing UNIX implementations ● committee does not invent functionality Operating Systems 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend