北航操作系统课程-20200402课堂小测-调度算法_7.关于多级反馈调度算法说法不正确的是( )。 a.是一种动态优先级算法b.是一种-程序员宅基地

技术标签: 北航计算机学院操作系统课程  操作系统  队列  

2020-04-02-课堂小测-调度算法


北京航空航天大学计算机学院-2020春操作系统课程
以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有限,如有错误敬请批评指正。


1 以下关于时间片轮转算法说法不正确的是:(单选)

A. 如果时间片设置过长,则退化为FCFS算法

B. 如果时间片设置过短,则退化为SJF算法

C. 为了控制系统响应时间,需要根据系统中进程数量选择时间片大小

D. 用户可以在一个时间片没有用完的情况下主动让出CPU

答:B

时间片设置过长,则几乎每一个作业都在一个时间片内完整执行,其效果相当于FCFS,A正确。时间片设置过短不会退化为SJF,SJF是短作业优先,在过短的时间片下短作业也会被切分得太碎,上下文切换得开销过大,B错误。为了控制响应时间,响应时间 = 进程数 * 时间片,因此需要根据进程数选择时间片的大小,C正确。用户进程可以在时间片没有用完得情况下主动让出CPU,例如IO类型进程等待IO的时间会转为阻塞状态让出CPU,D正确。


2 以下关于多级反馈队列说法正确的是:(多选)

A. 根据进程优先级设置多个就绪队列

B. 优先级越低时间片越长

C. 仅当高优先级队列为空时才会调度低优先级队列中的进程

D. 一个进程在高优先级队列中没能在一个时间片中完成执行,则会被降低到低优先级队列末尾

答:A、B、C、D

多级反馈队列的设置是根据进程优先级设置多个就绪队列,A正确。为了避免出现饿死的现象,将低优先级的进程设置较长的时间片,保证长作业或IO不密集的作业能够尽可能减少上下文切换带来的损失,B正确。仅当高优先级队列为空时才调度低优先级队列中的进程,C正确。高优先级队列中的进程没有在时间片内执行完,则说明改作业无法适应当前优先级的较短的时间片,会被降低优先级,排在低优先级队列的末尾,D正确。


3 以下关于多级反馈队列算法说法不正确的是:(单选)

A. 新到的高优先级进程会抢夺正在执行的低优先级进程的CPU

B. IO型进程通常应该被赋予更高的优先级,以便提高系统的响应速度

C. 一个进程等待IO时,会被放到低优先级的就绪队列中

D. CPU处理为主的进程,在IO完成后,放回原先IO请求时离开的队列

答:C

在多级反馈队列算法中,高优先级进程会抢夺正在执行的低优先级进程的CPU,被抢占的进程会被排在原队列的末尾,A正确。IO型进程通常应该被赋予更高的优先级,减少等待时间尽快执行,提高系统响应速度,B正确。在一个进程等待IO时,该进程会变为阻塞状态而非就绪状态,因此不会加进就绪队列,待IO结束后会重新加入原来的队列,C错误。计算型进程在IO完成后都会放回原来的队列末尾,以避免每次放回高优先级队列再降回低优先级队列中间的上下文切换开销,D正确。


4 发生优先级倒置现象时:(单选)

A. 高优先级进程会抢夺低优先级进程所持有的资源

B. 高优先级进程会被低优先级进程延迟或阻塞

C. 采用优先级置顶方法,就是将高优先级进程的优先级调整到最高

D. 采用优先级继承方法,就是让高优先级进程继承原先低优先级进程的优先级,以便低优先级进程尽快推进

答:B

优先级倒置的情况指的是低优先级进程占用了资源,但让出了处理机,高优先级进程想访问资源但被低优先级进程占用,遭到了阻塞或延迟,B正确。此时高优先级进程不能直接抢夺资源,这样会造成资源访问顺序出错,影响执行结果,A错误。采用优先级置顶的方法,是将低优先级进程的优先级调高,让它尽快释放被占用的资源,而非调整高优先级进程的优先级,C错误。采用优先级继承的方法,是让占用资源的低优先级进程继承高优先级进程的优先级,也是为了让其尽快释放资源,反之让高优先级进程继承低优先级进程的优先级对于低优先级进程的推进没有帮助,D错误。


