copyright ©: nahrstedt, angrave, abdelzaher1 operating system overview tarek abdelzaher lawrence...

46
Copyright ©: Nahrstedt, Angrave, Abdelzaher 1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Upload: derrick-simmons

Post on 18-Jan-2018

214 views

Category:

Documents


0 download

DESCRIPTION

Copyright ©: Nahrstedt, Angrave, Abdelzaher 3 Today’s Applications BrowserSecond Life Yahoo Chat Client Pop Mail Application Software HardwareNetwork

TRANSCRIPT

Page 1: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher 1

Operating System Overview

Tarek AbdelzaherLawrence Angrave

Vikram Adve

Page 2: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

2

Today’s Objectives By the end of the hour you should be able to:

Explain the main purpose of operating systems and describe milestones of OS evolution

Explain fundamental machine concepts such as: Instruction processing, Memory hierarchy, Interrupts, and I/O

Explain fundamental OS concepts such as: System calls, processes, synchronization, Files

Explain the POSIX standard (UNIX specification)

Page 3: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

3

Today’s Applications

Browser Second Life YahooChat Client Pop Mail

Application Software

Hardware Network

Page 4: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

4

Application Requirements

Browser Second Life YahooChat Client Pop Mail

Application Software

Hardware Network

Read

/writ

e

Display

Print

Store Send/receive

Page 5: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

5

Browser Second Life YahooChat Client Pop Mail

Application Software

Hardware Network

Read

/writ

e

Display

Print

StoreRead

/writ

eDi

spla

y PrintStore

Send/receive

Send/receive

Application Requirements

Page 6: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

6

Browser Second Life YahooChat Client Pop Mail

Application Software

Hardware NetworkRead/write

Display

Print

StoreRead

/writ

eDi

spla

y PrintStore

Send/receive

Send/receiveRead

/writ

e

Display

Print

Stor

e Send/receiveApplication Requirements

Page 7: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

7

Browser Second Life YahooChat Client Pop Mail

Application Software

Hardware NetworkRead/write

Display

Print

StoreRead

/writ

eDi

spla

y PrintStore

Send/receive

Send/receiveRead

/writ

e

Display

Print

Stor

e Send/receive

Send/receiveDisplay

Store

PrintRead/write

Application Requirements

Page 8: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

8

Delegate Common Functions?

Browser Second Life YahooChat Client Pop Mail

Application Software

Hardware NetworkRead/write

Display

Print

StoreRead

/writ

eDi

spla

y PrintStore

Send/receive

Send/receiveRead

/writ

e

Display

Print

Stor

e Send/receive

Send/receiveDisplay

Store

PrintRead/write

Page 9: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

9

Delegate Common Functions to an Operating System

Web Server Second Life YahooChat Pop Mail

Application Software

Operating System

NetworkHardware

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Page 10: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

10

OS Exports a Virtual Machine Interface

Web Server Second Life YahooChat Pop Mail

Application Software

Operating System

NetworkHardware

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Standard Operating System Interface (Virtual Machine)

Page 11: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

11

Increase Portability = Minimize Machine-Specific Code

Web Server Second Life YahooChat Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)

Page 12: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

12

Web Server Second Life YahooChat Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)

Port

able

Increase Portability = Minimize Machine-Specific Code

Page 13: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

13

Web Server Second Life YahooChat Pop Mail

Application Software

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)

Port

able

OS Runs on Multiple Platforms while Presenting same Interface

Page 14: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

14

Web Server Second Life YahooChat Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Operating System (machine independent part)Standard Operating System Interface (Virtual Machine)

Port

able

OS Runs on Multiple Platforms while Presenting same Interface

Page 15: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

15

POSIX – The UNIX Interface Standard

Web Server Second Life YahooChat Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/Write StandardOutput

DeviceControl

FileSystem Communication

Operating System (machine independent part)The POSIX Standard Specifies UNIX Interface

Port

able

Page 16: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

16

A peek into Unix

Application

Portable OS Layer

Libraries

Machine-dependent layer

User space/level

Kernel space/level

• User/kernel modes are supported by hardware

•Some systems do not have clear user-kernel boundary

Page 17: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

