Top Banner
1 William Stallings Computer Organization and Architecture Chapter 7 Operating System Support
41

William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

May 28, 2020

Download

Documents

dariahiddleston
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: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

1

William Stallings Computer Organization and Architecture

Chapter 7Operating SystemSupport

Page 2: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

2

Objectives and Functions

ConvenienceMaking the computer easier to use

EfficiencyAllowing better use of computer resources

Page 3: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

3

Layers and Views of a Computer System

Page 4: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

4

Operating System Services

Program creationProgram executionAccess to I/O devicesControlled access to filesSystem accessError detection and responseAccounting

Page 5: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

5

O/S as a Resource Manager

Page 6: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

6

Types of Operating System

InteractiveBatchSingle program (Uni-programming)Multi-programming (Multi-tasking)

Page 7: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

7

Early Systems

Late 1940s to mid 1950sNo Operating SystemPrograms interact directly with hardwareTwo main problems:

SchedulingSetup time

Page 8: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

8

Simple Batch Systems

Resident Monitor programUsers submit jobs to operatorOperator batches jobsMonitor controls sequence of events to process batchWhen one job is finished, control returns to Monitor which reads next jobMonitor handles scheduling

Page 9: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

9

Job Control Language

Instructions to MonitorUsually denoted by $e.g.

$JOB$FTN... Some Fortran instructions$LOAD$RUN... Some data$END

Page 10: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

10

Desirable Hardware Features

Memory protectionTo protect the Monitor

TimerTo prevent a job monopolizing the system

Privileged instructionsOnly executed by Monitore.g. I/O

InterruptsAllows for relinquishing and regaining control

Page 11: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

11

Multi-programmed Batch Systems

I/O devices very slowWhen one program is waiting for I/O, another can use the CPU

Page 12: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

12

Single Program

Page 13: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

13

Multi-Programming with Two Programs

Page 14: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

14

Multi-Programming with Three Programs

Page 15: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

15

Time Sharing Systems

Allow users to interact directly with the computer

i.e. Interactive

Multi-programming allows a number of users to interact with the computer

Page 16: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

16

Scheduling

Key to multi-programmingLong termMedium termShort termI/O

Page 17: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

17

Long Term Scheduling

Determines which programs are submitted for processingi.e. controls the degree of multi-programmingOnce submitted, a job becomes a process for the short term scheduler(or it becomes a swapped out job for the medium term scheduler)

Page 18: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

18

Medium Term Scheduling

Part of the swapping function (later…)Usually based on the need to manage multi-programmingIf no virtual memory, memory management is also an issue

Page 19: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

19

Short Term Scheduler

DispatcherFine grained decisions of which job to execute nexti.e. which job actually gets to use the processor in the next time slot

Page 20: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

20

Process States

Page 21: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

21

Process Control Block

IdentifierStatePriorityProgram counterMemory pointersContext dataI/O statusAccounting information

Page 22: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

22

Key Elements of O/S

Page 23: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

23

Process Scheduling

Process

Request

EndLong-TermQueue

Short-Term

QueueCPU

I/O QueueI/O

I/O QueueI/O

I/O QueueI/O

Page 24: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

24

Memory Management

Uni-programMemory split into twoOne for Operating System (monitor)One for currently executing program

Multi-program“User” part is sub-divided and shared among active processes

Page 25: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

25

Swapping

Problem: I/O is so slow compared with CPU that even in multi-programming system, CPU can be idle most of the timeSolutions:

Increase main memory ⌧Expensive⌧Leads to larger programs

Swapping

Page 26: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

26

What is Swapping?

Long term queue of processes stored on diskProcesses “swapped” in as space becomes availableAs a process completes it is moved out of main memoryIf none of the processes in memory are ready (i.e. all I/O blocked)

Swap out a blocked process to intermediate queueSwap in a ready process or a new processBut swapping is an I/O process...

Page 27: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

27

Partitioning

Splitting memory into sections to allocate to processes (including Operating System)Fixed-sized partitions

May not be equal sizeProcess is fitted into smallest hole that will take it (best fit)Some wasted memoryLeads to variable sized partitions

Page 28: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

28

FixedPartitioning

Page 29: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

29

Variable Sized Partitions (1)

Allocate exactly the required memory to a processThis leads to a hole at the end of memory, too small to use

Only one small hole - less waste

When all processes are blocked, swap out a process and bring in anotherNew process may be smaller than swapped out processAnother hole

Page 30: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

30

Variable Sized Partitions (2)

Eventually have lots of holes (fragmentation)Solutions:

Coalesce - Join adjacent holes into one large holeCompaction - From time to time go through memory and move all hole into one free block (c.f. disk de-fragmentation)

Page 31: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

31

Effect of Dynamic Partitioning

Page 32: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

32

Relocation

No guarantee that process will load into the same place in memoryInstructions contain addresses

Locations of dataAddresses for instructions (branching)

Logical address - relative to beginning of programPhysical address - actual location in memory (this time)Automatic conversion using base address

Page 33: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

33

Paging

Split memory into equal sized, small chunks -page framesSplit programs (processes) into equal sized small chunks - pagesAllocate the required number page frames to a processOperating System maintains list of free framesA process does not require contiguous page framesUse page table to keep track

Page 34: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

34

Logical and Physical Addresses - Paging

Page 35: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

35

Virtual Memory

Demand pagingDo not require all pages of a process in memoryBring in pages as required

Page faultRequired page is not in memoryOperating System must swap in required pageMay need to swap out a page to make spaceSelect page to throw out based on recent history

Page 36: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

36

Thrashing

Too many processes in too little memoryOperating System spends all its time swappingLittle or no real work is doneDisk light is on all the time

SolutionsGood page replacement algorithmsReduce number of processes runningFit more memory

Page 37: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

37

Bonus

We do not need all of a process in memory for it to runWe can swap in pages as requiredSo - we can now run processes that are bigger than total memory available!

Main memory is called real memoryUser/programmer sees much bigger memory -virtual memory

Page 38: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

38

Page Table Structure

Page 39: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

39

Segmentation

Paging is not (usually) visible to the programmerSegmentation is visible to the programmerUsually different segments allocated to program and dataMay be a number of program and data segments

Page 40: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

40

Advantages of Segmentation

Simplifies handling of growing data structuresAllows programs to be altered and recompiled independently, without re-linking and re-loadingLends itself to sharing among processesLends itself to protectionSome systems combine segmentation with paging

Page 41: William Stallings Computer Organization and ArchitectureComputer Organization and Architecture. Chapter 7. Operating System. Support. 2. Objectives and Functions aConvenience `Making

41

Required Reading

Stallings chapter 7Stallings, W. Operating Systems, Internals and Design Principles, Prentice Hall 1998Loads of Web sites on Operating Systems