Chapter 2.2 : Process Scheduling

Slides:



Advertisements
Similar presentations
Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
Advertisements

Scheduling Criteria CPU utilization – keep the CPU as busy as possible (from 0% to 100%) Throughput – # of processes that complete their execution per.
Ceng Operating Systems Chapter 2.2 : Process Scheduling Process concept  Process scheduling Interprocess communication Deadlocks Threads.
Day 25 Uniprocessor scheduling. Algorithm: Selection function Selection function – which process among ready processes to select. w – time spent in system,
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.
1Chapter 05, Fall 2008 CPU Scheduling The CPU scheduler (sometimes called the dispatcher or short-term scheduler): Selects a process from the ready queue.
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.
CSE 331 Operating Systems Design 1 Scheduling Scheduling is divided into various levels. These levels are defined by the location of the processes A process.
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.
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)
1 Our focus  scheduling a single CPU among all the processes in the system  Key Criteria: Maximize CPU utilization Maximize throughput Minimize waiting.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
Uniprocessor 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.
CPU Scheduling Operating Systems CS 550. Last Time Deadlock Detection and Recovery Methods to handle deadlock – Ignore it! – Detect and Recover – Avoidance.
1 Uniprocessor Scheduling Chapter 9. 2 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency.
CPU SCHEDULING.
Dan C. Marinescu Office: HEC 439 B. Office hours: M, Wd 3 – 4:30 PM.
Uniprocessor Scheduling
Uniprocessor Scheduling
CPU Scheduling Chapter 5.
Chapter 8 – Processor Scheduling
Uniprocessor Scheduling
Day 25 Uniprocessor scheduling
Process Scheduling B.Ramamurthy 9/16/2018.
Scheduling (Priority Based)
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Process management Information maintained by OS for process management
Process Scheduling B.Ramamurthy 11/18/2018.
CPU Scheduling Basic Concepts Scheduling Criteria
CPU Scheduling G.Anuradha
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Operating System Concepts
Operating System Chapter 9. Uniprocessor Scheduling
Process Scheduling B.Ramamurthy 12/5/2018.
Chapter5: CPU Scheduling
TDC 311 Process Scheduling.
COT 4600 Operating Systems Spring 2011
Chapter 5: CPU Scheduling
Chapter 9 Uniprocessor Scheduling
Chapter 6: CPU Scheduling
Operating System 9 UNIPROCESSOR SCHEDULING
CGS 3763 Operating Systems Concepts Spring 2013
Process Scheduling Decide which process should run and for how long
Chapter 5: CPU Scheduling
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 2/23/2019.
Processor Scheduling Hank Levy 1.
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Uniprocessor scheduling
Process Scheduling B.Ramamurthy 4/19/2019.
Process Scheduling B.Ramamurthy 4/24/2019.
Chapter 6: CPU Scheduling
Process Scheduling B.Ramamurthy 5/7/2019.
Chapter 6: Scheduling Algorithms Dr. Amjad Ali
Scheduling 21 May 2019.
Chapter 6: CPU Scheduling
Uniprocessor Scheduling
CPU Scheduling: Basic Concepts
Presentation transcript:

Chapter 2.2 : Process Scheduling Process concept  Process scheduling Interprocess communication Deadlocks Threads

Scheduling Select process(es) to run on processor(s) Process state is changed from “ready” to “running” The component of the OS which does the scheduling is called the scheduler

Types of Scheduling Scheduling is divided into various levels. These levels are defined by the location of the processes A process can be available to be executed by the processor partially or fully in main memory in secondary memory is not started yet

Types of Scheduling Long Term Scheduling. Medium Term Scheduling. The decision to add to the pool of processes to be executed. Medium Term Scheduling. The decision to add to the process in main memory. Short Term Scheduling. The decision as to which process will gain the processor. I/O Scheduling. The decision as to which process's I/O request shall be handled by a device.

Scheduling Criteria Fairness : each process should get a fair share of the CPU Efficiency: keep CPU 100% utilized Response time : should be minimized for interactive users Turnaround : minimize batch turnaround times Throughput : maximize number of jobs processed per hour

User-Oriented, Performance Criteria Criteria Aim Response Time low response time, maximum number of interactive users Turnaround Time time between submission and completion Deadlines maximise deadlines met

System-oriented, Performance Criteria Criteria Aim Throughput allow maximum number of jobs to complete Processor maximise percentage of time processor is busy utilisation Overhead minimise time processor busy executing OS