5 以下说法正确的是:(单选)

A. 实时系统是指进程调度和执行非常快的系统

B. 实时系统对系统响应有确定的时间约束

C. 实时系统中不允许关闭中断

D. 硬实时系统可以偶尔不满足系统响应的时间约束

答:B

实时系统不是单纯指进程调度和执行非常快的系统,很多非实时系统也可以做到进程调度和执行非常快,实时系统指的是时间起主导作用,任务必须在确定的时间内给予响应的系统,A错误。实时系统对系统响应有确定的时间要求,B正确。实时系统是允许关闭中断的,只不过要求关中断时间尽可能地短,C错误。硬实时系统要求系统绝对满足截止时间,否则会产生灾难性后果,软实时系统可以有偶尔不满足截止时间,D错误。


6 以下关于单调速率调度算法说法正确的是:(单选)

A. 当进程数较多的时候,会导致CPU利用率下降到70%左右

B. 当所有进程请求的CPU利用率之和大于70%时,不存在满足所有进程实时性约束的调度方案

C. 当所有进程请求的CPU利用率之和小于69%时,一定存在满足所有进程实时性约束的调度方案

D. CPU利用率越高的进程越被优先调度

答:C

单调速率调度算法是一种实时系统静态优先级调度算法,是单处理机下的最优静态调度算法。其核心在于给出了,当 ∑ i = 1 n C i / T i ≤ n ( 2 n − 1 ) , ( n 为 进 程 数 ) \sum_{i=1}^{n} C_i/T_i \leq n(\sqrt[n]2 - 1), (n为进程数) i=1nCi/Tin(n2 1),(n) 时,该任务集合一定可被调度。虽然说利用率和进程数存在正相关的关系,但并不意味着任务数多之后CPU利用率下降,在静态调度中任务是固定的,CPU利用率也是固定的,不会因为进程数的改变而改变,A错误。CPU利用率大于70%时也可以存在满足实时性约束的调度方案,一来任务数没有给定,二来上文公式的约束是充分条件而不必要,不满足该条件也有可能存在满足实时性约束的调度方案,B错误。由于上文公式右侧n的函数,当n趋于无穷大时该值趋于69%,该函数的下界是69%,因此当所有进程CPU利用率之和小于69%时,无论进程数是多少,必然存在满足实时性约束的的调度方案,C正确。单个进程CPU利用率和其被调度的优先级没有直接关系,D错误。


7 以下说法正确的是:(单选)

A. EDF算法比RMS算法更优,因为EDF算法有更宽松的可调度条件

B. EDF算法是动态优先级调度算法,进程的优先级会随着时间推移发生变化

C. RMS是静态优先级调度算法,优先级由用户事先指定

D. RMS是静态优先级调度算法,所以不进行抢占式调度

答:B

EDF是动态优先级调度算法,由于其动态特性确实相较RMS有着更宽松的可调度条件,但是并不能说因此EDF就比RMS更优,算法的优劣要放在实际情况中去比较,几乎没有哪个算法永远比另一个算法更优,评判算法优劣的标准也有很多重,A错误。EDF是动态优先级调度算法,其特点就在于进程的优先级会随着时间推移发生变化,B正确。RMS是静态优先级算法,指的是任务集到来之后系统事先计算好各个进程的优先级和抢占关系,并不是说优先级由用户指定,也并非不抢占,C、D错误。


8 一个单处理机实时系统中有两个作业J1、J2,如下表所示,采用EDF算法调度,在第109时刻,运行在CPU上的进程是:(单选)
作业 Ji 起始时间 Si 执行时间 Ci 周期 Pi 截止时间 Di
J1 0 5 10 10
J2 0 12 25 25

A. 进程J1

B. 进程J2

C. 无进程执行

答:B

在这里插入图片描述

两个作业在EDF下动态调整优先级的执行和抢占关系如上图,可以看出两个作业执行特点共同的周期是50,在下一个50时间内重复上图的执行。第109时刻在第三个50时间周期内的第9时刻,在图中可以看出是J2在执行。


