Scheduling Monday, November 22, :22 AM

Size: px
Start display at page:

Download "Scheduling Monday, November 22, :22 AM"

Transcription

1 Scheduling Page 1 Scheduling Monday, November 22, :22 AM The scheduling problem (Chapter 9) Decide which processes are allowed to run when. Optimize throughput, response time, etc. Subject to constraints including context switch time, swap time, etc. Kinds of scheduling: Short term: which process, already in memory, gets a slice of time next. Medium-term: which processes are loaded partially or fully into memory. Long term: which processes are "admitted" for later processing. AKA "admission control". I/O: which pending I/O request should be handled first?

2 Scheduling Page 2

3 Scheduling Page 3 Long-term scheduling Also known as "admission control". A big research topic in grid computing right now. Questions asked by a long-term scheduler: How many concurrent processes can the system handle? How much memory is needed for each? How important is response time versus throughput versus efficiency?

4 Scheduling Page 4 Long-term scheduling factors Response time: how long until one gets an answer to a problem? Example: weather forecasting must be finished before the 7pm news. Throughput: how much of the cpu can one use by latency hiding? Example: How fast can one finish n predictions of geological substructure, where n is large?

5 Scheduling Page 5 Typical admission control algorithm Predict resource utilization. Predict overlap and latency hiding. Admit process only if within bounds. Otherwise, defer process until there are enough resources to assure completion. (banker's algorithm) Application: grid computing Process: a parallel program that runs on a grid. Resource utilization: # of nodes required, amount of memory on each node (I/O bandwidth to each node) Resources must be known in advance (not a problem for grid applications)

6 Scheduling Page 6 Medium term scheduling Monday, November 22, :56 AM Medium-term scheduling Essentially, the swapping algorithm Most common strategy: least recently used (LRU). Keep track of time since each page was accessed by a process last. Always swap out page that was least recently accessed. Less common strategies: lookahead. Try to predict cpu access pattern. Preload pages that might be accessed next.

7 Scheduling Page 7 Short-term scheduling Monday, November 22, :59 AM Short-term scheduling Deals with processes that are not blocked waiting for swap-out, swap-in. Behavioral aspects: Throughput: how much work is performed. Response time: how quickly are units of work completed, once requested. All scheduling algorithms choose a balance between these criteria.

8 Scheduling Page 8 Priorities Priority: a number than indicates how important a process is, in terms of response time. Low priority: response time unimportant. High priority: response time very important. Key to our discussion: running high priority processes is not enough; lowpriority processes still need to satisfy response-time limits. Note: the game here is to balance: round-robin scheduling (equal slices) optimal for response time over homogeneous client base. run to block: keep going until you can't. optimal for batch: no context switches.

9 Scheduling Page 9 Decision modes: Non preemptive: once process runs, it stays running till blocked or exit. Preemptive: once a process is scheduled, it is still pre-empted later in order to allow others to run. Scheduling algorithms First-come, first-serve (FCFS): queue unblocked processes, run each until blocked. non-preemptive minimum overhead. Round-robin: execute each process for a little of the time available, grant slice times relative to priority. Preemptive Fair treatment Shortest Process Next (SPN): priority queued, allow the process with the shortest "expected" time to run next. Non-preemptive. Must predict runtime Works best with lots of little processes or phases: average runtime is good predictor. used in RTOS's Shortest Remaining Time (SRT): priority queued, the process with the shortest predicted remaining time goes first. Non-preemptive Must predict runtime. Highest Response Ratio Next (HRRN): choose process with highest response ratio. Non-preemptive. Response ratio = (w+s)/s w=time spent waiting for processor s=expected computation time Feedback: establish several queues, each with lower priority than preceeding; bubble down processes in the queues. Preemptive. Queue position = priority.

10 Queue position = priority. Priority changes with time spent computing. Scheduling Page 10

11 Scheduling Page 11

12 Scheduling Page 12 Queueing theory Monday, November 22, :16 PM Problem: which one of these works best in my environment. Solution: can analyze the response of systems with queueing theory. History Early machines were batch processors. Job time was often predictable: Accounts payable: time # checks to write! Compilation: time program length Etc. Question: how to predict throughput based upon what we know about a system. Answer: queueing theory and simulation Queueing theory Mathematical model of batch processing. Overly precise models that almost model reality. Precise answers to a number of specific questions. No information in many realistic cases. Simulation Messy replication of processing operations. Results as accurate as the detail with which it is simulated. Sensitive to sloppiness in coding simulator behaviors. Queueing theory assumptions: Poisson arrival of jobs. Exponential service times. Whoa there! What is going on here?

13 Scheduling Page 13 Poisson processes Monday, November 22, :30 PM Poisson process: Models arrival time as a set of completely independent trials. Let t be the time of arrival of the next event, as a difference between now and then. Then: Prob(arrival time t q) = 1-e -λq λ: the rate of the process; a measure of how fast things happen. Small λ: events are spaced far apart. Large λ: events are spaced close together.

14 Scheduling Page 14

15 Scheduling Page 15 Facts about Poisson distributions Mean = 1/λ Standard deviation = 1/λ Memoryless: Prob(T x+t T>t)=Prob(T x) In other words, waiting longer (T>t) doesn't change things. Suppose X,Y,Z are independent Poission processes with parameters λx,λy,λz. Then the union of X,Y,Z is Poisson with parameter λx+λy+λz In other words, the union of a set of Poisson arrivals is Poisson, with the obvious parameter.

16 Scheduling Page 16 Exponential distribution Monday, November 22, :13 PM Exponential distribution: Prob(Processing time t) = 1-e -μt μ = parameter of jobs. Mean = 1/μ Standard deviation = 1/μ Memoryless: Prob(T x+t T>t)=Prob(T x)

17 Scheduling Page 17 What's going on? Monday, November 22, :27 PM Same equation, different meanings: A Poisson process is one in which the inter-event arrival times are exponential. An exponential variable is one in which the value of the variable follows an exponential distribution. Same equation, two meanings. Prob(next event before time t) = 1-e -λt Prob(processing time less than t) = 1-e -μt This symmetry makes analysis a lot easier than if these were different!

18 Scheduling Page 18

19 Poisson postulates a. Prob(1 arrival in Δt) = λδt b. Prob(>1 arrival in Δt) = o(δt) and negligible. c. Arrival time is independent of other arrivals and last arrival. Scheduling Page 19

20 Scheduling Page 20 Simple Poisson Properties Monday, November 22, :29 PM Combination/multiplexing: Splitting/demultiplexing: π 1 +π 2 + +π n =1.0 0 π i 1.0 π i is a constant probability of taking branch i.

21 Simple queueing Monday, November 22, :36 PM Scheduling Page 21

22 Scheduling Page 22 Kinds of queues Kendall notation: A/B/c/k/m/Z A=arrival process; default is M (Poisson) B=service process; default is M (Exponential) c=number of servers; default is 1 k=maximum queue size; default is infinite m=customer population; default is infinite Z=name of queueing discipline, default is FCFS Previous queue is M/M/1 Here's M/M/3:

23 Scheduling Page 23 Some startling mathematical results: For M/M/1 queue, Queue reaches steady state only if λ/μ<1 Prob(queue length is n) = p n (1-p) where p=λ/μ The mean queue length (enqueued jobs) is n=p/(1-p). The mean waiting-line length (jobs not being served) is w=p 2 /(1-p) (this includes jobs in process of being queued and dequeued) Little's laws: for M/M/1 queue: Mean time in system = n/λ Mean wait time before service = w/λ Key to proofs: principle of balance: input rate = output rate if system is in balance (lambda<mu)

24 Scheduling Page 24 The M/M/c queue Monday, November 22, :09 PM Generalization: c processors: Steady state: λ/cμ<1 S0=Prob(queue empty)= Mean time prior to service=

25 Scheduling Page 25 The M/M/ Queue Monday, November 22, :14 PM Infinite consumers, Poisson arrival (monkeys on keyboards) Waiting line length = w = 0 Mean time in system = 1/μ Mean queue length = λ/μ

26 Scheduling Page 26 Networks of Queues Monday, November 22, :18 PM Networks of queues Can connect queueing systems together into networks Output of one system is input to another. Surprising result: can compute the parameters of the network provided one knows the distribution parameters of inputs and service parameters of the queues. Key concept: "stability" is simpler to analyze than dynamic state. To achieve stability, system must come into "equilibrium" subject to "balance equations". Key equilibrium: input=output. In absence of this balance, system cannot be analyzed easily. When equilibrium is present, analysis is easy!

27 First case: no feedback Scheduling Page 27

28 Second case: simple feedback. Scheduling Page 28

29 Scheduling Page 29 Case 2: feedback in open networks (input from outside, output to outside) Queues 1-q with server constants µi, c i servers. Each queue gets input from all other queues, and input from outside world. Prob(queue i gets input from queue j) = πji Prob(queue i output exits network) is ψi Each queue's view of the world: Note: λk, ψk, π jk μk, ck constant. Variables are e1,, eq q equations in q unknowns unique solution. If this solution exists, it is the equilibrium point! ("Jackson's algorithm")

30 Scheduling Page 30 Closed systems Tuesday, November 30, :29 PM Alas, some systems are "closed": Example: fixed number of users typing on keyboards and receiving responses. Every input gets a response. Every response generates an input. Can model this as a "closed" system. Closed-world situation Fixed number of jobs N circulate within the system. No input from outside the system. At any time, the sum of jobs in all queues is N: If ni is the number of jobs in the queue for server i, then i ni = N Unfortunately, the simple Jackson method doesn't work in closed systems in which requests circulate and no request is ever deleted. Linear system is underdetermined. Too many solutions! Problem description: N requests. K server queues. A state of the system is a vector (n1,, nk) describing how many requests are queued for each server. Let vi represent the input rate for queue i. Let pkm represent the probability that the output of queue k will be assigned to the input of queue m. Jackson's equations:

31 Scheduling Page 31 Jackson's equations: vm = pkmvk are underdetermined. Eureka! All we're interested in is a steady state of the system. If such a state exists, it has some extremely simple properties. In particular, output=input (Jackson's equations) But, more specifically, The probability of a specific steady state must be independent of any prior state. Method: normalization constants: Compute probability of each state in a steady-state solution = Prob(n1,,nK) = (probability that queue 1 has n1 elements and queue 2 has n2 elements and queue K has nk elements) A really dirty trick: we know it's independent, so that it's proportional to (probability that queue i has ni elements) (product of all of these) = pi n i (pi n i is probability that queue i has ni elements) = (vi/µi) n i (by previous discussion of M/M/1 queues) Key: Assume the existence of a proportionality constant G(N) so that Prob (state n1,,nk) = 1/G(N) (vi/µi) n i

32 Scheduling Page 32 1/G(N) (vi/µi) n i So that Prob(state n1,,nk) = 1.0 If we can compute G(N), we know the probabilities for states, which in turn means that we know the expected aggregate state E= (n1,,nk) Prob(n1,,nK) Which predicts how long each queue is during steady-state behavior. With this, we have all we need to compute any throughput parameter. Big problem: combinatorial explosion To compute G(N), must sum over all states. There are lots of states! How to cope? Solution: Buzen's algorithm Build network incrementally Base new normalization constant on constants for smaller networks. Implementing Buzen's algorithm gk(n) = normalization constant for K servers, N jobs. gn(0) = 1 for all n g1(n)= probability that queue 1 has length n = (v1/µ1) n gm(n)=gm-1(n)+(vm/µm)gm(n-1) In short, build the network one server at a time, compensate for that server's behavior. Not all is won: Note: at end of Buzen's algorithm, we have GK(N) in terms of vi But we still don't know vi Must still apply Jackson's system, using the

33 extra equation from here. Scheduling Page 33

34 Scheduling Page 34 Beyond simple queueing theory Tuesday, November 30, :24 PM A whole course is possible (used to be on the qualifier for a Ph.D. in computer science) (fortunately, no longer!) What we understand Queueing of load-independent servers (tasks in queue don't affect response time) Queueing of load-dependent servers (tasks in queue affect response time) Distribution-independent results for very simple networks. What we don't understand Models other than FCFS. Non-linear response. Non-equilibrium behavior. Etc.

35 Scheduling Page 35 Why queueing theory fails Tuesday, November 23, :19 PM Good news: queueing theory explains a lot of simple cases and illustrates basic properties Distribution parameter Processing parameter Queue length Time in system Etc. Applicable to: Typing at keyboard I/o requests coming from programs. Service requests coming from network. Disk performance. Bad news: not realistic for many real systems λ is a variable over time. All that is known only works for special cases. Accuracy of conclusions very sensitive to assumptions made. No closed-form solution to the general problem. Not applicable to: Situations in which parameters change over time. Bursty behavior, e.g., hacking or denial of service. Situations in which division of labor changes (πjk not constant) To study unconstrained systems, must use simulation.

36 Scheduling Page 36 Simulating Poisson Processes Tuesday, November 23, :21 AM Given: Poisson constant λ And: uniformly distributed random number generator. Compute: time between adjacent arrivals. Basics: Probability density function (PDF): integral over interval is probability: Cumulative distribution function (CDF) integral from minimum boundary to some number a:

37 Uniform Distribution: Scheduling Page 37

38 Poisson Distribution: for one arrival time: Scheduling Page 38

39 Idea: generate uniformly distributed random numbers, "twist" them into following a different distribution. Start with CDF Generate uniform random numbers on the Y axis. Project each value onto the X axis. Result: X axis values follow the CDF. Scheduling Page 39

40 Reason this works: Scheduling Page 40

41 Scheduling Page 41 Implementing Poisson simulation So -(ln(1-drand48())/lambda has a Poisson distribution (because drand48() has a uniform distribution over [0,1))

42 Scheduling Page 42 Inside a simulator Tuesday, November 23, :29 PM Inside a simulator Some concept of timebase, e.g., a global clock. A state variable for each server showing what state it is in. State transition logic for servers at job initiation/completion. Queue data structures for each required queue. Simulator structures: Initialize all data structures Main loop: Compute server input events. Compute state transitions on servers. Record server output events. Increment time End main loop. Report performance. Computing server input events Compute delay time While delay is active, do nothing except delay--. When delay==0, inject event and compute new delay. Computing state transitions When starting a server on a job record starting time. Compute job length from distribution When computing a job on a server, Advance time while doing nothing, until job length has passed. When past, load next job from queue into server.

43 p j q server. Scheduling Page 43

44 Scheduling Page 44 Other important distributions Tuesday, November 23, :38 PM Pareto: describes distribution of sizes of disk files on disk, or in a user home directory. PDF(x) = ab a /x a+1 CDF(x) = 1-(b/x) a a: rate factor; determines ratio of small-to-large b: starting (smallest) size ( 0) Pareto distribution attributes Not memoryless; what files you have does determine what files you create! Starts at non-zero boundary Polynomial increase over time, not exponential. Pareto distribution is a reasonably good model for: Sizes of files on disk. User disk usage (sample=user) CPU utilization of a user over some time period.

Why is scheduling so difficult?

Why is scheduling so difficult? Queueing Page 1 Why is scheduling so difficult? Wednesday, November 8, 2017 7:35 AM Scheduling is a matter of great controversy. Should it be fair? (O(log n)) Should it instead be fast? (O(1)) As well,

More information

Scheduling. Monday, November 22, 2004

Scheduling. Monday, November 22, 2004 Scheduling Page 1 Scheduling Monday, November 22, 2004 11:22 AM The scheduling problem (Chapter 9) Decide which processes are allowed to run when. Optimize throughput, response time, etc. Subject to constraints

More information

Lecture 5: Performance Analysis I

Lecture 5: Performance Analysis I CS 6323 : Modeling and Inference Lecture 5: Performance Analysis I Prof. Gregory Provan Department of Computer Science University College Cork Slides: Based on M. Yin (Performability Analysis) Overview

More information

Scheduling of processes

Scheduling of processes Scheduling of processes Processor scheduling Schedule processes on the processor to meet system objectives System objectives: Assigned processes to be executed by the processor Response time Throughput

More information

Announcements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM.

Announcements. Program #1. Program #0. Reading. Is due at 9:00 AM on Thursday. Re-grade requests are due by Monday at 11:59:59 PM. Program #1 Announcements Is due at 9:00 AM on Thursday Program #0 Re-grade requests are due by Monday at 11:59:59 PM Reading Chapter 6 1 CPU Scheduling Manage CPU to achieve several objectives: maximize

More information

8: Scheduling. Scheduling. Mark Handley

8: Scheduling. Scheduling. Mark Handley 8: Scheduling Mark Handley Scheduling On a multiprocessing system, more than one process may be available to run. The task of deciding which process to run next is called scheduling, and is performed by

More information

Uniprocessor Scheduling. Aim of Scheduling

Uniprocessor Scheduling. Aim of Scheduling Uniprocessor Scheduling Chapter 9 Aim of Scheduling Response time Throughput Processor efficiency Types of Scheduling Long-Term Scheduling Determines which programs are admitted to the system for processing

More information

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency

Uniprocessor Scheduling. Aim of Scheduling. Types of Scheduling. Long-Term Scheduling. Chapter 9. Response time Throughput Processor efficiency Uniprocessor Scheduling Chapter 9 Aim of Scheduling Response time Throughput Processor efficiency Types of Scheduling Long-Term Scheduling Determines which programs are admitted to the system for processing

More information

Introduction to Queuing Systems

Introduction to Queuing Systems Introduction to Queuing Systems Queuing Theory View network as collections of queues FIFO data-structures Queuing theory provides probabilistic analysis of these queues Examples: Average length Probability

More information

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013)

CPU Scheduling. Daniel Mosse. (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) CPU Scheduling Daniel Mosse (Most slides are from Sherif Khattab and Silberschatz, Galvin and Gagne 2013) Basic Concepts Maximum CPU utilization obtained with multiprogramming CPU I/O Burst Cycle Process

More information

CPU Scheduling. Rab Nawaz Jadoon. Assistant Professor DCS. Pakistan. COMSATS, Lahore. Department of Computer Science

CPU Scheduling. Rab Nawaz Jadoon. Assistant Professor DCS. Pakistan. COMSATS, Lahore. Department of Computer Science CPU Scheduling Rab Nawaz Jadoon DCS COMSATS Institute of Information Technology Assistant Professor COMSATS, Lahore Pakistan Operating System Concepts Objectives To introduce CPU scheduling, which is the

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

Last Class: Processes

Last Class: Processes Last Class: Processes A process is the unit of execution. Processes are represented as Process Control Blocks in the OS PCBs contain process state, scheduling and memory management information, etc A process

More information

Queuing Networks. Renato Lo Cigno. Simulation and Performance Evaluation Queuing Networks - Renato Lo Cigno 1

Queuing Networks. Renato Lo Cigno. Simulation and Performance Evaluation Queuing Networks - Renato Lo Cigno 1 Queuing Networks Renato Lo Cigno Simulation and Performance Evaluation 2014-15 Queuing Networks - Renato Lo Cigno 1 Moving between Queues Queuing Networks - Renato Lo Cigno - Interconnecting Queues 2 Moving

More information

Scheduling Bits & Pieces

Scheduling Bits & Pieces Scheduling Bits & Pieces 1 Windows Scheduling 2 Windows Scheduling Priority Boost when unblocking Actual boost dependent on resource Disk (1), serial (2), keyboard (6), soundcard (8).. Interactive, window

More information

Uniprocessor Scheduling. Chapter 9

Uniprocessor Scheduling. Chapter 9 Uniprocessor Scheduling Chapter 9 1 Aim of Scheduling Assign processes to be executed by the processor(s) Response time Throughput Processor efficiency 2 3 4 Long-Term Scheduling Determines which programs

More information

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD OPERATING SYSTEMS #5 After A.S.Tanenbaum, Modern Operating Systems, 3rd edition Uses content with permission from Assoc. Prof. Florin Fortis, PhD General information GENERAL INFORMATION Cooperating processes

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Properties of Processes

Properties of Processes CPU Scheduling Properties of Processes CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution: CPU Scheduler Selects from among the processes that

More information

Uniprocessor Scheduling

Uniprocessor Scheduling Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall CPU- and I/O-bound processes

More information

Scheduling Mar. 19, 2018

Scheduling Mar. 19, 2018 15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note

More information

Course Syllabus. Operating Systems

Course Syllabus. Operating Systems Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling

More information

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5) Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process

More information

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5 OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:

More information

Chapter 9. Uniprocessor Scheduling

Chapter 9. Uniprocessor Scheduling Operating System Chapter 9. Uniprocessor Scheduling Lynn Choi School of Electrical Engineering Scheduling Processor Scheduling Assign system resource (CPU time, IO device, etc.) to processes/threads to

More information

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes:

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes: CPU Scheduling (Topic 3) 홍성수 서울대학교공과대학전기공학부 Real-Time Operating Systems Laboratory CPU Scheduling (1) Resources fall into two classes: Preemptible: Can take resource away, use it for something else, then

More information

Chapter 9 Uniprocessor Scheduling

Chapter 9 Uniprocessor Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 9 Uniprocessor Scheduling Patricia Roy Manatee Community College, Venice, FL 2008, Prentice Hall Aim of Scheduling Assign

More information

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University Frequently asked questions from the previous class survey CS 370: SYSTEM ARCHITECTURE & SOFTWARE [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University OpenMP compiler directives

More information

Chapter 5: CPU Scheduling

Chapter 5: CPU Scheduling Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm Evaluation Chapter 5: CPU Scheduling

More information

Chapter 5 CPU scheduling

Chapter 5 CPU scheduling Chapter 5 CPU scheduling Contents Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

Announcements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed)

Announcements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed) Announcements Program #1 Due 2/15 at 5:00 pm Reading Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed) 1 Scheduling criteria Per processor, or system oriented CPU utilization

More information

Operating Systems. CPU Scheduling ENCE 360

Operating Systems. CPU Scheduling ENCE 360 Operating Systems CPU Scheduling ENCE 360 Operating System Schedulers Short-Term Which Ready process to Running? CPU Scheduler Long-Term (batch) Which requested process into Ready Queue? Admission scheduler

More information

Cover sheet for Assignment 3

Cover sheet for Assignment 3 Faculty of Arts and Science University of Toronto CSC 358 - Introduction to Computer Networks, Winter 2018, LEC0101 Cover sheet for Assignment 3 Due Monday March 5, 10:00am. Complete this page and attach

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 2, Issue 11, November 2012 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Process Scheduling

More information

CPU Scheduling: Objectives

CPU Scheduling: Objectives CPU Scheduling: Objectives CPU scheduling, the basis for multiprogrammed operating systems CPU-scheduling algorithms Evaluation criteria for selecting a CPU-scheduling algorithm for a particular system

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

CS3733: Operating Systems

CS3733: Operating Systems CS3733: Operating Systems Topics: Process (CPU) Scheduling (SGG 5.1-5.3, 6.7 and web notes) Instructor: Dr. Dakai Zhu 1 Updates and Q&A Homework-02: late submission allowed until Friday!! Submit on Blackboard

More information

CPU Scheduling. Schedulers. CPSC 313: Intro to Computer Systems. Intro to Scheduling. Schedulers in the OS

CPU Scheduling. Schedulers. CPSC 313: Intro to Computer Systems. Intro to Scheduling. Schedulers in the OS Schedulers in the OS Scheduling Structure of a Scheduler Scheduling = Selection + Dispatching Criteria for scheduling Scheduling Algorithms FIFO/FCFS SPF / SRTF Priority - Based Schedulers start long-term

More information

Project 2: CPU Scheduling Simulator

Project 2: CPU Scheduling Simulator Project 2: CPU Scheduling Simulator CSCI 442, Spring 2017 Assigned Date: March 2, 2017 Intermediate Deliverable 1 Due: March 10, 2017 @ 11:59pm Intermediate Deliverable 2 Due: March 24, 2017 @ 11:59pm

More information

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni Operating Systems Lecture 2.2 - Process Scheduling Golestan University Hossein Momeni momeni@iust.ac.ir Scheduling What is scheduling? Goals Mechanisms Scheduling on batch systems Scheduling on interactive

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 05 Lecture 18 CPU Scheduling Hello. In this lecture, we

More information

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling

Uniprocessor Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms. Three level scheduling Uniprocessor Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Three level scheduling 2 1 Types of Scheduling 3 Long- and Medium-Term Schedulers Long-term scheduler Determines which programs

More information

Operating Systems. Scheduling

Operating Systems. Scheduling Operating Systems Scheduling Process States Blocking operation Running Exit Terminated (initiate I/O, down on semaphore, etc.) Waiting Preempted Picked by scheduler Event arrived (I/O complete, semaphore

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 1018 L10 Synchronization Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Development project: You

More information

Frequently asked questions from the previous class survey

Frequently asked questions from the previous class survey CS 370: OPERATING SYSTEMS [CPU SCHEDULING] Shrideep Pallickara Computer Science Colorado State University L15.1 Frequently asked questions from the previous class survey Could we record burst times in

More information

CSL373: Lecture 6 CPU Scheduling

CSL373: Lecture 6 CPU Scheduling CSL373: Lecture 6 CPU Scheduling First come first served (FCFS or FIFO) Simplest scheduling algorithm cpu cpu 0 0 Run jobs in order that they arrive Disadvantage: wait time depends on arrival order. Unfair

More information

Probability Models.S4 Simulating Random Variables

Probability Models.S4 Simulating Random Variables Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard Probability Models.S4 Simulating Random Variables In the fashion of the last several sections, we will often create probability

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Scheduler Scheduling Scheduler allocates cpu(s) to threads and processes. This action is known as scheduling. The scheduler is a part of the process manager code that handles scheduling.

More information

Process Scheduling Part 2

Process Scheduling Part 2 Operating Systems and Computer Networks Process Scheduling Part 2 pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda Process Management Time Sharing Synchronization of Processes

More information

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms Operating System Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts Scheduling Criteria Scheduling Algorithms OS Process Review Multicore Programming Multithreading Models Thread Libraries Implicit

More information

Mean Value Analysis and Related Techniques

Mean Value Analysis and Related Techniques Mean Value Analysis and Related Techniques 34-1 Overview 1. Analysis of Open Queueing Networks 2. Mean-Value Analysis 3. Approximate MVA 4. Balanced Job Bounds 34-2 Analysis of Open Queueing Networks Used

More information

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections ) CPU Scheduling CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections 6.7.2 6.8) 1 Contents Why Scheduling? Basic Concepts of Scheduling Scheduling Criteria A Basic Scheduling

