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

cs 423 operating system design overview and basic concepts
SMART_READER_LITE
LIVE PREVIEW

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:


slide-1
SLIDE 1

CS423: Operating Systems Design

Professor Adam Bates Fall 2018

CS 423
 Operating System Design:
 Overview and Basic Concepts

slide-2
SLIDE 2

CS 423: Operating Systems Design 2

  • 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)

Goals for Today

Reminder: Please put away devices at the start of class

slide-3
SLIDE 3

CS 423: Operating Systems Design 3

  • Announcements continued:
  • TA Office Hours: Monday 3-5pm
  • Room: Siebel Center 0207
  • Go here for MP questions!

Goals for Today

Reminder: Please put away devices at the start of class Alberto (TA)

slide-4
SLIDE 4

CS 423: Operating Systems Design

Piazza Questions

4

Can I register for the C4 class? HW0 not available!

slide-5
SLIDE 5

CS 423: Operating Systems Design 5

What is an operating system?

slide-6
SLIDE 6

CS 423: Operating Systems Design 6

Why Operating Systems?

Software to manage a computer’s resources for its users and applications.

Web Server Browser Slack Pop Mail Application Software Operating System Network Hardware

Read/Write Standard Output Device Control File System Communication

slide-7
SLIDE 7

CS 423: Operating Systems Design 7

Why Operating Systems?

Software to manage a computer’s resources for its users and applications.

Web Server Browser Slack Pop Mail Application Software Operating System Network Hardware

Read/Write Standard Output Device Control File System Communication System Library System Library System Library System Library

slide-8
SLIDE 8

CS 423: Operating Systems Design

The OS exports a user interface. Why?

8

Why Operating Systems?

Web Server Browser Slack Pop Mail Application Software Operating System Network Hardware

Read/Write Standard Output Device Control File System Communication

Standard Operating System Interface

System Library System Library System Library System Library

slide-9
SLIDE 9

CS 423: Operating Systems Design

Standard interface increases portability and reduces the need for machine-specific code.

9

Why Operating Systems?

Web Server Browser Slack Pop Mail Application Software

Network Hardware

Machine specific part

Read/Write Standard Output Device Control File System Communication

Operating System (machine independent part)

Standard Operating System Interface

System Library System Library System Library System Library

slide-10
SLIDE 10

CS 423: Operating Systems Design 10

Network Hardware

Machine specific part

Web Server Browser Slack Pop Mail Application Software

Read/Write Standard Output Device Control File System Communication

Operating System (machine independent part)

Standard Operating System Interface

Hardware Abstraction Layer

Why Operating Systems?

OS Runs on Multiple Platforms while presenting the same Interface:

slide-11
SLIDE 11

CS 423: Operating Systems Design 11

What are the responsibilities

  • f an operating system?
slide-12
SLIDE 12

CS423: Operating Systems Design

Operating System Roles

Role #1: Referee

  • Manage resource alloca3on between users

and applica3ons

  • Isolate different users and applica3ons from
  • ne another
  • Facilitate and mediate communica3on

between different users and applica3ons

12

slide-13
SLIDE 13

CS423: Operating Systems Design

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
  • f processors, (near) infinite memory
  • Abstract away complexity of reliability,

storage, network communica3on…

13

slide-14
SLIDE 14

CS423: Operating Systems Design

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?

14

slide-15
SLIDE 15

CS423: Operating Systems Design

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...

15

slide-16
SLIDE 16

CS 423: Operating Systems Design 16

How is the OS a referee? An illusionist? Glue?

Consider file systems and storage devices…

slide-17
SLIDE 17

CS 423: Operating Systems Design

Ex: File System Support

17

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
  • f a save

Glue

  • Named directories, prinW, other system calls for File I/O
slide-18
SLIDE 18

CS423: Operating Systems Design

A Question

18

What does an OS need to do in

  • rder safely run

an untrustworthy application?

slide-19
SLIDE 19

CS423: Operating Systems Design

Another Question

19

H o w s h o u l d a n

  • perating system

allocate processing t i m e b e t w e e n competing uses?

slide-20
SLIDE 20

CS 423: Operating Systems Design

Example: Web Service

20

Client Server index.html (1)

HTTP GET index.html

(4)

HTTP web page

(2)

Read file: index.html

(3)

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?

slide-21
SLIDE 21

CS423: Operating Systems Design

OS Challenges

21

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
slide-22
SLIDE 22

CS423: Operating Systems Design

OS Challenges

22

Portability

  • For programs:

Applica3on programming interface (API) Abstract virtual machine (AVM)

  • For hardware

Hardware abstrac3on layer

TCP/IP Networking Virtual Memory Hardware-Specific Software and Device Drivers File System Scheduling Graphics Processor Address Translation Processors Network

Hardware Users User-mode Kernel-mode

Kernel-user Interface (Abstract virtual machine) Hardware Abstraction Layer APP System Library APP System Library APP System Library Disk

slide-23
SLIDE 23

CS423: Operating Systems Design

OS Challenges

23

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?

slide-24
SLIDE 24

CS423: Operating Systems Design

OS Family Tree

24 Descendant Influence

MVS Multics MS/DOS VM/370 VMS UNIX Windows BSD UNIX Mach Windows NT VMWare Linux NEXT MacOS iOS Android Windows 8 MacOS X

slide-25
SLIDE 25

CS423: Operating Systems Design

Performance / Time

25

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

slide-26
SLIDE 26

CS423: Operating Systems Design

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

26

slide-27
SLIDE 27

CS423: Operating Systems Design

Time-Sharing OSs

27

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

slide-28
SLIDE 28

CS423: Operating Systems Design

Today’s OSs

28

  • Smartphones
  • Embedded systems
  • Laptops
  • Tablets
  • Virtual machines
  • Data center servers
slide-29
SLIDE 29

CS423: Operating Systems Design

Tomorrow’s OSs

29

  • Giant-scale data centers
  • Increasing numbers of processors per

computer

  • Increasing numbers of computers per user
  • Very large scale storage