9 以下说法不正确的是:(单选)

A. 多处理机调度更加注重系统整体运行效率,而不是个别处理器的利用率

B. ASMP系统中各个处理器地位不同,可以给各个处理器划分固定的任务

C. 自调度就是每个处理器分别维护就绪队列,各自执行调度算法

D. 组成调度有利于减少相互合作的线程由于未被同时调度而引起的阻塞

答:C

多处理机调度更加注重系统整体运行效率,而不是个别处理器的利用率,A正确。ASMP,非对称式多处理机系统,系统中各个处理器地位不同,每个处理器访问的资源、时延都有差别,可以给各个处理器划分相对固定的任务,B正确。自调度指的是整个系统采用一个公共就绪队列,每个处理机都可以从队列中选择适当进程来执行,并不是每个处理器分别维护自己的就绪队列,C错误。组成调度是将一个进程中的一组线程,每次同时分派到一组处理机上执行,在剥夺处理机时也同时对这一组线程进行相同剥夺操作。通常这样的一组线程在应用逻辑上相互合作,成组调度提高了这些线程的执行并行度,有利于减少阻塞和加快推进速度,最终提高系统吞吐量,D正确。


10 以下关于Linux下CFS调度器说法正确的是:(多选)

A. 采用虚拟运行时间跟踪进程已经使用的CPU时间

B. 虚拟运行时间与进程权重成反比,与进程实际执行时间成正比

C. 采用红黑树组织就绪进程

D. 每次调度时选择虚拟运行时间最小的进程开始运行

E. CFS不再区分交互式进程,而将所有的进程统一对待,在既定的时间内每个进程都可获得公平的CPU占用时间

F. CFS调度器是由Con Kolivas实现的

答:A、B、C、D、E

从内核版本2.6.23开始,Linux一直使用CFS调度器。CFS采用虚拟运行时间vt,进程的 vt 与其实际的运行时间成正比,与其权重成反比,A、B正确。CFS使用红黑树数据结构维护就绪的进程,进程按照虚拟运行时间Vt排序,每次选择最左侧(vt最小)的进程执行,C、D正确。CFS使用完全公平的思想,不再跟踪进程的休眠时间,也不再区分交互式进程,其将所有的进程统一对待,在既定的时间内每个进程都可获得公平的CPU占用时间,E正确。CFS并不是由Con Kolivas实现的,F错误。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JeremyZhao1998/article/details/105290231

智能推荐

Oracle的硬解析和软解析(转)-程序员宅基地

文章浏览阅读132次。说到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程。当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程:  1..._oracle 表没有主键更新会造成硬解析吗

整体质量过程——测试要测的是什么?_unit test static code scan-程序员宅基地

文章浏览阅读232次。1 测试分类测试基本分为以下几个方面:功能测试 性能测试 安全测试 数据质量 浏览器兼容 增量测试 回归测试_unit test static code scan

[转载]Eclipse3.1中体验J2SE5.0之泛型-程序员宅基地

文章浏览阅读88次。Eclipse3.1中体验J2SE5.0之泛型泛型(Generics)简介  J2SE 5.0中的最显著的变化之一是添加对泛型类型的支持. 在J2SE 1.4 以及之前的版本中, Java程序并不是类型安全的. 例如,C...

Oracle 查看N分钟之前的数据_oracle查询几分钟前的数据-程序员宅基地

文章浏览阅读8.5k次,点赞2次,收藏5次。select distinct(t.字段名) from 表名 as of timestamp sysdate - 93/1440 t where t.字段名=' xxx '提 示:SYSDATE-93/1440是啥意思,1440又是怎么来的?首先60(分)×24=1440,计算一天时间是1440分钟SYSDATE是系统函数,用来取得当前的系统时间(以天为单位),SYSDATE..._oracle查询几分钟前的数据

在IE中为abbr标签加样式_abbr 样式-程序员宅基地