More information

ECE SPRING NOTE; This project has two parts which have different due dates.

ECE SPRING NOTE; This project has two parts which have different due dates. DATA STRUCTURES ECE 368 - SPRING 208 PROJECT : Event Driven Simulation for a Multiprocessor System Using a Priority Queue (It is a team project. Note: 2 students/team) ASSIGNMENT DATE: January 23, 208

More information

Ch 4 : CPU scheduling

Ch 4 : CPU scheduling Ch 4 : CPU scheduling It's the basis of multiprogramming operating systems. By switching the CPU among processes, the operating system can make the computer more productive In a single-processor system,

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Learning Objectives Scheduling To understand the role of a scheduler in an operating system To understand the scheduling mechanism To understand scheduling strategies such as non-preemptive

More information

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service TDDD82 Secure Mobile Systems Lecture 6: Quality of Service Mikael Asplund Real-time Systems Laboratory Department of Computer and Information Science Linköping University Based on slides by Simin Nadjm-Tehrani

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Scheduling. The Basics

Scheduling. The Basics The Basics refers to a set of policies and mechanisms to control the order of work to be performed by a computer system. Of all the resources in a computer system that are scheduled before use, the CPU

More information

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) CPU Scheduling The scheduling problem: - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) When do we make decision? 1 / 31 CPU Scheduling new admitted interrupt exit terminated

