Advanced Operating Systems

Slides:



Advertisements
Similar presentations
Scheduling Introduction to Scheduling
Advertisements

Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Chapter 9 Uniprocessor Scheduling
A. Frank - P. Weisberg Operating Systems Advanced CPU Scheduling.
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Dave Bremer Otago Polytechnic, N.Z. ©2008,
Ceng Operating Systems Chapter 2.2 : Process Scheduling Process concept  Process scheduling Interprocess communication Deadlocks Threads.
Chapter 3: CPU Scheduling
Scheduling in Batch Systems
Uniprocessor Scheduling Chapter 9. Aim of Scheduling The key to multiprogramming is scheduling Scheduling is done to meet the goals of –Response time.
1 Uniprocessor Scheduling Module CPU Scheduling n We concentrate on the problem of scheduling the usage of a single processor among all the existing.
1 Uniprocessor Scheduling Chapter 9. 2 Aims of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.
A. Frank - P. Weisberg Operating Systems CPU Scheduling.
1 Lecture 10: Uniprocessor Scheduling. 2 CPU Scheduling n The problem: scheduling the usage of a single processor among all the existing processes in.
1 CPU Scheduling & Deadlock Operating Systems Lecture 4.
1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Main Job: Assign processes to be executed by the processor(s) and processes to be loaded in main.
Uniprocessor Scheduling
CPU Scheduling Chapter 6 Chapter 6.
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
10CSE CPU Scheduling Copyrights Lecture Slides adapted from “ Advanced Operating Systems ”, Lecture Notes by Prof. Prof. Daniel Mosse, University Of Pittsburgh,
1 Uniprocessor Scheduling Chapter 9. 2 CPU Scheduling We concentrate on the problem of scheduling the usage of a single processor among all the existing.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Chapter 9 Uniprocessor Scheduling Spring, 2011 School of Computer Science & Engineering Chung-Ang University.
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Chapter 6 CPU SCHEDULING.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling To improve: Response time: time it takes a system to react to a given input Turnaround Time (TAT)
Uniprocessor Scheduling Chapter 9. Aim of Scheduling Minimize response time Maximize throughput Maximize processor efficiency.
1 Our focus  scheduling a single CPU among all the processes in the system  Key Criteria: Maximize CPU utilization Maximize throughput Minimize waiting.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 5: CPU Scheduling.
1 Uniprocessor Scheduling Chapter 9. 2 CPU Scheduling n We concentrate on the problem of scheduling the usage of a single processor among all the existing.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Response time Throughput Processor efficiency.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling Response time Throughput Processor efficiency.
Uniprocessor Scheduling
Operating System 9 UNIPROCESSOR SCHEDULING. TYPES OF PROCESSOR SCHEDULING.
Uniprocessor Scheduling Chapter 9. Processor Scheduling Processor scheduling determines the assignment of processes to be executed by the processor over.
Uniprocessor Scheduling Chapter 9. Aim of Scheduling Assign processes to be executed by the processor or processors: –Response time –Throughput –Processor.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
1 Uniprocessor Scheduling Chapter 3. 2 Alternating Sequence of CPU And I/O Bursts.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Dave Bremer Otago Polytechnic, N.Z. ©2008,
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
1 Lecture 5: CPU Scheduling Operating System Fall 2006.
1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.
Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Uniprocessor Scheduling
Uniprocessor Scheduling
CPU Scheduling Chapter 5.
Uniprocessor Scheduling
Process Scheduling B.Ramamurthy 9/16/2018.
Operating Systems CPU Scheduling.
Chapter 6: CPU Scheduling
Uniprocessor Scheduling
OverView of Scheduling
Uniprocessor scheduling
Process Scheduling B.Ramamurthy 12/5/2018.
Chapter 5: CPU Scheduling
Chapter 9 Uniprocessor Scheduling
CPU SCHEDULING.
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Uniprocessor scheduling
Uniprocessor Scheduling
Uniprocessor Scheduling
Presentation transcript:

Advanced Operating Systems III Scheduling Prof. Muhammad Saeed

Advanced Operating Systems The part of the operating system that makes the choice of the process is called the scheduler, and the algorithm it uses is called the scheduling algorithm. March 27, 2017 Advanced Operating Systems

