Presentation is loading. Please wait.

Presentation is loading. Please wait.

Review: Chapters 1 – 7. 1.2 Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.

Similar presentations


Presentation on theme: "Review: Chapters 1 – 7. 1.2 Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program."— Presentation transcript:

1 Review: Chapters 1 – 7

2 1.2 Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program or resource allocator Computer organization CPU(s), memory, and I/O devices connect to a common bus Devices request CPU attention through interrupts Storage hierarchy: speed, cost, volatility Caching: copy frequently used data to faster storage Multiprogramming: multiple jobs in memory  efficiency Timesharing: frequently switch between jobs  interactive, short response time  users get the impression that each has his/her own computer Dual mode operation: user and kernel modes Protect OS and users from each other Privileged instructions executed only in kernel mode Timer to prevent processes from holding resources forever

3 1.3 Operating-System Operations OS is interrupt driven: it sits idle till something happens Interrupts are generated by devices (hardware) Traps (or exceptions) are software-generated interrupts due to  software errors, e.g., divide by zero  Request for operating system services (system calls) Dual-mode operation allows OS to protect itself and other system components User mode and kernel mode Mode bit provided by hardware  Provides ability to distinguish when system is running user code or kernel code  Some instructions designated as privileged, only executable in kernel mode  System call changes mode to kernel, return from call resets it to user

4 1.4 Transition from User to Kernel Mode

5 1.5 Chapter 2: OS Services and Structures OS provides two sets of services for user convenience and efficient use of resources System calls: programming interface to OS services Typically used through APIs for portability and ease OS structures monolithic layered microkernel modular

6 1.6 Chapter 3: Processes Process is a program in execution OS maintains process info in PCB Process State diagram Creating and terminating processes (fork) Process scheduling Long-, short-, and medium-term schedulers Scheduling queues

7 1.7 Scheduling: The Big Picture Disk Jobs Job sched.CPU sched. Midterm sched. In most small and interactive systems (UNIX, WinXP, …), only the CPU scheduler exists

8 1.8 Process Lifetime

9 1.9 CPU Switch From Process to Process (Context Switch) When switching occurs, kernel Saves state of P 0 in PCB 0 (in memory) Loads state of P 1 from PCB 1 into registers State = values of the CPU registers, including the program counter, stack pointer

10 1.10 Interprocess Communications Models Message Passing Shared Memory

11 1.11 Chapter 4: Threads A thread is a basic unit of CPU utilization, a process is composed of one or more threads Each thread has: Program counter, stack, registers Threads share: code, data, OS resources (e.g., open files and signals)

12 1.12 Single and Multithreaded Processes Shared among threads

13 1.13 User level threads vs. kernel threads

14 1.14 Chapter 5: CPU Scheduling Process execution: cycle of CPU bursts and I/O bursts CPU bursts lengths: many short bursts, and few long ones Scheduler selects one process from ready queue Dispatcher performs the switching Scheduling criteria (usually conflicting) CPU utilization, waiting time, response time, throughput, … Scheduling Algorithms FCFS, SJF, Priority, RR, Multilevel Queues, …

15 1.15 First-Come, First-Served (FCFS) Scheduling ProcessBurst Time P 1 24 P 2 3 P 3 3 Suppose that the processes arrive in the order: P 1, P 2, P 3 The Gantt Chart for the schedule is: Waiting time for P 1 = 0; P 2 = 24; P 3 = 27 Average waiting time: (0 + 24 + 27)/3 = 17 P1P1 P2P2 P3P3 2427300

16 1.16 Multilevel Feedback Queues

17 1.17 CPU Scheduling Multiprocessor Scheduling Processor affinity vs. load balancing Evaluation of Algorithms Modeling, simulation, implementation

18 1.18 Chapter 6: Synchronization Processor Synchronization Techniques to coordinate access to shared data Race condition Multiple processes manipulating shared data and result depends on execution order Critical section problem Three requirements: mutual exclusion, progress, bounded waiting Software solution: Peterson’s Algorithm Hardware support: TestAndSet(), Swap()  Busy waiting (or spinlocks) Semaphores:  Not busy waiting  wait(), signal() must be atomic  moves the CS problem to kernel Monitors  High-level (programming language) constructs

19 1.19 Synchronization Some classical synchronization problems Consumer-producer Dining philosopher Readers-writers

20 1.20 Chapter 7: Deadlock A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set Four necessary (but not sufficient) conditions Mutual exclusion: only one process at a time can use a resource Hold and wait: a process holding at least one resource and is waiting to acquire additional resources held by other processes No preemption: a resource can be released only voluntarily by the process holding it, after that process has completed its task Circular wait: there exists a set {P 0, P 1, …, P 0 } of waiting processes such that P 0 is waiting for a resource that is held by P 1, P 1 is waiting for a resource that is held by P 2, …, P n–1 is waiting for a resource that is held by P n, and P 0 is waiting for a resource that is held by P 0

21 1.21 Deadlock Handling Prevention: ensure that at least one of the necessary conditions does not hold Avoidance: decide for each request whether or not the issuing process should wait to avoid leaving the system in unsafe state Resource-allocation graph: single instance of a resource type Banker’s algorithm: multiple instances of a resource type Detection and Recovery Detection algorithm Recovery: process termination or resource preemption

22 1.22 Good Luck on the Exam!


Download ppt "Review: Chapters 1 – 7. 1.2 Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program."

Similar presentations


Ads by Google