More information

Main Points of the Computer Organization and System Software Module

Main Points of the Computer Organization and System Software Module Main Points of the Computer Organization and System Software Module You can find below the topics we have covered during the COSS module. Reading the relevant parts of the textbooks is essential for a

More information

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Resource allocation in networks. Resource Allocation in Networks. Resource allocation Resource allocation in networks Resource Allocation in Networks Very much like a resource allocation problem in operating systems How is it different? Resources and jobs are different Resources are buffers

More information

Unit 3 : Process Management

Unit 3 : Process Management Unit : Process Management Processes are the most widely used units of computation in programming and systems, although object and threads are becoming more prominent in contemporary systems. Process management

More information

CPU Scheduling Algorithms

CPU Scheduling Algorithms CPU Scheduling Algorithms Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts with Java, by Silberschatz, Galvin, and Gagne (2007).

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating Systems Examples Java Thread Scheduling

More information

Queuing Systems. 1 Lecturer: Hawraa Sh. Modeling & Simulation- Lecture -4-21/10/2012

Queuing Systems. 1 Lecturer: Hawraa Sh. Modeling & Simulation- Lecture -4-21/10/2012 Queuing Systems Queuing theory establishes a powerful tool in modeling and performance analysis of many complex systems, such as computer networks, telecommunication systems, call centers, manufacturing

