Understanding Operating Systems: Functions, Structures, and Process Management
This mid-term review covers key concepts of operating systems (OS), including definitions, essential features like process management, memory management, file management, and I/O management. Students will explore various OS types, their pros and cons, and the fundamental architecture of OS layers. Key topics include CPU scheduling, process states, and threading models (e.g., Pthreads, Java threads). Additionally, it discusses process control blocks, context switching, and the interaction between user programs and the kernel. A comprehensive understanding of these elements is crucial for mastering OS functionality.
Understanding Operating Systems: Functions, Structures, and Process Management
E N D
Presentation Transcript
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