Top Banner
Operating Systems: A Modern Perspective, Chapter 3 Slide 3- 1 Copyright © 2004 Pearson Education, Inc. 3 Operating System Organization
36

Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Dec 14, 2015

Download

Documents

Julio Stearns
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-1

Copyright © 2004 Pearson Education, Inc.

3Operating SystemOrganization

Page 2: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-2

Copyright © 2004 Pearson Education, Inc.

Purpose of an OS

The Abstractions

Create the Abstractions

Coordinate Useof the AbstractionsProcesses

Page 3: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-3

Copyright © 2004 Pearson Education, Inc.

Device Management

Device-IndependentPart

Device-IndependentPart

Device-DependentPart

Device-DependentPart

Device …Device Device

Device-DependentPart

Device-DependentPart

Device-DependentPart

Device-DependentPart

Page 4: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-4

Copyright © 2004 Pearson Education, Inc.

Process, Thread, and Resource Management

…Processor

PrimaryMemory

AbstractResources

MultiprogrammingMultiprogramming

ThreadAbstraction

ThreadAbstraction

ProcessAbstraction

ProcessAbstraction Generic

ResourceManager

GenericResourceManager

OtherOther

Page 5: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-5

Copyright © 2004 Pearson Education, Inc.

Memory Management

PrimaryMemory

ProcessManager

ProcessManager

BlockAllocation

BlockAllocation

VirtualMemory

VirtualMemory

Isolation &Sharing

Isolation &Sharing

StorageDevices

Page 6: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-6

Copyright © 2004 Pearson Education, Inc.

Exclusive Access to a Resource

Process AProcess A

SupervisorProgram

SupervisorProgram

A’s ProtectedObject

A’s ProtectedObject

Processor

Process BProcess B

Page 7: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-7

Copyright © 2004 Pearson Education, Inc.

Kernels

• The part of the OS critical to correct operation (trusted software)

• Executes in supervisor mode

• The trap instruction is used to switch from user to supervisor mode, entering the OS

Page 8: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-8

Copyright © 2004 Pearson Education, Inc.

Supervisor and User Memory

UserSpace

UserSpace

SupervisorSpace

SupervisorSpace

UserProcess

UserProcess

SupervisorProcess

SupervisorProcess

Page 9: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-9

Copyright © 2004 Pearson Education, Inc.

Procedure Call and Message Passing Operating Systems

call(…);

trap

return;

send(…, A, …);receive(…, B, …);

receive(…A, …); …send(…, B, …);

send/receive

Page 10: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-10

Copyright © 2004 Pearson Education, Inc.

System Call Using the trap Instruction

…fork();…

fork() {…trap N_SYS_FORK()…}

sys_fork()

sys_fork() {/* system function */ … return;}

KernelTrap Table

Page 11: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-11

Copyright © 2004 Pearson Education, Inc.

A Thread Performing a System Call

User Space Kernel Space

fork();

sys_fork() {

}

Thread

Page 12: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-12

Copyright © 2004 Pearson Education, Inc.

Basic Operating System Organization

Processor(s) Main Memory Devices

Process, Thread &Resource Manager

MemoryManager

DeviceManager

FileManager

Page 13: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-13

Copyright © 2004 Pearson Education, Inc.

LibrariesLibraries CommandsCommands

Device DriverDevice Driver

The UNIX ArchitectureInteractive User

ApplicationPrograms

ApplicationPrograms

OS System Call Interface

Device DriverDevice Driver

Device DriverDevice Driver

Dri

ver

Inte

rfac

eD

rive

r In

terf

ace

…Monolithic Kernel Module•Process Management•Memory Management•File Management•Device Mgmt Infrastructure

Trap Table

Page 14: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-14

Copyright © 2004 Pearson Education, Inc.

Windows NT Organization

Processor(s) Main Memory Devices

LibrariesLibraries

ProcessProcess

ProcessProcess

ProcessProcess