Advanced Operating Systems The part of the operating system that makes the choice of the process is called the scheduler, and the algorithm it uses is called the scheduling algorithm. March 27, 2017 Advanced Operating Systems

Advanced Operating Systems The separation of mechanism and policy is a design principle in computer science. It states that mechanisms (those parts of a system implementation that control the authorization of operations and the allocation of resources) should not dictate (or overly restrict) the policies according to which decisions are made about which operations to authorize, and which resources to allocate. March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Page No. CPU-Scheduling Scheduling the processor among all ready processes The goal is to achieve: High processor utilization High throughput number of processes completed per of unit time Low response time time elapsed from the submission of a request until the first response is produced March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Classification of Scheduling Activity Long-term: which process to admit? Medium-term: which process to swap in or out? Short-term: which ready process to execute next? March 27, 2017 Advanced Operating Systems

Queuing Diagram for Scheduling March 27, 2017 Advanced Operating Systems

Medium-Term Scheduling Long-Term Scheduling Determines which programs are admitted to the system for processing Controls the degree of multiprogramming Attempts to keep a balanced mix of processor-bound and I/O-bound processes CPU usage System performance Medium-Term Scheduling Makes swapping decisions based on the current degree of multiprogramming Controls which remains resident in memory and which jobs must be swapped out to reduce degree of multiprogramming March 27, 2017 Advanced Operating Systems

Short-Term Scheduling Selects from among ready processes in memory which one is to execute next The selected process is allocated the CPU It is invoked on events that may lead to choose another process for execution: Clock interrupts I/O interrupts Operating system calls and traps Signals March 27, 2017 Advanced Operating Systems

Characterization of Scheduling Policies The selection function determines which ready process is selected next for execution The decision mode specifies the instants in time the selection function is exercised Nonpreemptive Once a process is in the running state, it will continue until it terminates or blocks for an I/O Preemptive Currently running process may be interrupted and moved to the Ready state by the OS Prevents one process from monopolizing the processor March 27, 2017 Advanced Operating Systems

Short-Term Scheduler Dispatcher The dispatcher is the module that gives control of the CPU to the process selected by the short-term scheduler The functions of the dispatcher include: Switching context Switching to user mode Jumping to the location in the user program to restart execution The dispatch latency must be minimal Context Switching: Saving and loading registers and memory maps, updating various tables and lists, flushing and reloading the memory cache, and so on. March 27, 2017 Advanced Operating Systems

Advanced Operating Systems The CPU-I/O Cycle Processes require alternate use of processor and I/O in a repetitive fashion Each cycle consist of a CPU burst followed by an I/O burst A process terminates on a CPU burst CPU-bound processes have longer CPU bursts than I/O-bound processes March 27, 2017 Advanced Operating Systems

Short-Tem Scheduling Criteria User-oriented criteria Response Time: Elapsed time between the submission of a request and the receipt of a response Turnaround Time: Elapsed time between the submission of a process to its completion System-oriented criteria Processor utilization Throughput: number of process completed per unit time fairness March 27, 2017 Advanced Operating Systems

Scheduling Algorithms First-Come, First-Served Scheduling Shortest-Job-First Scheduling Also referred to as Shortest Process Next Priority Scheduling Round-Robin Scheduling Multilevel Queue Scheduling Multilevel Feedback Queue Scheduling March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Process Mix Example Process Arrival Time Service 1 2 3 4 5 6 8 Service time = total processor time needed in one (CPU-I/O) cycle Jobs with long service time are CPU-bound jobs and are referred to as “long jobs” March 27, 2017 Advanced Operating Systems

First Come First Served (FCFS) Selection function: the process that has been waiting the longest in the ready queue (hence, FCFS) Decision mode: non-preemptive a process runs until it blocks for an I/O March 27, 2017 Advanced Operating Systems

Advanced Operating Systems FCFS Drawbacks Favors CPU-bound processes A CPU-bound process monopolizes the processor I/O-bound processes have to wait until completion of CPU-bound process I/O-bound processes may have to wait even after their I/Os are completed (poor device utilization) Better I/O device utilization could be achieved if I/O bound processes had higher priority March 27, 2017 Advanced Operating Systems

