1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems...

Preview:

Citation preview

1

Operating System Overview

2

Today’s Objectives 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)

3

Today’s Applications

Browser Second LifeYahoo

Chat ClientPop Mail

Application Software

Hardware Network

4

Application Requirements

Browser Second LifeYahoo

Chat ClientPop Mail

Application Software

Hardware Network

Read/w

rite

Display

Print

Store Send/receive

5

Browser Second LifeYahoo

Chat ClientPop Mail

Application Software

Hardware Network

Read/w

rite

Display

Print

StoreRead

/writ

eD

ispla

y

PrintStore

Send/receive

Send/receive

Application Requirements

6

Browser Second LifeYahoo

Chat ClientPop Mail

Application Software

Hardware NetworkRead/w

rite

Display

Print

StoreRead

/writ

eD

ispla

y

PrintStore

Send/receive

Send/receiveRead/w

rite

Display

Prin

tSto

re Send/receive

Application Requirements

7

Browser Second LifeYahoo

Chat ClientPop Mail

Application Software

Hardware NetworkRead/w

rite

Display

Print

StoreRead

/writ

eD

ispla

y

PrintStore

Send/receive

Send/receiveRead/w

rite

Display

Prin

tSto

re Send/receive

Send/re

ceiv

e

Display

Stor

e

Prin

tRead/write

Application Requirements

8

Delegate Common Functions?

Browser Second LifeYahoo

Chat ClientPop Mail

Application Software

Hardware NetworkRead/w

rite

Display

Print

StoreRead

/writ

eD

ispla

y

PrintStore

Send/receive

Send/receiveRead/w

rite

Display

Prin

tSto

re Send/receive

Send/re

ceiv

e

Display

Stor

e

Prin

tRead/write

9

Delegate Common Functions to an Operating System

Web Server Second LifeYahooChat

Pop Mail

Application Software

Operating System

NetworkHardware

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

10

OS Exports a Virtual Machine Interface

Web Server Second LifeYahooChat

Pop Mail

Application Software

Operating System

NetworkHardware

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

Standard Operating System Interface (Virtual Machine)

11

Increase Portability = Minimize Machine-Specific Code

Web Server Second LifeYahooChat

Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

Operating System (machine independent part)

Standard Operating System Interface (Virtual Machine)

12

Web Server Second LifeYahooChat

Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

Operating System (machine independent part)

Standard Operating System Interface (Virtual Machine)

Port

ab

le

Increase Portability = Minimize Machine-Specific Code

13

Web Server Second LifeYahooChat

Pop Mail

Application Software

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

Operating System (machine independent part)

Standard Operating System Interface (Virtual Machine)

Port

ab

le

OS Runs on Multiple Platforms while Presenting same Interface

14

Web Server Second LifeYahooChat

Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

Operating System (machine independent part)

Standard Operating System Interface (Virtual Machine)

Port

ab

le

OS Runs on Multiple Platforms while Presenting same Interface

15

POSIX – The UNIX Interface Standard

Web Server Second LifeYahooChat

Pop Mail

Application Software

NetworkHardware

Machine specific part

Read/WriteStandardOutput

DeviceControl

FileSystem

Communication

Operating System (machine independent part)

The POSIX Standard Specifies UNIX Interface

Port

ab

le

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

17

Unix: Application

Application (E.g., emacs)

Portable OS Layer

Libraries

Machine-dependent layer

Written by programmerCompiled by programmerUses function calls

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

19

Typical Unix OS Structure

Application

Portable OS Layer

Libraries

Machine-dependent layer

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

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

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

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

23

History of Operating Systems

Structure of a typical job – 2nd generation

24

History of Operating Systems

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

25

History of Operating Systems

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

Memory Management

Process Management

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

27

Computer Hardware Review

Components of a simple personal computerBus

28

Large Pentium system

29

Computer Hardware Review

Components of a simple personal computer

Bus

CPU

30

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

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

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

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?

34

Code Layout for Process

Processes have three segments: text, data, stack

35

Code Layout for Process

Processes have three segments: text, data, stack

Where is this stored?

36

Computer Hardware Review

Components of a simple personal computer

BusCPU Memory

37

Memory Hierarchy

Typical memory hierarchy– numbers shown are rough approximations

38

Computer Hardware Review

Components of a simple personal computer

BusCPU Memory

I/ODevices

39

I/O Interrupt Mechanism

(a)

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

b) How the CPU is interrupted

(b)

40

Computer Hardware ReviewExample I/O Device: Disk

Structure of a disk drive

41

Operating System Review:Processes

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

42

Context Switching

How would you switch CPU execution from one process to another?

43

Semaphores

Control access to resources

44

Shared Resources, Conflicts, and Deadlocks

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

45

Inter-process Communication

Two processes connected by a pipe