More information

A Study of the Performance Tradeoffs of a Tape Archive

A Study of the Performance Tradeoffs of a Tape Archive A Study of the Performance Tradeoffs of a Tape Archive Jason Xie (jasonxie@cs.wisc.edu) Naveen Prakash (naveen@cs.wisc.edu) Vishal Kathuria (vishal@cs.wisc.edu) Computer Sciences Department University

More information

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher CSC400 - Operating Systems 7: Scheduling J. Sumey Scheduling one of the main tasks of an OS the scheduler / dispatcher concerned with deciding which runnable process/thread should get the CPU next occurs

More information

Computer Science 4500 Operating Systems

Computer Science 4500 Operating Systems Computer Science 4500 Operating Systems Module 6 Process Scheduling Methods Updated: September 25, 2014 2008 Stanley A. Wileman, Jr. Operating Systems Slide 1 1 In This Module Batch and interactive workloads

More information

Operating System Concepts Ch. 5: Scheduling

Operating System Concepts Ch. 5: Scheduling Operating System Concepts Ch. 5: Scheduling Silberschatz, Galvin & Gagne Scheduling In a multi-programmed system, multiple processes may be loaded into memory at the same time. We need a procedure, or

More information

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling

Scheduling. Scheduling. Scheduling. Scheduling Criteria. Priorities. Scheduling scheduling: share CPU among processes scheduling should: be fair all processes must be similarly affected no indefinite postponement aging as a possible solution adjust priorities based on waiting time

