cs 423 operating system design overview and basic concepts
play

CS 423 Operating System Design: Overview and Basic Concepts - PowerPoint PPT Presentation

CS 423 Operating System Design: Overview and Basic Concepts Professor Adam Bates Fall 2018 CS423: Operating Systems Design Goals for Today Learning Objectives: Introduce OS definition, challenges, and history Announcements:


  1. CS 423 
 Operating System Design: 
 Overview and Basic Concepts Professor Adam Bates Fall 2018 CS423: Operating Systems Design

  2. Goals for Today • Learning Objectives: • Introduce OS definition, challenges, and history • Announcements: • C4 readings for Week 2 are out! Due Jan 25 (UTC-11) • HW0 is available on Compass! Due Jan 25 (UTC-11) • MP0 is available for review on Compass! Due Jan 27 (UTC-11) Reminder : Please put away devices at the start of class CS 423: Operating Systems Design 2

  3. Goals for Today • Announcements continued: • TA Office Hours: Monday 3-5pm • Room: Siebel Center 0207 • Go here for MP questions! Alberto (TA) Reminder : Please put away devices at the start of class CS 423: Operating Systems Design 3

  4. Piazza Questions Can I register for HW0 not the C4 class? available! CS 423: Operating Systems Design 4

  5. What is an operating system? CS 423: Operating Systems Design 5

  6. Why Operating Systems? Software to manage a computer’s resources for its users and applications. Application Software Web Server Browser Slack Pop Mail Operating System Standard Device File Read/Write Communication Output Control System Hardware Network CS 423: Operating Systems Design 6

  7. Why Operating Systems? Software to manage a computer’s resources for its users and applications. Application Software Web Server Browser Slack Pop Mail System Library System Library System Library System Library Operating System Standard Device File Read/Write Communication Output Control System Hardware Network CS 423: Operating Systems Design 7

  8. Why Operating Systems? The OS exports a user interface. Why? Application Software Web Server Browser Slack Pop Mail System Library System Library System Library System Library Standard Operating System Interface Operating System Standard Device File Read/Write Communication Output Control System Hardware Network CS 423: Operating Systems Design 8

  9. Why Operating Systems? Standard interface increases portability and reduces the need for machine-specific code. Application Software Web Server Browser Slack Pop Mail System Library System Library System Library System Library Standard Operating System Interface Operating System (machine independent part) Standard Device File Read/Write Communication Output Control System Machine specific part Network Hardware CS 423: Operating Systems Design 9

  10. Why Operating Systems? OS Runs on Multiple Platforms while presenting the same Interface: Application Software Web Server Browser Slack Pop Mail Standard Operating System Interface Abstraction Hardware Operating System (machine independent part) Layer Standard Device File Read/Write Communication Output Control System Machine specific part Network Hardware CS 423: Operating Systems Design 10

  11. What are the responsibilities of an operating system? CS 423: Operating Systems Design 11

  12. Operating System Roles Role #1: Referee • Manage resource alloca3on between users and applica3ons • Isolate different users and applica3ons from one another • Facilitate and mediate communica3on between different users and applica3ons CS423: Operating Systems Design 12

  13. Operating System Roles Role #2: Illusionist • Allow each applica3on to believe it has the en3re machine to itself • Create the appearance of an Infinite number of processors, (near) infinite memory • Abstract away complexity of reliability, storage, network communica3on… CS423: Operating Systems Design 13

  14. Operating System Roles Role #3: Glue • Manage hardware so applica3ons can be machine-agnos3c • Provide a set of common services that facilitate sharing among applica3ons • Examples of “Glue” OS Services? CS423: Operating Systems Design 14

  15. Operating System Roles Role #3: Glue • Manage hardware so applica3ons can be machine-agnos3c • Provide a set of common services that facilitate sharing among applica3ons • Examples of “Glue” OS Services? • Cut-and-paste, File I/O, User Interfaces... CS423: Operating Systems Design 15

  16. Consider file systems and storage devices… How is the OS a referee? An illusionist? Glue? CS 423: Operating Systems Design 16

  17. Ex: File System Support Referee • Prevent users from accessing each other’s files without permission • Even aUer a file is dele3ng and its space re-used Illusionist • Files can grow (nearly) arbitrarily large • Files persist even when the machine crashes in the middle of a save Glue • Named directories, prinW, other system calls for File I/O CS 423: Operating Systems Design 17

  18. A Question What does an OS need to do in order safely run an untrustworthy application? CS423: Operating Systems Design 18

  19. Another Question H o w s h o u l d a n operating system allocate processing t i m e b e t w e e n competing uses? CS423: Operating Systems Design 19

  20. Example: Web Service (1) (2) HTTP GET index.html Read file: index.html Client Server index.html (4) (3) HTTP web page File data • How does the server manage many simultaneous client requests? • How do we keep the client safe from spyware embedded in scripts on a web site? • How do handles updates to the web site such that clients always see a consistent view? CS 423: Operating Systems Design 20

  21. OS Challenges Reliability • Does the system do what it was designed to do? Availability • What por3on of the 3me is the system working? • Mean Time To Failure (MTTF), Mean Time to Repair Security • Can the system be compromised by an a^acker? Privacy • Data is accessible only to authorized users CS423: Operating Systems Design 21

  22. OS Challenges Portability • For programs: Applica3on programming interface (API) Abstract virtual machine (AVM) • For hardware Users Hardware abstrac3on layer User-mode APP APP APP System System System Library Library Library Kernel-user Interface Kernel-mode (Abstract virtual machine) File System Virtual Memory TCP/IP Networking Scheduling Hardware Abstraction Layer Hardware-Specific Software and Device Drivers Hardware Processors Address Translation Disk Graphics Processor Network CS423: Operating Systems Design 22

  23. OS Challenges Performance Latency/response 3me How long does an opera3on take to complete? Throughput How many opera3ons can be done per unit of 3me? Overhead How much extra work is done by the OS? Fairness How equal is the performance received by different users? Predictability How consistent is the performance over 3me? CS423: Operating Systems Design 23

  24. OS Family Tree Multics MVS MS/DOS VMS VM/370 UNIX Windows BSD UNIX Mach Windows NT VMWare Linux NEXT MacOS Windows 8 MacOS X Influence Android iOS Descendant CS423: Operating Systems Design 24

  25. Performance / Time Factor 1981 1997 2014 (2014/1981) Uniprocessor speed (MIPS) 1 200 2500 2.5K 1 1 10+ 10+ CPUs per computer $100K $25 $0.20 500K Processor MIPS/$ 0.002 2 1K 500K DRAM Capacity (MiB)/$ 0.003 7 25K 10M Disk Capacity (GiB)/$ 300 bps 256 Kbps 20 Mbps 100K Home Internet 10 Mbps 100 Mbps 10 Gbps 1000 Machine room network (shared) (switched) (switched) Ratio of users 100:1 1:1 1:several 100+ to computers CS423: Operating Systems Design 25

  26. Early Operating Systems One applica3on at a 3me • Had complete control of hardware • OS was run3me library • Users would stand in line to use the computer Batch systems • Keep CPU busy by having a queue of jobs • OS would load next job while current one runs • Users would submit jobs, and wait, and wait, and CS423: Operating Systems Design 26

  27. Time-Sharing OSs Mul3ple users on computer at same 3me • Mul3programming: run mul3ple programs at same 3me • Interac3ve performance: try to complete everyone’s tasks quickly • As computers became cheaper, more important to op3mize for user 3me, not computer 3me CS423: Operating Systems Design 27

  28. Today’s OSs • Smartphones • Embedded systems • Laptops • Tablets • Virtual machines • Data center servers CS423: Operating Systems Design 28

  29. Tomorrow’s OSs • Giant-scale data centers • Increasing numbers of processors per computer • Increasing numbers of computers per user • Very large scale storage CS423: Operating Systems Design 29

Recommend


More recommend