Bài giảng Hệ điều hành nâng cao - Chapter 5: CPU Scheduling

67 44 1
Bài giảng Hệ điều hành nâng cao - Chapter 5: CPU Scheduling

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Hệ điều hành nâng cao - Chapter 5: CPU Scheduling trình bày các khái niệm cơ bản, tiêu chuẩn lập kế hoạch, lập kế hoạch các thuật toán, lập kế hoạch đa xử lý, hệ thống điều hành, thuật toán đánh giá,...

Chapter 5: CPU Scheduling Operating System Concepts  – 8th Edition Silberschatz, Galvin and Gagne ©2009 Chapter 5: CPU Scheduling  Basic Concepts  Scheduling Criteria   Scheduling Algorithms  Thread Scheduling  Multiple­Processor Scheduling  Operating Systems Examples  Algorithm Evaluation Operating System Concepts – 8th Edition 5.2 Silberschatz, Galvin and Gagne ©2009 Objectives  To introduce CPU scheduling, which is the basis for multiprogrammed operating systems  To describe various CPU­scheduling algorithms  To discuss evaluation criteria for selecting a CPU­scheduling algorithm for a particular system Operating System Concepts – 8th Edition 5.3 Silberschatz, Galvin and Gagne ©2009 Basic Concepts  Maximum CPU utilization obtained with multiprogramming  CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait  CPU burst distribution Operating System Concepts – 8th Edition 5.4 Silberschatz, Galvin and Gagne ©2009 Alternating Sequence of CPU and I/O Bursts Operating System Concepts – 8th Edition 5.5 Silberschatz, Galvin and Gagne ©2009 Histogram of CPU-burst Times Operating System Concepts – 8th Edition 5.6 Silberschatz, Galvin and Gagne ©2009 CPU Scheduler  Selects from among the processes in ready queue, and allocates the CPU to one of them   Queue may be ordered in various ways CPU scheduling decisions may take place when a process: Switches from running to waiting state Switches from running to ready state Switches from waiting to ready Terminates  Scheduling under 1 and 4 is nonpreemptive  All other scheduling is preemptive  Consider access to shared data  Consider preemption while in kernel mode  Consider interrupts occurring during crucial OS activities Operating System Concepts – 8th Edition 5.7 Silberschatz, Galvin and Gagne ©2009 Dispatcher   Dispatcher module gives control of the CPU to the process selected by the short­term scheduler; this  involves:  switching context  switching to user mode  jumping to the proper location in the user program to restart that program Dispatch latency – time it takes for the dispatcher to stop one process and start another running Operating System Concepts – 8th Edition 5.8 Silberschatz, Galvin and Gagne ©2009 Scheduling Criteria  CPU utilization – keep the CPU as busy as possible  Throughput – # of processes that complete their execution per time unit  Turnaround time – amount of time to execute a particular process  Waiting time – amount of time a process has been waiting in the ready queue  Response time – amount of time it takes from when a request was submitted until the first response is  produced, not output  (for time­sharing environment) Operating System Concepts – 8th Edition 5.9 Silberschatz, Galvin and Gagne ©2009 Scheduling Algorithm Optimization Criteria  Max CPU utilization  Max throughput  Min turnaround time   Min waiting time   Min response time Operating System Concepts – 8th Edition 5.10 Silberschatz, Galvin and Gagne ©2009 Little’s Formula  n = average queue length  W = average waiting time in queue  λ = average arrival rate into queue  Little’s law – in steady state, processes leaving queue must equal processes arriving, thus n = λ x W   Valid for any scheduling algorithm and arrival distribution For example, if on average 7 processes arrive per second, and normally 14 processes in queue, then average wait  time per process = 2 seconds Operating System Concepts – 8th Edition 5.53 Silberschatz, Galvin and Gagne ©2009 Simulations  Queueing models limited  Simulations more accurate  Programmed model of computer system  Clock is a variable  Gather statistics  indicating algorithm performance  Data to drive simulation gathered via  Random number generator according to probabilities  Distributions defined mathematically or empirically  Trace tapes record sequences of real events in real systems Operating System Concepts – 8th Edition 5.54 Silberschatz, Galvin and Gagne ©2009 Evaluation of CPU Schedulers by Simulation Operating System Concepts – 8th Edition 5.55 Silberschatz, Galvin and Gagne ©2009 Implementation  Even simulations have limited accuracy     Just implement new scheduler and test in real systems  High cost, high risk  Environments vary Most flexible schedulers can be modified per­site or per­system Or APIs to modify priorities But again environments vary Operating System Concepts – 8th Edition 5.56 Silberschatz, Galvin and Gagne ©2009 End of Chapter Operating System Concepts  – 8th Edition Silberschatz, Galvin and Gagne ©2009 5.08 Operating System Concepts – 8th Edition 5.58 Silberschatz, Galvin and Gagne ©2009 In-5.7 Operating System Concepts – 8th Edition 5.59 Silberschatz, Galvin and Gagne ©2009 In-5.8 Operating System Concepts – 8th Edition 5.60 Silberschatz, Galvin and Gagne ©2009 In-5.9 Operating System Concepts – 8th Edition 5.61 Silberschatz, Galvin and Gagne ©2009 Dispatch Latency Operating System Concepts – 8th Edition 5.62 Silberschatz, Galvin and Gagne ©2009 Java Thread Scheduling  JVM Uses a Preemptive, Priority­Based Scheduling Algorithm  FIFO Queue is Used if There Are Multiple Threads With the Same Priority Operating System Concepts – 8th Edition 5.63 Silberschatz, Galvin and Gagne ©2009 Java Thread Scheduling (Cont.) JVM Schedules a Thread to Run When: The Currently Running Thread Exits the Runnable State A Higher Priority Thread Enters the Runnable State    * Note – the JVM Does Not Specify Whether Threads are Time­Sliced or Not Operating System Concepts – 8th Edition 5.64 Silberschatz, Galvin and Gagne ©2009 Time-Slicing Since the JVM Doesn’t Ensure Time­Slicing, the yield() Method  May Be Used: while (true) { // perform CPU­intensive task  .  Thread.yield(); } This Yields Control to Another Thread of Equal Priority Operating System Concepts – 8th Edition 5.65 Silberschatz, Galvin and Gagne ©2009 Thread Priorities Priority Comment Thread.MIN_PRIORITY Minimum Thread Priority Thread.MAX_PRIORITY                Maximum Thread Priority Thread.NORM_PRIORITY                Default Thread Priority Priorities May Be Set Using setPriority() method: setPriority(Thread.NORM_PRIORITY + 2); Operating System Concepts – 8th Edition 5.66 Silberschatz, Galvin and Gagne ©2009 Solaris Scheduling Operating System Concepts – 8th Edition 5.67 Silberschatz, Galvin and Gagne ©2009 .. .Chapter 5: CPU Scheduling  Basic Concepts  Scheduling? ?Criteria   Scheduling? ?Algorithms  Thread? ?Scheduling  Multiple­Processor? ?Scheduling  Operating Systems Examples... To introduce? ?CPU? ?scheduling,  which is the basis for multiprogrammed operating systems  To describe various? ?CPU? ?scheduling? ?algorithms  To discuss evaluation criteria for selecting a? ?CPU? ?scheduling? ?algorithm for a particular system... Operating System Concepts – 8th Edition 5.33 Silberschatz, Galvin and Gagne ©2009 Multiple-Processor Scheduling  CPU? ?scheduling? ?more complex when multiple CPUs are available  Homogeneous processors within a multiprocessor

Ngày đăng: 08/05/2021, 12:50

Từ khóa liên quan

Mục lục

  • Slide 1

  • Chapter 5: CPU Scheduling

  • Objectives

  • Basic Concepts

  • Alternating Sequence of CPU and I/O Bursts

  • Histogram of CPU-burst Times

  • CPU Scheduler

  • Dispatcher

  • Scheduling Criteria

  • Scheduling Algorithm Optimization Criteria

  • First-Come, First-Served (FCFS) Scheduling

  • FCFS Scheduling (Cont.)

  • Shortest-Job-First (SJF) Scheduling

  • Example of SJF

  • Determining Length of Next CPU Burst

  • Prediction of the Length of the Next CPU Burst

  • Examples of Exponential Averaging

  • Example of Shortest-remaining-time-first

  • Priority Scheduling

  • Example of Priority Scheduling

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan