Upload
kevin-hawkins
View
221
Download
0
Embed Size (px)
DESCRIPTION
Abstract View of System Components
Citation preview
• What is an Operating System?• Various systems and their pros and cons
– E.g. multi-tasking vs. Batch• OS definitions
– Resource allocator– Control program– Kernel
Abstract View of System Components
Important OS Features/services
• Process Management (CPU scheduling)• Main Memory Management• File Management• I/O System Management• Secondary Management• Networking• Protection System• Command-Interpreter System
OS Control Structure
MemoryI/O
FileProcesses
Memory Tables
I/O Tables
File Tables
Process 1Process 2
… Process N
Primary Table
Process Image
User dataUser programSystem stack
PCB
Process State Diagram
Ready
BlockedSuspend
New Running
Exit
release
dispatch
time-out
eventactivate
suspend
admit
wait
• System call vs. System program
Dual mode operation & why ?
OS structure & Layered Approach
• The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface.
• With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers.
UNIX System Structure
Process Management
• Process vs. Thread creation• Process scheduling• Process Termination• Unix process creation fork() & exec()
– Identify parent vs. child
• How to find out process infomation
Process Control Block (PCB)
Process vs. Thread creation
Multithreading Models
• Many-to-One
• One-to-One
• Many-to-Many----------------------------------------------• Pthread, JAVA thread, Kernel vs. User
thread
CPU Switch From Process to Process
Process Scheduling Queues• Job queue – set of all processes in the system.• Ready queue – set of all processes residing in main memory,
ready and waiting to execute.• Device queues – set of processes waiting for an I/O device.• Process migration between the various queues.
Representation of Process Scheduling
Schedulers
• Long-term scheduler (or job scheduler) – selects which processes should be brought into the ready queue.
• Short-term scheduler (or CPU scheduler) – selects which process should be executed next and allocates CPU.
• Midterm scheduler
Addition of Medium Term Scheduling
Context Switch• When CPU switches to another process, the system must
save the state of the old process and load the saved state for the new process.
• Context-switch time is overhead; the system does no useful work while switching.
• Time dependent on hardware support.
Process scheduling
Process scheduling Concepts
• Maximum CPU utilization obtained with multiprogramming
• CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait.
• CPU burst distribution• Pre-emptive and none-preemptive
Scheduling Criteria• CPU utilization – keep the CPU as busy as possible• Throughput – # of processes that complete their execution
per time unit
• Turnaround time – amount of time to execute a particular process (finishing time – arrival time)
• Waiting time – amount of time a process has been waiting in the ready queue
• Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment)
Various scheduling algorithms• FCFS• SJF• SRTF• R-R with quantum• Priority• Multi-level Priority • ---------------• Pros and cons, different conditions (q time,
starvation prevention etc.)• Example of process arrival rate
Process Communication
• IPC & Unix IPC• Client-Server
– Raw socket– High-level comm (e.g. RPC, RMI, CORBA
etc)
– Pros & con on various mechanisms
Process Synchronization & deadlocks
• Critical Section• Semaphore & implementation (Unix)• Spin lock and sleep(wait) lock• Deadlock
– Mutex, hold-wait, no-preemption, circular-wait– Identify deadlock from resource allocation
graph or code
Memory Management
• Swapping • Contiguous Allocation• Paging• Segmentation• Segmentation with Paging• --------------------• Pros and cons• Address translation
Pros & cons
• Paging vs Contiguous
• Hierarchical Paging vs. Hashed Page Tables vs. Inverted Page Tables
Example of address translation (segmetation)
Example of address translation
Virtual Memory
Virtual Memory
• Demand paging• Demand segmentation
• Page fault and how to handle• Page replacement
File Management
• File structure • File Attributes (FCB)• directory• Access method• Access control
A Typical File Control Block
Virtual File System
Allocation Methods
• An allocation method refers to how disk blocks are allocated for files:
• Contiguous allocation
• Linked allocation
• Indexed allocation
I/O system
• I/O Hardware• Application I/O Interface• Kernel I/O Subsystem
– Chracter vs. block– Polling vs. interupt
User program & Kernel interface
Note: This picture is excerpted from Write a Linux Hardware Device Driver, Andrew O’Shauqhnessy, Unix world
Two I/O Methods
Synchronous Asynchronous
Pooling or interrupt
LKM
• What is it?• Pros & cons (vs. recompile and patches)