Chapter 15 – Part 1 The Internal Operating System

31
Chapter 15 – Part 1 The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003

description

Chapter 15 – Part 1 The Internal Operating System. The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons  2003. OS Internals – Part I. Process Scheduling CPU Scheduling Memory Management - PowerPoint PPT Presentation

Transcript of Chapter 15 – Part 1 The Internal Operating System

Page 1: Chapter 15 – Part 1 The Internal Operating System

Chapter 15 – Part 1The Internal Operating System

The Architecture of Computer Hardware and Systems Software:

An Information Technology Approach

3rd Edition, Irv Englander

John Wiley and Sons 2003

Page 2: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-2

OS Internals – Part I

Process Scheduling CPU Scheduling Memory Management Virtual Storage

Page 3: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-3

Target Model

Page 4: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-4

Network Services

File management

Device management /Resource allocation

Memory management /Scheduling

Monitor

IOCS (I/O control system)

Translates logical file requests

Load programs into MMAllocates execution time

Provides overall systemcontrol

Loading and Executing a Program

Page 5: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-5

Multi-Tasking System

The OS must allocate resources (CPU, memory, I/O) to multiple processes

Different scheduling routines are used for different objectives

Page 6: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-6

Processes Process: basic unit of work in the OS

A program together with all the resources that are associated with it as it is executed

Program: a file or listing Process: a program being executed

Independent vs. cooperating processes PID (process ID): a unique identifier for each

process Process creation: user vs. system

Forking, spawning, cloning a new process Parent and child processes

Page 7: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-7

Process Control Block

A block of data for each process in the system

Contains all relevant information about the process

Typical process control block on the right

Page 8: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-8

Two Processes Sharing a Single Program

Page 9: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-9

Process States Three primary process operating states

Ready state Running state Blocked state

Dispatching - Move from ready state to running state Wake-up - Move from blocked state to ready state Time-out - Move from running state to ready state Process completion

killed, terminated, destroyed Additional states – suspend, swap Resumption – Move from suspended state to ready

state

Page 10: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-10

Process State Diagram

Page 11: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-11

Threads ‘Miniprocess’ that can be run independent of

other parts of the process Event-driven programs No control blocks Shares resources allocated to its parent process

including primary storage, files and I/O devices Advantage of process/thread families over

multiple independent processes: Reduced OS overhead for resource allocation and

process management Substantially less information than a normal PCB

Page 12: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-12

CPU Scheduling

High-level scheduling Adding a program to the pool of programs to be executed

Short-term scheduling(dispatcher)

Deciding which process shall be executed next by the processor

Mid-level scheduling Swapping processes

I/O scheduling Deciding which process’s pending I/O request shall be handled by an available I/O device

Page 13: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-13

Dispatching Objectives

Maximize throughput Minimize turnaround time Maximize CPU utilization Maximize resource allocation Promote graceful degradation Provide minimal and consistent

response time Prevent starvation

Page 14: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-14

Nonpreemptive Dispatching

First in, first out (FIFO) Unfair to short processes and I/O based

processes

Shortest Job First (SJF) Longer jobs can be starved

Priority Scheduling Dispatcher selects among jobs with the

same priorities

Page 15: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-15

Preemptive Dispatching Round robin

Inherently fair and maximizes throughput

Dynamic Priority Based on ratio of CPU time to total time process has been in

the system Smallest ratio has highest priority Linux, Windows 2000

Page 16: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-16

Preemptive Dispatching

Multilevel feedback queues Favors short jobs, I/O bound jobs Each level assigns more CPU time

Page 17: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-17

Memory Management Memory Partitioning

Fixed Variable

Best fit, first-fit, largest-fit algorithms Memory fragmentation

Overlays Programs are divided into small logical pieces for

execution Pieces are loaded into memory as needed

Memory Relocation Addresses have to be adjusted unless relative

addressing is used

Page 18: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-18

Memory Overlays

Page 19: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-19

Virtual Memory

Virtual memory increases the apparent amount of memory by using far less expensive hard disk space

Provides for process separation Demand paging

Pages brought into memory as needed

Page table Keeps track of what is in memory and what is still

out on hard disk

Page 20: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-20

Frames and Pages

Program Memory

Unit Page Frame

Address Logical Physical

Size 2 to 4KB 2 to 4KB

Amount# of bits in instruction word

Installed memory

Page 21: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-21

Frames and Pages

Binary Paging

Page 22: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-22

Dynamic Address Translation

Page 23: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-23

Disk

Virtual Memory Pages

Page FramePages not in main memory:page fault when accessed

1 2 3 4

5 6 7 8

9 10 11

1234567891011

64

8

1012

7

Page Table

Swap space

Page 24: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-24

Steps in Handling a Page Fault

Page 25: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-25

Locality of Reference

Most memory references confined to small region

Well-written program in small loop, procedure or function

Data likely in array and variables stored together

Working set Number of pages sufficient to run program normally,

i.e., satisfy locality of a particular program

Page 26: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-26

Page Replacement Algorithms

Page fault - page is not in memory and must be loaded from disk

Algorithms to manage swapping First-In, First-Out FIFO – Belady’s Anomaly Least Recently Used LRU Least Frequently Used LFU Not Used Recently NUR

Referenced bit, Modified (dirty) bit Second Chance Replacement algorithms

Thrashing too many page faults affect system performance

Page 27: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-27

Virtual Memory Tradeoffs

Disadvantages SWAP file takes up space on disk Paging takes up resources of the CPU

Advantages Programs share memory space More programs run at the same time Programs run even if they cannot fit into

memory all at once Process separation

Page 28: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-28

Virtual Memory vs. Caching

Cache speeds up memory access Virtual memory increases amount of

perceived storage Independence from the configuration and

capacity of the memory system Low cost per bit compared to main memory

Page 29: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-29

Secondary Storage Scheduling

First-Come, First-Served Shortest Distance First

Indefinite postponement problem Scan

Middle of disk gets serviced twice N-Step C-Scan

Disk seek in only one direction Return after last request in queue served Two queues

Queue of requests being processed Queue of new requests

Page 30: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-30

Other OS Issues

Deadlock Two processes have one another’s

resources that the other needs in order to proceed

Prevention Avoidance Detection and recovery

Process Synchronization

Page 31: Chapter 15 – Part 1 The Internal Operating System

Chapter 15The Internal Operating System – Part 1

15.1-31

Java Virtual Machine