文章浏览阅读415次。在IE中为abbr标签加样式作者:JunChen 2005-5-24 9:56:57原文:http://www.sovavsiti.cz/css/abbr.html 翻译:JunChen版权:译者JunChen所有,转载请联系译者。 简介是用来为web页面上的简称(译者注:这里把简称和缩写分开而论,简称范围比缩写大,取首字母的缩写用标签)添加适当标注的XHTML标签_abbr 样式

云端卫士 | 玩得就是专业 基于ONOS的SDN-IP实验_onos 怎么去抓包分析-程序员宅基地

文章浏览阅读1.6k次。《实战录》导语云端卫士《实战录》栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益。本期分享人为云端卫士SDN工程师李松青,将带来基于ONOS的SDN-IP实验的分享。学习ONOS一段时间了,着力点是SDN-IP模块儿;SDN-IP实现了BGP协议,使得ONOS控制的孤岛网络可作为transit AS域插入大网,对于逐步替换大网设备,或步_onos 怎么去抓包分析

随便推点

SAP MM 如下图,IV时对于非计划交货成本分摊到各个ITEM中,为什么分摊比例是1:2 ?...-程序员宅基地

文章浏览阅读332次。SAPMM 如下图,做发票校验的时候,对于非计划交货成本分摊到各个ITEM中,为什么分摊比例是1:2,而非1:6? 【业务场景】 某个采购订单,包含2个行项目,物料A和物料B。..._sap 未计划交货 分摊

文件实时同步的实现基于 Centos 实现_一台centos两个目录文件同步-程序员宅基地

文章浏览阅读806次。使用场景现有服务器A和服务器B,如果服务器A的指定目录(例如/home/data/file)中的内容发生变更(增删改和属性变更),实时将这些变更同步到服务器B的目标目录中(例如/home/data/file)。数据镜像备份工具RsyncRsync是一个非常快速和灵活的文件复制工具。它支持本机或者是和远程服务器间的文件复制。Rsync使用了delta-transfer算法,它只需要传送源端和目标端的文件差异部分,大大减少了网络带宽的消耗和复制耗费的时间。Rsync多用于数据备份和镜像。..._一台centos两个目录文件同步

JAVA基础篇三(Java,C++中的异常机制)_异常是c++先引入的还是java先引入的-程序员宅基地

文章浏览阅读779次。由于C++和JAVA有很多相似之处,又有很多细微的差别,所以在学习JAVA的过程中对两种语言进行对比学习。1、C++的异常机制C++中处理异常的过程是这样的:在执行程序发生异常,可以不在本函数中处理,而是抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决不了,再传给其上一级,由其上一级处理。如此逐级上传,直到最高一级还无法处理的话,运行系统会自动调用系统函数terminate,由它_异常是c++先引入的还是java先引入的

机器学习中神经网络,支持向量机以及贝叶斯分类器总结_支持向量机扩展分类器模式-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏22次。第五章神经网络5.1神经元模型神经网络中最基本的成分是神经元模型,即“简单单元”。 在“M-P神经元模型“中,神经元接受收到来自n个其他神经元传递过来的输入信号,这些输入信号经过带权重的连接进行传递,神经元接收到的总输入值将于神经元的阈值进行比较比较,然后通过”激活函数“处理以产生神经元的输出。 激活函数有两种:阶跃函数和sigmoid函数。由于阶跃函数具有不连续、不光滑的..._支持向量机扩展分类器模式

奥比中光Orbbec Astra在ROS使用_astra_s怎么用-程序员宅基地

文章浏览阅读662次。请在下面网址,分别下载对应包:1、https://github.com/ktossell2、https://orbbec3d.com/develop/下载下图这个。下载之后文件夹里选择相应的版本。这里应为系统是Ubuntu 16.04 64bit PC选择对应64bit版本首先安装相关的依赖$ sudo apt-get install build-essential freeglut3 freeglut3-dev拷贝并解压,进入对应文件夹:$ sudo apt-get install b_astra_s怎么用

android关于输入法弹出时的UI变动_安卓 windowsoftinputmode adjustpan-程序员宅基地

文章浏览阅读2.3k次。解决办法:方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);方法二:在项目的AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode=_安卓 windowsoftinputmode adjustpan