Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program.

Similar presentations


Presentation on theme: "What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program."— Presentation transcript:

1

2 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

3 Abstract View of System Components

4 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

5 OS Control Structure Memory 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

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

7 System call vs. System program

8 Dual mode operation & why ?

9 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.

10 UNIX System Structure

11 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

12 Process Control Block (PCB)

13 Process vs. Thread creation

14 Multithreading Models Many-to-One One-to-One Many-to-Many ---------------------------------------------- Pthread, JAVA thread, Kernel vs. User thread

15 CPU Switch From Process to Process

16 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.

17 Representation of Process Scheduling

18 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

19 Addition of Medium Term Scheduling

20 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.

21 Process scheduling

22 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

23 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)

24 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

25 Process Communication IPC & Unix IPC Client-Server –Raw socket –High-level comm (e.g. RPC, RMI, CORBA etc) –Pros & con on various mechanisms

26 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

27 Memory Management Swapping Contiguous Allocation Paging Segmentation Segmentation with Paging -------------------- Pros and cons Address translation

28 Pros & cons Paging vs Contiguous Hierarchical Paging vs. Hashed Page Tables vs. Inverted Page Tables

29 Example of address translation (segmetation)

30 Example of address translation

31 Virtual Memory

32 Demand paging Demand segmentation Page fault and how to handle Page replacement

33 File Management File structure File Attributes (FCB) directory Access method Access control

34 A Typical File Control Block

35 Virtual File System

36 Allocation Methods An allocation method refers to how disk blocks are allocated for files: Contiguous allocation Linked allocation Indexed allocation

37 I/O system I/O Hardware Application I/O Interface Kernel I/O Subsystem –Chracter vs. block –Polling vs. interupt

38 User program & Kernel interface Note: This picture is excerpted from Write a Linux Hardware Device Driver, Andrew O’Shauqhnessy, Unix world

39 Two I/O Methods Synchronous Asynchronous Pooling or interrupt

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


Download ppt "What is an Operating System? Various systems and their pros and cons –E.g. multi-tasking vs. Batch OS definitions –Resource allocator –Control program."

Similar presentations


Ads by Google