SubsystemSubsystemUser

Supervisor

SubsystemSubsystem SubsystemSubsystem

Hardware Abstraction LayerHardware Abstraction LayerNT Kernel

NT ExecutiveI/O SubsystemI/O Subsystem

TT

TT

TT T T

T

Process ManagementMemory ManagementFile ManagementDevice Mgmt Infrastructure

Page 15: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-15

Copyright © 2004 Pearson Education, Inc.

4ComputerOrganization

Page 16: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-16

Copyright © 2004 Pearson Education, Inc.

Stored Program Computers and

Electronic Devices

Pattern

Fixed Electronic Device

Variable Program

Stored Program Device

Jacquard Loom

Page 17: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-17

Copyright © 2004 Pearson Education, Inc.

The von Neumann Architecture

Control Unit(CU)

Central Processing Unit (CPU)

DeviceDevice

Address BusData Bus

Arithmetical Logical Unit(ALU)

Primary Memory Unit(Executable

Memory)

Page 18: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-18

Copyright © 2004 Pearson Education, Inc.

The ALU

R1R2

Rn

. . .

Status RegistersFunctional Unit

Left Operand

Right Operand

Result

To/from Primary Memory

load R3,bload R4,cadd R3,R4store R3,a

Page 19: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-19

Copyright © 2004 Pearson Education, Inc.

Control Unit

3046305030543058

Primary Memory

Fetch UnitFetch Unit

Decode UnitDecode Unit

Execute UnitExecute Unit

PC

IR

Control Unit

load R3,bload R4,cadd R3,R4store R3,a

10111001001100…110111001010000…010100111001100…010111010001100…1load R4, c

3050

Page 20: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-20

Copyright © 2004 Pearson Education, Inc.

Control Unit Operation

