Inside and Outside the OS

Download Report

Transcript Inside and Outside the OS

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
Wilson Wong, Bentley College
Linda Senne, Bentley College
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
Copyright 2003 John Wiley & Sons
All rights reserved. Reproduction or translation of this
work beyond that permitted in Section 117 of the 1976
United States Copyright Act without express permission
of the copyright owner is unlawful. Request for further
information should be addressed to the permissions
Department, John Wiley & Songs, Inc. The purchaser
may make back-up copies for his/her own use only and
not for distribution or resale. The Publisher assumes no
responsibility for errors, omissions, or damages caused
by the use of these programs or from the use of the
information contained herein.”
Chapter 15
The Internal Operating System – Part 1
15.1-32