More information

ayaz ali Micro & Macro Scheduling Techniques Ayaz Ali Department of Computer Science University of Houston Houston, TX

ayaz ali Micro & Macro Scheduling Techniques Ayaz Ali Department of Computer Science University of Houston Houston, TX ayaz ali Micro & Macro Scheduling Techniques Ayaz Ali Department of Computer Science University of Houston Houston, TX 77004 ayaz@cs.uh.edu 1. INTRODUCTION Scheduling techniques has historically been one

More information

MODELING OF SMART GRID TRAFFICS USING NON- PREEMPTIVE PRIORITY QUEUES

MODELING OF SMART GRID TRAFFICS USING NON- PREEMPTIVE PRIORITY QUEUES MODELING OF SMART GRID TRAFFICS USING NON- PREEMPTIVE PRIORITY QUEUES Contents Smart Grid Model and Components. Future Smart grid components. Classification of Smart Grid Traffic. Brief explanation of

More information

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s)

CPU Scheduling. The scheduling problem: When do we make decision? - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) 1/32 CPU Scheduling The scheduling problem: - Have K jobs ready to run - Have N 1 CPUs - Which jobs to assign to which CPU(s) When do we make decision? 2/32 CPU Scheduling Scheduling decisions may take

More information

CSE 120. Summer, Inter-Process Communication (IPC) Day 3. Inter-Process Communication (IPC) Scheduling Deadlock. Instructor: Neil Rhodes

