【操作系统概念】【恐龙书】笔记五——第五章 CPU调度

本文详细介绍了操作系统的CPU调度,包括基本概念、调度器的工作方式、调度决策时刻、调度目标与指标、各种调度算法(如FCFS、SJF、轮转调度等)以及优化策略。通过实例分析了不同调度算法对平均等待时间的影响,并探讨了多处理器和实时调度的挑战及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Chapter 5: Process Scheduling

5.1Basic 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

Histogram of CPU-burst durations(大量的短CPU bursts以及少量的长CPU bursts)

CPU Scheduler

Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them

CPU scheduling decisions may take place when a process:

1.Switches from running to waiting state

2.Switches from running to ready state

3.Switches from waiting to ready

4.Terminates

Scheduling under 1 and 4 is nonpreemptive/cooperative(进程只有终结或者跳到wait状态的时候才会释放CPU)

All other scheduling is preemptive(需要计时器)

抢占式的缺点:共享数据不一致

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

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)(turnaround time会被输出设备的速度限制)

Scheduling Algorithm Optimization Criteria

  • Max CPU utilization

  • Max throughput

  • Min turnaround time

  • Min waiting time

  • Min response time

First-Come, First-Served (FCFS) Scheduling

Process Burst Time

P1 24

P2 3

P3 3

Suppose that the processes arrive in the order: P1 , P2 , P3, The Gantt Chart for the schedule is:

 

Waiting time for P1 = 0; P2 = 24; P3 = 27

Average waiting time: (0 + 24 + 27)/3 = 17

Suppose that the processes arrive in the order: P2 , P3 , P1, The Gantt chart for the schedule is:

 

Waiting time for P1 = 6; P2 = 0; P3 = 3

Average waiting time: (6 + 0 + 3)/3 = 3

Much better than previous case

Convoy effect: short process behind long process(护送效应)

Shortest-Job-First (SJF) Scheduling

Associate with each process the length of its next CPU burst. Use these lengths to schedule the process with the shortest time

Two schemes:

  • nonpreemptive – once CPU given to the process it cannot be preempted until completes its CPU burst

  • preemptive – if a new process arrives with CPU burst length less than remaining time of current executing process, preempt. This scheme is know as the Shortest-Remaining-Time-First (SRTF)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值