System oriented, other criteria Criteria Aim Fairness treat processes the same avoid starvation Enforcing Priorities give preference to higher priority processes Balancing Resources keep the system resources busy

Important Factors I/O boundedness of a process CPU boundedness of a process Is the process interactive or batch? Process priority Page fault frequency Preemption frequency Execution time received Execution time required to complete

Types of Scheduling A scheduling algorithm is non-preemptive (run to completion) if the CPU cannot be taken away by the OS. A scheduling algorithm is preemptive if the CPU can be taken away by the OS. Cooperative Scheduling is the scheduling algorithm used by some operating systems (such as Windows versions up to 95 in which processes relinquish the control of CPU for some reason (I/O, waiting for some event etc.)

The Interrupting Clock The OS sets the interrupting clock to generate an interrupt at some specified future time. This interrupt time is the process quantum. Provides reasonable response times and prevents the system being held up by processes in infinite loops.

Scheduling Algorithms FCFS Round Robin Virtual Round Robin Priority Priority Classes Shortest Job First Shortest Remaining Time Highest Response Ratio Next Feedback Queues

FCFS (First Come First Serve) Implementation: As each process becomes ready, it joins the ready queue. When the current process finishes the oldest process is selected next. Characteristics: Simple to implement Nonpremptive Penalises short and I/O-bound processes

Round Robin (RR) Implementation: Characteristics: Processes are dispatched FIFO. But are given a fixed time on the CPU (quantum - time slice). Characteristics: Preemptive Effective in time sharing environments Penalises I/O bound processes

Quantum Size Some Options: Large or small quantum Fixed or variable quantum Same for everyone or different If quantum is to large RR degenerates into FCFS If quantum is to small context switching becomes the primary job being executed A good guide is quantum should be slightly larger than the time required for a typical interaction

Virtual Round Robin (VRR) A modification to the RR algorithm to remove the bias towards CPU bound processes. Implementation: Two “ready” queues, one called an AUX queue for storing “completed” IO processes AUX queue has priority over READY queue IO processes only runs for remaining time Characteristics: Performance studies indicate fairer than RR

Priority Implementation: Characteristics: Each process is assigned a priority and the scheduler always selects the highest priority process first Characteristics: High priority processes may run indefinitely, so decrease the priority of these processes at regular intervals Assign high priority to system processes with known characteristics such as being I/O bound

Priority Classes Highest Lowest Priority Class 4 Priority Class 3

Implementation: Characteristics: Processes are grouped into priority classes Round Robin is used within a class When selecting process start with the highest class. If the class is empty, use a lower class Characteristics: If priorities are not adjusted from time to time, lower classes may starve to death

Shortest-Job-First (SJF) Sometimes known as Shortest Process Next (SPN) Implementation: The process with the shortest expected execution time is given priority on the processor

Characteristics: Nonpremptive Reduces average waiting time over FIFO Always produces the minimum average turnaround time Must know how long a process will run Possible user abuse Suitable for batch environments. Not useful in a timesharing environment

Shortest Remaining Time (SRT) Preemptive counterpart of SPN Implementation: Process with the smallest estimated run-time to completion is run next A running process may be preempted by a new process with a shorter estimate run-time

Characteristics: Still requires estimates of the future Higher overhead than SJF No additional interrupts are generated as in RR Elapsed service times must be recorded

Highest Response Ratio Next (HRRN) How do you get around the problem of Indefinite postponement? Implementation: Once a job gets the CPU it runs it to completion The priority of a job is a function of the job's service time and the time it has been waiting for service priority = (time waiting + service time) / service time

Characteristics: Nonpremptive Shorter jobs still get preference over longer jobs However aging ensures long jobs will eventually gain the processor Estimation still involved

Feedback Queues There is a network of ready queues Sometimes called multi-level feedback queues Implementation: There is a network of ready queues A new process enters at the top queue Moves through the queue FIFO

I/O processes: If the job requires I/O before quantum expiration it leaves the network and comes back at the same level queue CPU bound processes: If the quantum expires first, the process is placed on the next lower queue This continues until it reaches the bottom queue

Dispatching: A process is only placed on the CPU if all higher level queues are empty A running process is preempted by a process arriving in a higher queue Processes from lower level queues receive a larger quantum Modifications: In some systems processes can proceed back up the network by becoming I/O bound

A Scheduling Mechanism Should: Favour short jobs Favour I/O bound jobs to get good I/O device utilisation Determine the nature of a job and schedule accordingly