We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byAdan Snook
Modified over 2 years ago
1 © 2008 Universität Karlsruhe (TU), System Architecture Group 3 Scheduling Problems Kernel Scheduler User Level Scheduler
© 2008 Universität Karlsruhe (TU), System Architecture Group 2 Intended Schedule Motivation Abstract Scheduling Problem Scheduling Goals Scheduling Policies Priority Scheduling and its problems Hints to Assignment 1
© 2008 Universität Karlsruhe (TU), System Architecture Group 3 Motivation Schedules & Scheduling? Lecturer hands out intended schedule of this course which topic at what date Schools/universities etc. need schedules for their various classes, courses, i.e. course time location Furthermore, there are schedules for Trains Airlines Ships, fairies Travel agency people are experts in scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 4 Example Problem Find an appropriate traffic solution for a flight to Sydney via Bahrain and Singapore Book a car and a hotel near the conference hall Scheduling has to be done Scheduling ~ planning minor or major events, e.g. elections, examinations, weddings, recipes, etc. Motivation
5 © 2008 Universität Karlsruhe (TU), System Architecture Group Abstract Scheduling Problem
© 2008 Universität Karlsruhe (TU), System Architecture Group 6 Scheduling * Simplification: Only focus on the resource CPU Abstract Scheduling Problem * How to map executable units of activity (threads) to executing units (processors)? Criteria how to schedule? overall system goals or specific application constraints: Time critical threads should meet theirdeadlines, neither too early, nor too late Fast response to an interactive input
© 2008 Universität Karlsruhe (TU), System Architecture Group 7 Abstract Scheduling Problem ? CPU 1 CPU 2 CPU 3 T1 T2 T3 T4 T5 T6 How to map these 6 threads to 3 CPUs? Is there an optimal schedule? As long as there is no performance measure, we can neither produce a good, nor a bad schedule
© 2008 Universität Karlsruhe (TU), System Architecture Group 8 Scheduling Concrete Scheduling Problems In a multi-programming system n > 1 processes (KLTs) can be ready Which of these processes (KLTs) should run next? Youre watching a Beatles (…) video How to manage that network-software data stream decoding output to screen and audio is well done concurrently? Additionally, you have initiated a long running compute- bound job in the background. When to switch to it? In a multi-threaded application a programmer wants to influence, how her/his threads are scheduled
© 2008 Universität Karlsruhe (TU), System Architecture Group 9 Scheduling Concrete Scheduling Problems In assignment 1 you must emulate a user-level scheduler What does a scheduler need to know to do its job? It must know the system state and each processs state, i.e. all relevant scheduling information of each candidate and each resource Related information per KLT/PULT has to be provided at user-level You have to install your own TCBs How to find a specific TCB? What information has to be provided per TCB?
10 © 2008 Universität Karlsruhe (TU), System Architecture Group Scheduling Goals Quantitative Qualitative
© 2008 Universität Karlsruhe (TU), System Architecture Group 11 Quantitative Scheduling Goals CPU Utilization When is a CPU unused? Throughput Number of completed jobs per time Response Time Turnaround Time Waiting Time Number of Deadline Violations Lateness Tardiness Real Time Problems
© 2008 Universität Karlsruhe (TU), System Architecture Group 12 influenced by current load & by scheduler influenced by process or resource shortage What is included in a Waiting Time? Waiting time? 1. Time a process spends in the ready queue 2. Time a process/thread is blocked, i.e. due to missing message missing input missing resource Blocked processes/threads should not hold a CPU Kernel stores them in a separate data structure, the waiting queue(s)
© 2008 Universität Karlsruhe (TU), System Architecture Group 13 Response/Turnaround Time Creation time Admission time Release time t0t0 t1t1 First instruction of the process is executed on CPU t2t2 First output of the process on the monitor t3t3 Completion time Turnaround Time Response Time
© 2008 Universität Karlsruhe (TU), System Architecture Group 14 Qualitative Goals Predictability Low variance in turnaround times and/or response times of a specific task System guarantees certain quality of service Fairness Few starving applications In MULTICS, when shutting down the machine, they found a 10 year old job Robustness Few system crashes The simpler the system, the more robust
15 © 2008 Universität Karlsruhe (TU), System Architecture Group Scheduling Policies System Environment Principle Components of Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 16 System Environment Different Systems require different scheduling policies Computer server Use budgets (due to contracts) to fulfill requirements of its clients Distinguish between high cost and low cost applications Desktop Computer Multiple interactive & batch jobs preferring interactive ones Offer foreground and background jobs Soft Real Time Distinguish inside an application mandatory and optional parts, the latter might only improve the quality of a video or audio recording, but are not necessary
© 2008 Universität Karlsruhe (TU), System Architecture Group 17 Scheduling Characteristics of a Scheduling Policy Scheduling order: where in the ready queue(s) to place a new (or unblocked) thread Selection: which ready thread to run next Decision mode: when to execute the selection function Non preemptive Once a thread is running, it will continue until it terminates yields blocks (e.g. due to I/O or due to a wait()) Preemptive A running KLT or process is preempted when a more urgent work has to be done or a process or KLT has expired its time slice
© 2008 Universität Karlsruhe (TU), System Architecture Group 18 Survey on Scheduling Policies FCFS = first come first served (R)SJF = (remaining) shortest job first RR = round robin System wide constant time-slice Job (class) specific time-slice MLF = multi-level feedback Priority Static priority values Dynamic priority values … Scheduling needs at least estimation of execution time
© 2008 Universität Karlsruhe (TU), System Architecture Group 19 Why Different Scheduling Policies? Different application scenarios Different performance measures Response time Turnaround time Throughput … Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 20 First Come First served Remark: Many things in daily life are scheduled according to FCFS. Its quite fair, but not usable under certain circumstances. Give examples Ready queue: ordered according to start times Selection function: select the oldest ready thread Decision mode:non preemptive (or preemptive) Which one to chose? Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 21 Implementation Remarks What information do you need to implement strict FCFS? Suppose your process does a blocking I/O. How to deal with this process when its I/O has finished? Do you have to preempt the currently running process? Idea: Whenever you have to fill the PCB into a queue, do it according to increasing start times, i.e. the head of the queue must be the senior
© 2008 Universität Karlsruhe (TU), System Architecture Group 22 Shortest Job First Ready queue:How to order? Selection function: thread with the shortest (expected) execution (burst) time Decision mode: non preemptive We need to estimate the required processing time (CPU burst time) for each thread Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 23 Round Robin Ready queue:Append each new ready entry Selection function: select first thread in ready queue Decision mode: time preemptive A non cooperative thread is allowed to run until its time slice TS ends (TS [0.1, 100]* ms) When a timer interrupt occurs, the running thread is appended to the ready queue * Depends on the application system & on the CPU speed Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 24 Scheduling Terminate Multilevel Feedback in CTTS 1 Selection:first thread in highest ready queue RQ 0 Decision mode:Preemptive (at least due to time slices) However, you may also add priority preemption Whenever a thread is unblocked after an I/O it is admitted to RQ 0 PRIORITyPRIORITy 1 CTSS started in 1961 at MIT, used until 1973 (reused in MULTICS)
© 2008 Universität Karlsruhe (TU), System Architecture Group 25 Scheduling Analysis: Multilevel Feedback Policy MLFB approximates SRTF: CPU bound KLTs drop like a rock (they might starve) Short-running I/O bound jobs stay near the top Scheduling must be done between the queues Fixed priority scheduling: select a KLT from RQ i, only if RQ i-1 to RQ 0 are empty Time slice: each queue has an individual TS Countermeasure = user action foiling the intent of the OS designer Put in a bunch of meaningless I/O to keep KLTs priority high Example of Othello program: insert printf s, program ran much faster
© 2008 Universität Karlsruhe (TU), System Architecture Group 26 Scheduling Remark: Priority based scheduling is often done with preemption and with dynamic priorities Priority Scheduling Selection function: ready thread with highest priority Decision mode: non preemptive, i.e. a thread keeps on running until it cooperates (e.g. yielding) or blocks itself (e.g. initiating an I/O) or terminates Drawbacks: Danger of starvation and priority inversion
© 2008 Universität Karlsruhe (TU), System Architecture Group 27 Problems with Static Priorities Thread with highest priority runs on CPU What will happen when this thread is calling yield() ? After a minor delay due to execution time of yield() the calling thread will run again if no other ready thread with the same or even a higher priority Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 28 Further Problems with Priorities? Priority Inversion Mars pathfinder Deadlocks Mutual waiting Spin Locks Active waiting Proper mapping of priority values to KLTs or to processes Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 29 Events leading to a Thread Switch yield() works fine if there are other threads with the same priority value A thread WT is calling a method of a synchronized class with an internal wait() WT waits until its partner send a notify Partner thread ST does a notify() within another method of the same synchronized class, whereby thread WT only runs if its priority is higher than the one of thread ST A thread returns or exits otherwise Scheduling
© 2008 Universität Karlsruhe (TU), System Architecture Group 30 Assignment #1 a Java Version 1.4 (and later versions) Threads are Kernel Level Threads scheduling can hardly be influenced by the Java VM and it depends heavily on kernels scheduling policy yielding sets a KLTs state to runnable kernel-scheduler may schedule this thread again right after it has yielded What about sleep(), wait() & notify() ? Scheduling
Revision CS3008 Operating Systems. Three Main Areas Process Management Memory Management I/O Management Virtual MemoryFile Systems Device Driver Terminals.
Silberschatz, Galvin and Gagne Operating System Concepts Schedulers Long-term scheduler (or job scheduler) – selects which processes should be.
UNIT II PROCESS SCHEDULING AND SYNCRONIZATION Handled by K. Venkatesh & A. Razia Sultana.
© 2004, D. J. Foreman 1 Scheduling & Dispatching.
Chapter 5: CPU Scheduling Adapted by Donghui Zhang from the original version by Silberschatz et al.
CPU Scheduling. Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Thread Scheduling Operating.
Operating Systems Chapter 6. Main functions of an operating system 1. User/computer interface: Provides an interface between the user and the computer.
Operating Systems: Processes & CPU Scheduling Pål Halvorsen 15/ INF1060: Introduction to Operating Systems and Data Communication.
Scheduling Algorithems First Come First Serve Scheduling Shortest Job First Scheduling Priority Scheduling Round-Robin Scheduling Multilevel Queue Scheduling.
1 Chapter 6 Operating Systems. 2 Learning outcomes Describe the functions of the Operating System and its components. Explain where the operating system.
1 Operating Systems Chapter 6. 2 What is an operating system? A program that runs on the hardware and supports Resource Abstraction Resource Sharing Abstracts.
Linux: The Guts By Sam Evans and John Massey. History Of Linux ❖ 1984: Richard Stallman quits his job at MIT, and starts working on the GNU project. ❖
Chapter 9 Uniprocessor Scheduling Seventh Edition By William Stallings Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals.
1 Computer Systems & Architecture Lesson 3 5. Designing the Architecture.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 13Slide 1 Chapter 13 Real-time Software Design.
Advanced Operating Systems Prof. Muhammad Saeed. February 11, 2014Advanced Operating Systems2 The part of the operating system that makes the choice of.
Chapter 3 1 Process Description and Control Chapter 3.
Silberschatz, Galvin and Gagne ©2010 Operating System Concepts Essentials – 8 th Edition Chapter 16: Windows 7.
ADAMA UNIVERSITY SCHOOL OF ENGENEERING & INFORMATION TECHNOLOGIES Sem. II,2010/11 INSTRUCTOR TARIKU W OPERATING SYSTEM (IT3016)
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 26: Advanced.
1 Process Description and Control Chapter 2. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Uniprocessor Scheduling Chapter 9 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College, Venice,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Software Design.
Copyright 2004 Bernd Brügge TUM Software Engineering WS TUM System Design II Bernd Brügge Technische Universität München Applied Software Engineering.
Fakultät für informatik informatik 12 technische universität dortmund Resource Access Protocols Peter Marwedel Informatik 12 TU Dortmund Germany 2008/12/06.
1 GREY BOX TESTING Web Apps & Networking Session 10 Boris Grinberg
Executional Architecture Lecture Conceptual vs execution Conceptual Architecture Execution Architecture Component Connector Domain-level responsibilities.
Silberschatz, Galvin, and Gagne Applied Operating System Concepts Module 14: Network Structures Background Motivation Topology Network Types.
Dave Stewart, PhD Director of Research and Systems Integration InHand Electronics Achieving Real-Time Performance with.
Copyright 2011 John Wiley & Sons, Inc Business Data Communications and Networking 11th Edition Jerry Fitzgerald and Alan Dennis John Wiley & Sons, Inc.
© 2016 SlidePlayer.com Inc. All rights reserved.