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 Tables Process Image Memory I/O Tables I/O File Processes Memory Tables I/O Tables File Tables Process 1 Process 2 … Process N Primary Table Process Image User data User program System stack PCB
Process State Diagram dispatch New Ready Running admit time-out release activate event wait Exit Suspend Blocked suspend
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
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