PC = <machine start address>;IR = memory[PC];haltFlag = CLEAR;while(haltFlag not SET) { execute(IR); PC = PC + sizeof(INSTRUCT); IR = memory[PC]; // fetch phase};

• Fetch phase: Instruction retrieved from memory

• Execute phase: ALU op, memory data reference, I/O, etc.

Page 21: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-21

Copyright © 2004 Pearson Education, Inc.

Primary Memory Unit

MAR

MDR

Command

012

n-1

1234 98765Read Op:

1234

1. Load MAR with address

read

2. Load Command with “read”

98765

3. Data will then appear in the MDR

Address Register

Data Register

Page 22: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-22

Copyright © 2004 Pearson Education, Inc.

The Device-Controller-Software Relationship

Application Program

Device ControllerDevice Controller

DeviceDevice

Sof

twar

e in

the

CP

U

Abstract I/O Machine

•Device manager•Program to manage device controller•Supervisor mode software

Page 23: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-23

Copyright © 2004 Pearson Education, Inc.

Device Controller Interface

CommandCommand StatusStatusData 0Data 0

Data 1Data 1

Data n-1Data n-1LogicLogic

busy done Error code . . .. . .busy done 0 0 idle 0 1 finished 1 0 working 1 1 (undefined)

Page 24: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-24

Copyright © 2004 Pearson Education, Inc.

CPU-I/O Overlap

CPUCPU

DeviceDevice

Rea

dy P

roce

sses

CPUCPU

DeviceDevice

Rea

dy P

roce

sses

I/O Operation

CPUCPU

DeviceDevice

Rea

dy P

roce

sses

Uses CPU

Page 25: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-25

Copyright © 2004 Pearson Education, Inc.

Determining When I/O is Complete

CPUCPU

DeviceDevice DeviceDevice DeviceDevice

Interrupt Pending

• CPU incorporates an “interrupt pending” flag• When device.busy FALSE, interrupt pending flag is set• Hardware “tells” OS that the interrupt occurred• Interrupt handler part of the OS makes process ready to run

Page 26: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-26

Copyright © 2004 Pearson Education, Inc.

Control Unit with Interrupt (Hardware)

PC = <machine start address>;IR = memory[PC];haltFlag = CLEAR;while(haltFlag not SET) { execute(IR); PC = PC + sizeof(INSTRUCT); IR = memory[PC]; if(InterruptRequest) { memory[0] = PC; PC = memory[1]};

memory[1] contains the address of the interrupt handler

Page 27: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-27

Copyright © 2004 Pearson Education, Inc.

Interrupt Handler (Software)

interruptHandler() { saveProcessorState(); for(i=0; i<NumberOfDevices; i++) if(device[i].done) goto deviceHandler(i); /* something wrong if we get to here … */

deviceHandler(int i) { finishOperation(); returnToScheduler();}

Page 28: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-28

Copyright © 2004 Pearson Education, Inc.

A Race Condition

saveProcessorState() { for(i=0; i<NumberOfRegisters; i++) memory[K+i] = R[i]; for(i=0; i<NumberOfStatusRegisters; i++) memory[K+NumberOfRegisters+i] = StatusRegister[i];}

PC = <machine start address>;IR = memory[PC];haltFlag = CLEAR;while(haltFlag not SET) { execute(IR); PC = PC + sizeof(INSTRUCT); IR = memory[PC]; if(InterruptRequest && InterruptEnabled) { disableInterupts(); memory[0] = PC; PC = memory[1]};

Page 29: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-29

Copyright © 2004 Pearson Education, Inc.

Revisiting the trap Instruction (Hardware)

executeTrap(argument) { setMode(supervisor); switch(argument) { case 1: PC = memory[1001]; // Trap handler 1 case 2: PC = memory[1002]; // Trap handler 2 . . . case n: PC = memory[1000+n];// Trap handler n};

• The trap instruction dispatches a trap handler routine atomically

• Trap handler performs desired processing

• “A trap is a software interrupt”

Page 30: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-30

Copyright © 2004 Pearson Education, Inc.

Direct Memory Access

PrimaryMemory

CPU

Controller

Device

PrimaryMemory

CPU

Controller

Device

Page 31: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-31

Copyright © 2004 Pearson Education, Inc.

Addressing Devices

PrimaryMemory

Device 0

Device 1

Device n-1

PrimaryMemory

Device 0

Device 1

Device n-1

Dev

ice

Add

ress

esM

emor

y A

ddre

sses

Mem

ory

Add

ress

es

Page 32: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-32

Copyright © 2004 Pearson Education, Inc.

Polling I/O…// Start the device…While((busy == 1) || (done == 1)) wait();// Device I/O complete…done = 0;

…while((busy == 0) && (done == 1)) wait();// Do the I/O operationbusy = 1;…

busy done

Sof

twar

eH

ard

war

e

Page 33: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-33

Copyright © 2004 Pearson Education, Inc.

Detecting an Interrupt

CPUCPU

DeviceDevice DeviceDevice DeviceDevice

InterruptRequest flag

Page 34: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-34

Copyright © 2004 Pearson Education, Inc.

The Trap Instruction Operation

SMode

TrustedCode

trap

User Supervisor

Branch Table

2

3

1

Page 35: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-35

Copyright © 2004 Pearson Education, Inc.

Intel System Initialization

ROM

CMOS

RAM

Boot DevicePOSTPOST

BIOSBIOS

Boot ProgBoot Prog

LoaderLoader

OSOS

…Hardware Process

Data Flow

Power Up

Page 36: Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.

Operating Systems: A Modern Perspective, Chapter 3

Slide 3-36

Copyright © 2004 Pearson Education, Inc.

Bootstrapping

Bootstrap loader (“boot sector”)

Primary Memory

Loader

OS

12

3

4. Initialize hardware5. Create user environment6. …

Fetch UnitFetch Unit

Decode UnitDecode Unit

Execute UnitExecute Unit

000A000000A000

……

PC

IR

BIOS loader 0x00001000x0001000

0x0008000

0x000A000