Mid Term review
CSC345
• 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
Memory
I/O
File
Processes
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
Chapter 2: Computer-System Structures
• Computer System Operation
• I/O Structure
• Storage Structure
• Storage Hierarchy
• Hardware Protection
• General System Architecture
Two I/O Methods
Synchronous Asynchronous
Dual mode operation & why ?
Use of A System Call to Perform I/O
Use of A Base and Limit Register
Hardware Address Protection
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
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)
Class Exercise
Process Timep1 6P2 3P3 7p4 1
Each team works on finding an average turnaround time for a quantum time at 1, 2, 3, 4, 5, 6, 7
First-Come, First-Served (FCFS) Scheduling
Process Burst Time
P1 24
P2 3
P3 3
• Suppose that the processes arrive in the order: P1 , P2 , P3
The Gantt Chart for the schedule is:
• Waiting time for P1 = 0; P2 = 24; P3 = 27
• Average waiting time: (0 + 24 + 27)/3 = 17
P1 P2 P3
24 27 300
Turnaround Time Varies With The Time Quantum
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.
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