17

Unix: Application

Application (E.g., emacs)

Portable OS Layer

Libraries

Machine-dependent layer

Written by programmerCompiled by programmerUses function calls

Page 18: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

18

Unix: Libraries

Application

Portable OS Layer

Libraries (e.g., stdio.h)

Machine-dependent layer

Provided pre-compiledDefined in headersInput to linker (compiler)Invoked like functionsMay be “resolved” when

program is loaded

Page 19: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

19

Typical Unix OS Structure

Application

Portable OS Layer

Libraries

Machine-dependent layer

system calls (read, open..)All “high-level” code

Page 20: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

20

Typical Unix OS Structure

Application

Portable OS Layer

Libraries

Machine-dependent layer

BootstrapSystem initializationInterrupt and exception I/O device driverMemory managementKernel/user mode

switchingProcessor management

Page 21: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

21

Summary:What is an Operating System?

It is an extended machine Hides the messy details which must be performed Presents user with a virtual machine, easier to use

It is a resource manager Each program gets time with the resource Each program gets space on the resource

Page 22: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

22

History of Operating Systems

Early systems bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output

Batch Multiprogramming Time sharing Personal

Page 23: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

23

History of Operating Systems

Structure of a typical job – 2nd generation

Page 24: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

24

History of Operating Systems

Multiprogramming/timesharing system – three jobs in memory – 3rd generation

Page 25: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

25

History of Operating Systems

Multiprogramming/timesharing system – three jobs in memory – 3rd generation

Memory Management

Process Management

Page 26: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

26

History of Computer Generations

First generation 1945 – 1955 vacuum tubes, plug boards

Second generation 1955 - 1965 transistors, batch systems

Third generation 1965 – 1980 ICs and multiprogramming

Fourth generation 1980 – present personal computers

Page 27: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

27

Computer Hardware Review

Components of a simple personal computer

Bus

Page 28: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

28

Large Pentium system

Page 29: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

29

Computer Hardware Review

Components of a simple personal computer

BusCPU

Page 30: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

30

CPU Fetch instruction from code memory Fetch operands from data memory Perform operation (and store result) Go to next instruction

Page 31: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

31

CPU Registers Fetch instruction from code memory Fetch operands from data memory Perform operation (and store result) Go to next instruction

Note: CPU must maintain certain state Current instructions to fetch (program

counter) Location of code memory segment Location of data memory segment

Page 32: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

32

CPU Register Examples Hold instruction operands Point to start of

Code segment Data segment Stack segment

Point to current position of Instruction pointer Stack pointer

Page 33: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

33

CPU Register Examples Hold instruction operands Point to start of

Code segment Data segment Stack segment

Point to current position of Instruction pointer Stack pointer

Why stack?

Page 34: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

34

Code Layout for Process

Processes have three segments: text, data, stack

Page 35: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

35

Code Layout for Process

Processes have three segments: text, data, stack

Where is this stored?

Page 36: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

36

Memory Hierarchy

Typical memory hierarchy– numbers shown are rough approximations

Page 37: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

37

Computer Hardware Review

Components of a simple personal computer

BusCPU

Page 38: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

38

Computer Hardware Review

Components of a simple personal computer

Bus

CPU Memory

Page 39: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

39

Computer Hardware Review

Components of a simple personal computer

BusCPU Memory I/O

Devices

Page 40: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

40

I/O Interrupt Mechanism

(a)

a) Steps in starting an I/O device and getting interrupt

b) How the CPU is interrupted

(b)

Page 41: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

41

Computer Hardware ReviewExample I/O Device: Disk

Structure of a disk drive

Page 42: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

42

Operating System Review:Processes

A process tree A created two child processes, B and C B created three child processes, D, E, and F

Page 43: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

43

Context Switching How would you switch CPU execution

from one process to another?

Page 44: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

44

Semaphores Control access to resources

Page 45: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

45

Shared Resources, Conflicts, and Deadlocks

(a) A potential deadlock. (b) an actual deadlock.

Page 46: Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve

Copyright ©: Nahrstedt, Angrave, Abdelzaher

46

Inter-process Communication

Two processes connected by a pipe