操作系统学习笔记(六)---CPU调度

本文详细探讨了CPU调度,包括抢占与非抢占调度的区别、调度准则如CPU利用率和响应时间之间的冲突,以及各种调度算法如FCFS、SJF、优先级调度、轮转法等的优缺点。同时,解释了在不同场景下如何权衡这些准则,并通过例题深入分析了调度算法的实际应用。此外,还提到了线程调度的PCS和SCS方法及其区别。

目录

一、例题

二、调度准则

三、调度算法(Scheduling algorithm)

附:线程调度


一、例题

1.Explain the difference between preemptive and nonpreemptive scheduling.

Answer:

如果调度方案是非抢占的(nonpreemptive),一旦CPU分配给一个进程,那么该进程会一直使用CPU直到进程终止或切换到等待状态。而抢占的调度方案会在进程未达到终止或等待状态就切换进程(比如出现中断或 等待状态的进程的I/O完成而切换到就绪状态)。

简而言之就是CPU是否允许当前进程未结束或到达等待状态就进行进程切换。

 

2.Discuss how the following pairs of scheduling criteria conflict in certain settings.

a. CPU utilization and response time (CPU利用率和响应时间)

CPU利用率一定程度上取决于进程上下文切换的频繁程度,比如我们采用FCFS的调度方案那么CPU利用率也许会比较大但是不可避免的是响应时间会增加(显然这种方式进程等待时间会很不理想)。

 

b. Average turnaround time and maximum waiting time (平均周转时间和最大等待时间)

为使平均周转时间少,需要优先处理所需时间少的任务,然后这样时间长度长的进程的等待时间无疑会被加长。

 

c. I/O device utilization and CPU utilization(I/O设备利用率和CPU利用率)

CPU利用率的提高需要减少上下文切换的次数,而I/O设备利用率的提高需要让I/O设备一准备就绪就能马上运行—这需要上下文切换来实现,所以两者是矛盾的。

 

3.Consider the following set of processes,with the length of the CPU burst given in milliseconds:

The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0.

a. Draw four Gantt charts that illustrate the execution of these processes using the following scheduling algorithms: FCFS, SJF, nonpreemptive priority(a larger priority number implies a higher priority), and RR (quantum = 2).

b. What is the turnaround time of each process for each of the scheduling algorithm

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值