CSE 120. Summer, Inter-Process Communication (IPC) Day 3. Inter-Process Communication (IPC) Scheduling Deadlock. Instructor: Neil Rhodes CSE 120 Summer, 2005 Inter-Process Communication (IPC) Day 3 Inter-Process Communication (IPC) Scheduling Deadlock Instructor: Neil Rhodes Inter-Process Communication Cooperating processes must communicate

More information

Scheduling in the Supermarket

Scheduling in the Supermarket Scheduling in the Supermarket Consider a line of people waiting in front of the checkout in the grocery store. In what order should the cashier process their purchases? Scheduling Criteria CPU utilization

More information

Announcements/Reminders

Announcements/Reminders Announcements/Reminders Class news group: rcfnews.cs.umass.edu::cmpsci.edlab.cs377 CMPSCI 377: Operating Systems Lecture 5, Page 1 Last Class: Processes A process is the unit of execution. Processes are

More information

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling CSE120 Principles of Operating Systems Prof Yuanyuan (YY) Zhou Scheduling Announcement l Homework 2 due on October 26th l Project 1 due on October 27th 2 Scheduling Overview l In discussing process management

More information

Start of Lecture: February 10, Chapter 6: Scheduling

Start of Lecture: February 10, Chapter 6: Scheduling Start of Lecture: February 10, 2014 1 Reminders Exercise 2 due this Wednesday before class Any questions or comments? 2 Scheduling so far First-Come-First Serve FIFO scheduling in queue without preempting