Advanced Operating Systems SJF / SPN Critique Possibility of starvation for longer processes Lack of preemption is not suitable in a time sharing environment SJF/SPN implicitly incorporates priorities Shortest jobs are given preferences CPU bound process have lower priority, but a process doing no I/O could still monopolize the CPU if it is the first to enter the system March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Is SJF/SPN Optimal? If the metric is turnaround time (response time), is SJF or FCFS better? For FCFS, resp_time=(3+9+13+18+20)/5 = ? Note that Rfcfs = 3+(3+6)+(3+6+4)+…. = ? For SJF, resp_time=(3+9+11+15+20)/5 = ? Which one is smaller? Is this always the case? March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Is SJF/SPN Optimal? Take each scheduling discipline, they both choose the same subset of jobs (first k jobs). At some point, each discipline chooses a different job (FCFS chooses k1 SJF chooses k2) Rfcfs=nR1+(n-1)R2+…+(n-k1)Rk1+….+(n-k2) Rk2+….+Rn Rsjf=nR1+(n-1)R2+…+(n-k2)Rk2+….+(n-k1) Rk1+….+Rn Which one is smaller? Rfcfs or Rsjf? March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Priorities Implemented by having multiple ready queues to represent each level of priority Scheduler the process of a higher priority over one of lower priority Lower-priority may suffer starvation To alleviate starvation allow dynamic priorities The priority of a process changes based on its age or execution history March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Round-Robin Clock interrupt is generated at periodic intervals When an interrupt occurs, the currently running process is placed in the read queue Next ready job is selected Known as time slicing Uses preemption based on a clock An amount of time is determined that allows each process to use the processor for that length of time March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Round-Robin Selection function: same as FCFS Decision mode: preemptive a process is allowed to run until the time slice period (quantum, typically from 10 to 100 ms) has expired a clock interrupt occurs and the running process is put on the ready queue March 27, 2017 Advanced Operating Systems

Advanced Operating Systems RR Time Quantum Quantum must be substantially larger than the time required to handle the clock interrupt and dispatching Quantum should be larger then the typical interaction but not much larger, to avoid penalizing I/O bound processes March 27, 2017 Advanced Operating Systems

Advanced Operating Systems RR Time Quantum March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Round Robin: critique Still favors CPU-bound processes An I/O bound process uses the CPU for a time less than the time quantum before it is blocked waiting for an I/O A CPU-bound process runs for all its time slice and is put back into the ready queue May unfairly get in front of blocked processes March 27, 2017 Advanced Operating Systems

Multilevel Feedback Scheduling Preemptive scheduling with dynamic priorities N ready to execute queues with decreasing priorities: P(RQ0) > P(RQ1) > ... > P(RQN) Dispatcher selects a process for execution from RQi only if RQi-1 to RQ0 are empty New process are placed in RQ0 After the first quantum, they are moved to RQ1 after the first quantum, and to RQ2 after the second quantum, … and to RQN after the Nth quantum I/O-bound processes remain in higher priority queues. CPU-bound jobs drift downward. Hence, long jobs may starve March 27, 2017 Advanced Operating Systems

Multiple Feedback Queues Different RQs may have different quantum values March 27, 2017 Advanced Operating Systems

Time Quantum for feedback Scheduling   March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Round Robin: critique March 27, 2017 Advanced Operating Systems

Advanced Operating Systems Lottery Scheduling Give processes lottery tickets for various system resources, such as CPU time. Whenever a scheduling decision has to be made, a lottery ticket is chosen at random, and the process holding that ticket gets the resource. When applied to CPU scheduling, the system might hold a lottery 50 times a second, with each winner getting 20 msec of CPU time as a prize. More important processes can be given extra tickets, to increase their odds of winning. If there are 100 tickets outstanding, and one process holds 20 of them, it will have a 20% chance of winning each lottery. In the long run, it will get about 20% of the CPU. In contrast to a priority scheduler, where it is very hard to state what having a priority of 40 actually means, here the rule is clear: a process holding a fraction f of the tickets will get about a fraction f of the resource in question. March 27, 2017 Advanced Operating Systems

Advanced Operating Systems END March 27, 2017 Advanced Operating Systems