15.a The Internal Operating System
Download
Report
Transcript 15.a The Internal Operating System
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
Virtual Storage
Chapter 15
The Internal Operating System – Part 1
15.1-2
Target Model
Chapter 15
The Internal Operating System – Part 1
15.1-3
Loading and Executing a Program
Network Services
Translates logical file
requests
File management
IOCS (I/O control system)
Device management /
Resource allocation
Load programs into MM
Allocates execution time
Provides overall system
control
Chapter 15
The Internal Operating System – Part 1
Memory management /
Scheduling
Monitor
15.1-4
Multi-Tasking System
The OS must allocate resources (CPU,
memory, I/O) to multiple processes
Different scheduling routines are used
for different objectives
Chapter 15
The Internal Operating System – Part 1
15.1-5
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
Chapter 15
The Internal Operating System – Part 1
15.1-6
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
Chapter 15
The Internal Operating System – Part 1
15.1-7
Two Processes Sharing a
Single Program
Chapter 15
The Internal Operating System – Part 1
15.1-8
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
Chapter 15
The Internal Operating System – Part 1
15.1-9
Process State Diagram
Chapter 15
The Internal Operating System – Part 1
15.1-10
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
Chapter 15
The Internal Operating System – Part 1
15.1-11
CPU Scheduling
High-level scheduling
Short-term scheduling
(dispatcher)
Mid-level scheduling
I/O scheduling
Chapter 15
The Internal Operating System – Part 1
Adding a program to the pool of
programs to be executed
Deciding which process shall be
executed next by the processor
Swapping processes
Deciding which process’s pending
I/O request shall be handled by an
available I/O device
15.1-12
Dispatching Objectives
Maximize throughput
Minimize turnaround time
Maximize CPU utilization
Maximize resource allocation
Promote graceful degradation
Provide minimal and consistent
response time
Prevent starvation
Chapter 15
The Internal Operating System – Part 1
15.1-13
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
Chapter 15
The Internal Operating System – Part 1
15.1-14
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
Chapter 15
The Internal Operating System – Part 1
15.1-15
Preemptive Dispatching
Multilevel feedback queues
Favors short jobs, I/O bound jobs
Each level assigns more CPU time
Chapter 15
The Internal Operating System – Part 1
15.1-16
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
Chapter 15
The Internal Operating System – Part 1
15.1-17
Memory Overlays
Chapter 15
The Internal Operating System – Part 1
15.1-18
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
Chapter 15
The Internal Operating System – Part 1
15.1-19
Frames and Pages
Program
Memory
Unit
Page
Frame
Address
Logical
Physical
Size
2 to 4KB
2 to 4KB
Amount
# of bits in
Installed memory
instruction word
Chapter 15
The Internal Operating System – Part 1
15.1-20
Frames and Pages
Binary Paging
Chapter 15
The Internal Operating System – Part 1
15.1-21
Dynamic Address Translation
Chapter 15
The Internal Operating System – Part 1
15.1-22
Page Table
Page Frame
1
2
3
4
5
6
7
8
9
10
11
6
4
Pages not in main memory:
page fault when accessed
8
10
1
2
Disk
1
2
3
4
5
6
7
8
9
10 11
7
Swap space
Chapter 15
The Internal Operating System – Part 1
Virtual Memory Pages
15.1-23
Steps in
Handling a
Page Fault
Chapter 15
The Internal Operating System – Part 1
15.1-24
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
Chapter 15
The Internal Operating System – Part 1
15.1-25
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
Chapter 15
The Internal Operating System – Part 1
15.1-26
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
Chapter 15
The Internal Operating System – Part 1
15.1-27
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
Chapter 15
The Internal Operating System – Part 1
15.1-28
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
Chapter 15
The Internal Operating System – Part 1
15.1-29
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
Chapter 15
The Internal Operating System – Part 1
15.1-30
Java Virtual Machine
Chapter 15
The Internal Operating System – Part 1
15.1-31