What is an Operating System Various systems and








































- Slides: 40


• 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 Memory I/O File I/O Tables File Tables Processes Primary Table Process 1 Process 2 … Process N Process Image User data User program System stack PCB

Process State Diagram admit New dispatch Ready Running time-out activate release event wait Suspend Blocked suspend Exit

• 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 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 Pooling or interrupt Asynchronous

LKM • What is it? • Pros & cons (vs. recompile and patches)