280 likes | 412 Views
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)
E N D
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
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
Memory Tables Process Image Memory I/O Tables User data User program System stack PCB I/O File File Tables Processes Primary Table Process 1 Process 2 … Process N OS Control Structure
New Ready Running Exit Suspend Blocked Process State Diagram dispatch admit time-out release activate event wait suspend
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
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.
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
Multithreading Models • Many-to-One • One-to-One • Many-to-Many ---------------------------------------------- • Pthread, JAVA thread, Kernel vs. User thread
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.
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
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