cs 153 design of operating systemscsong/cs153/19f/l/history.pdf · phase 3: 1980s computers are...
TRANSCRIPT
![Page 1: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/1.jpg)
CS 153Design of Operating Systems
Fall 19
Lecture 2: Historical PerspectiveInstructor: Chengyu SongSlide contributions from
Nael Abu-Ghazaleh, Harsha Madhyvasta and Zhiyun Qian
![Page 2: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/2.jpg)
Questions for today● Why do we need operating systems course?
● Why do we need operating systems?
● What does an operating system need to do?
● Looking back, looking forward
2
![Page 3: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/3.jpg)
3
Why an OS class?● Why are we making you sit here today, having to
suffer through a course in operating systems?u After all, most of you will not become OS developers
● The concepts/problems are very generalu We also encounter these problems in our daily lifeu Many abstractions like threads and synchronization are used
pervasively in computer science● Learn about complex software systems
u Many of you will go on to work on large software projectsu OS serve as examples of an evolution of complex systems
● Understand what you use (and build!)u Understanding how an OS works helps you develop appsu System functionality, debugging, performance, security, etc.
![Page 4: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/4.jpg)
Questions for today● Why do we need operating systems course?
● Why do we need operating systems?
● What does an operating system need to do?
● Looking back, looking forward
4
![Page 5: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/5.jpg)
● What if applications ran directly on hardware?
● Problems:u Portability à OS Task 1: abstractionu Resource sharing à OS Task 2: multiplexing
Why have an OS?
5
Applications
Hardware
![Page 6: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/6.jpg)
● The operating system is the software layer between user applications and the hardware
● The OS is “all the code that you didn’t have to write” to implement your application
6
What is an OS?
Operating System
Hardware
Applications
![Page 7: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/7.jpg)
Questions for today● Why do we need operating systems course?
● Why do we need operating systems?
● What does an operating system need to do?
● Looking back, looking forward.
7
![Page 8: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/8.jpg)
8
Fundamental Issues● The fundamental issues/questions in this course are:
u Management: how to allocate and schedule resources?
u Performance: how to do better?
u Protections: how to make sure things won’t go wrong?
u Security: how to create a safe environment?
u Communication: how to enable collaboration?
u Reliability and fault tolerance: how to mask failures?
u Usability: how to enable the users/programs to do more?
![Page 9: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/9.jpg)
Basic Roles of an OS● Abstraction: defines a set of logical resources (objects)
and well-defined operations on them (interfaces)
● Virtualization: isolates and multiplexes physical resources via spatial and temporal sharing
● Control: who, when, howu Scheduling (when): efficiency and fairnessu Permissions (how): security and privacy
● Persistence: how to keep and share data9
![Page 10: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/10.jpg)
Questions for today● Why do we need operating systems course?
● Why do we need operating systems?
● What does an operating system need to do?
● Looking back, looking forward.
10
![Page 11: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/11.jpg)
Phase 0● In the beginning, OS is just runtime libraries (routines)
u A piece of code used/sharable by many programsu Abstraction: reuse magic to talk to physical devicesu Avoid bugs
● User scheduled an exclusive time where they would use the machine
● User interface was switches and lights, eventually punched tape and cardsu An interesting side effect: less bugs
11
![Page 12: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/12.jpg)
Phase 1: batch systems (1955-1970)
● Computers expensive; people cheapu Use computers efficiently – move people away from machine
● OS in this period became a program loaderu Loads a job, runs it, outputs result, then moves on to nextu More efficient use of hardware but increasingly difficult to debug
» Still less bugs J
12
![Page 13: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/13.jpg)
Advances in OS in this period
● SPOOLING/Multiprogrammingu Simultaneous Peripheral Operations On-Line (SPOOL)
» Non-blocking tasks
» Copy document to printer buffer so printer can work while CPU moves on to something else
u Hardware provided memory support (protection and relocation)
u Scheduling
u OS must manage interactions between concurrent things
● OS/360 from IBM first OS designed to run on a family of machines from small to large
13
![Page 14: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/14.jpg)
Phase 1, problems● Utilization is low (one job at a time)
● No protection between jobsu But one job at a time, so what can go wrong?
● Scheduling● Coordinating concurrent activities
● People time is still being wasted● Operating Systems didn’t really work
u The mythical man month
u Birth of software engineering
14
![Page 15: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/15.jpg)
Phase 2: 1970s● Computers and people are expensive
u Help people be more productive
● Interactive time sharing: let many people use the same machine at the same time
● Emergence of minicomputersu Terminals are cheap
● Persistence: keep data online on fancy file systems
15
![Page 16: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/16.jpg)
Unix appears● Ken Thompson, who worked on MULTICS, wanted to
use an old PDP-7 laying around in Bell labs
● He and Dennis Richie built a system designed by programmers for programmers
● Originally in assembly. Rewritten in Cu In their paper describing unix, they defend this decision!
u However, this is a new and important advance: portable operating systems!
● Shared code with everyone (particularly universities)
16
![Page 17: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/17.jpg)
Unix (cont’d)● Berkeley added support for virtual memory for the VAX
u Unix BSD
● DARPA selected Unix as its networking platform in arpanet
● Unix became commercialu …which eventually lead Linus Torvald to develop Linux
17
![Page 18: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/18.jpg)
Phase 3: 1980s ● Computers are cheap, people expensive
u Put a computer in each terminal
u CP/M from DEC first personal computer OS (for 8080/85) processors
u IBM needed software for their PCs, but CP/M was behind schedule
u Approached Bill Gates to see if he can build one
u Gates approached Seattle computer products, bought 86-DOS and created MS-DOS
u Goal: finish quickly and run existing CP/M software
u OS becomes subroutine library and command executive
18
![Page 19: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/19.jpg)
Phase 4: Networked/distributed systems--1990s to now?
● Its all about connectivity
● Enables parallelism but performance is not goal
● Goal is communication/sharing/power consumption/...u Requires high speed communication
u We want to share data not hardware
● Networked applications drive everythingu Web, email, messaging, social networks, …
u Chromebook
19
![Page 20: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/20.jpg)
New problems● Large scale
u Google file system, mapreduce, …
● Parallelism on the desktop (multicores)
● Heterogeneous systems, IoTu GPU, FPGA, …
u Real-time; energy efficiency
● Security and Privacy
20
![Page 21: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/21.jpg)
Phase 5● New generation?
● Computing evolving beyond networked systemsu Cloud computing, edge computing, IoT, wearable devices,
drones, cyber-physical systems, autonomous cars, computing everywhere
u But what is it?
u … and what problems will it bring?
21
![Page 22: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/22.jpg)
Where are we headed next?● How is the OS structured? Is it a special program? Or
something else?u How do other programs interact with it?
● How does it protect the system?u What does the architecture/hardware need to do to support it?
22
![Page 23: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/23.jpg)
23
Why start with architecture?● Recall: Key roles of an OS are
1) Wizard: isolation and resource virtualization2) Referee: efficiency, fairness, and security
● Architectural support can greatly simplify – or complicate – OS tasksu Easier for OS to implement a feature if supported by hardwareu OS needs to implement everything hardware doesn‘t
● OS evolution accompanies architecture evolutionu New software requirements motivate new hardwareu New hardware features enable new software
![Page 24: CS 153 Design of Operating Systemscsong/cs153/19f/l/history.pdf · Phase 3: 1980s Computers are cheap, people expensive u Put a computer in each terminal u CP/M from DEC first personal](https://reader034.vdocuments.mx/reader034/viewer/2022042321/5f0ac4527e708231d42d3d4c/html5/thumbnails/24.jpg)
For next class…● Continue to get familiar with xv6
u Chapter 0u Appendix A and B
26