More information

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017 CPSC 531: System Modeling and Simulation Carey Williamson Department of Computer Science University of Calgary Fall 2017 Recap: Simulation Model Taxonomy 2 Recap: DES Model Development How to develop a

More information

Can "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior of the cloud).

Can scale cloud applications on the edge by adding server instances. (So far, haven't considered scaling the interior of the cloud). Recall: where we are Wednesday, February 17, 2010 11:12 AM Recall: where we are Can "scale" cloud applications "on the edge" by adding server instances. (So far, haven't considered scaling the interior

More information

Example: CPU-bound process that would run for 100 quanta continuously 1, 2, 4, 8, 16, 32, 64 (only 37 required for last run) Needs only 7 swaps

Example: CPU-bound process that would run for 100 quanta continuously 1, 2, 4, 8, 16, 32, 64 (only 37 required for last run) Needs only 7 swaps Interactive Scheduling Algorithms Continued o Priority Scheduling Introduction Round-robin assumes all processes are equal often not the case Assign a priority to each process, and always choose the process

More information

Chap 7, 8: Scheduling. Dongkun Shin, SKKU

Chap 7, 8: Scheduling. Dongkun Shin, SKKU Chap 7, 8: Scheduling 1 Introduction Multiprogramming Multiple processes in the system with one or more processors Increases processor utilization by organizing processes so that the processor always has

More information

Department of Computer applications. [Part I: Medium Answer Type Questions]

Department of Computer applications. [Part I: Medium Answer Type Questions] Department of Computer applications BBDNITM, Lucknow MCA 311: OPERATING SYSTEM [Part I: Medium Answer Type Questions] UNIT 1 Q1. What do you mean by an Operating System? What are the main functions of

More information

CS 385 Operating Systems Fall 2011 Homework Assignment 4 Simulation of a Memory Paging System

CS 385 Operating Systems Fall 2011 Homework Assignment 4 Simulation of a Memory Paging System CS 385 Operating Systems Fall 2011 Homework Assignment 4 Simulation of a Memory Paging System Due: Tuesday November 15th. Electronic copy due at 2:30, optional paper copy at the beginning of class. Overall

More information

Today s class. Scheduling. Informationsteknologi. Tuesday, October 9, 2007 Computer Systems/Operating Systems - Class 14 1

Today s class. Scheduling. Informationsteknologi. Tuesday, October 9, 2007 Computer Systems/Operating Systems - Class 14 1 Today s class Scheduling Tuesday, October 9, 2007 Computer Systems/Operating Systems - Class 14 1 Aim of Scheduling Assign processes to be executed by the processor(s) Need to meet system objectives regarding:

More information

General Objectives: To understand the process management in operating system. Specific Objectives: At the end of the unit you should be able to:

General Objectives: To understand the process management in operating system. Specific Objectives: At the end of the unit you should be able to: F2007/Unit5/1 UNIT 5 OBJECTIVES General Objectives: To understand the process management in operating system Specific Objectives: At the end of the unit you should be able to: define program, process and

More information

CSC369 Lecture 5. Larry Zhang, October 19,2015

CSC369 Lecture 5. Larry Zhang, October 19,2015 CSC369 Lecture 5 Larry Zhang, October 19,2015 1 Describe your A1 experience using the feedback form 2 Announcements Assignment 2 out later this week, due November 11 Midterm next week in lecture: 9:10AM

More information

Table 9.1 Types of Scheduling

Table 9.1 Types of Scheduling Table 9.1 Types of Scheduling Long-term scheduling Medium-term scheduling Short-term scheduling I/O scheduling The decision to add to the pool of processes to be executed The decision to add to the number

More information

CS418 Operating Systems

CS418 Operating Systems CS418 Operating Systems Lecture 9 Processor Management, part 1 Textbook: Operating Systems by William Stallings 1 1. Basic Concepts Processor is also called CPU (Central Processing Unit). Process an executable

More information

Operating Systems. Process scheduling. Thomas Ropars.

Operating Systems. Process scheduling. Thomas Ropars. 1 Operating Systems Process scheduling Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2018 References The content of these lectures is inspired by: The lecture notes of Renaud Lachaize. The lecture

More information

Operating Systems: Quiz2 December 15, Class: No. Name:

Operating Systems: Quiz2 December 15, Class: No. Name: Operating Systems: Quiz2 December 15, 2006 Class: No. Name: Part I (30%) Multiple Choice Each of the following questions has only one correct answer. Fill the correct one in the blank in front of each

More information

Process Scheduling. Copyright : University of Illinois CS 241 Staff

Process Scheduling. Copyright : University of Illinois CS 241 Staff Process Scheduling Copyright : University of Illinois CS 241 Staff 1 Process Scheduling Deciding which process/thread should occupy the resource (CPU, disk, etc) CPU I want to play Whose turn is it? Process

More information

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College CISC 7310X C05: CPU Scheduling Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/1/2018 CUNY Brooklyn College 1 Outline Recap & issues CPU Scheduling Concepts Goals and criteria

More information

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1 Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation

More information

Operating Systems (1DT020 & 1TT802)

Operating Systems (1DT020 & 1TT802) Uppsala University Department of Information Technology Name: Perso. no: Operating Systems (1DT020 & 1TT802) 2009-05-27 This is a closed book exam. Calculators are not allowed. Answers should be written

More information

Operating System Review Part

Operating System Review Part Operating System Review Part CMSC 602 Operating Systems Ju Wang, 2003 Fall Virginia Commonwealth University Review Outline Definition Memory Management Objective Paging Scheme Virtual Memory System and

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

Recall from deadlock lecture. Tuesday, October 18, 2011

Recall from deadlock lecture. Tuesday, October 18, 2011 Recall from deadlock lecture Tuesday, October 18, 2011 1:17 PM Basic assumptions of deadlock theory: If a process gets the resources it requests, it completes, exits, and releases resources. There are

More information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 326: Operating Systems. CPU Scheduling. Lecture 6 CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating

More information