操作系统原理第四章 处理机调度习题
- 格式:docx
- 大小:41.91 KB
- 文档页数:10
操作系统--精髓与设计原理(第⼋版)第四章复习题答案操作系统--精髓与设计原理(第⼋版)第四章复习题答案4.1 表3.5列出了在⼀个没有线程的操作系统中进程控制块的基本元素。
对于多线程系统,这些元素中哪些可能属于线程控制块,哪些可能属于进程控制块?这对于不同的系统来说通常是不同的,但⼀般来说,进程是资源的所有者,⽽每个线程都有它⾃⼰的执⾏状态。
关于表3.5中的每⼀项的⼀些结论如下:进程控制信息:调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到⽀持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级;进程标识:进程必须被标识,⽽进程中的每⼀个线程也必须有⾃⼰的ID。
处理器状态信息:这些信息通常只与进程有关。
4.2 请列出线程间的模式切换⽐进程间的模式切换开销更低的原因。
包含的状态信息更少。
4.3 在进程概念中体现出的两个独⽴且⽆关的特点是什么?资源所有权: 进程包括存放进程映像的虚拟地址空间;回顾第3章的内容可知,进程映像是程序、数据、栈和进程控制块中定义的属性集。
进程总具有对资源的控制权或所有权,这些资源包括内存、I/O通道、I/O设备和⽂件等。
操作系统提供预防进程间发⽣不必要资源冲突的保护功能。
调度/执⾏:进程执⾏时采⽤⼀个或多程序(见图1.5)的执⾏路径(轨迹),不同进程的执⾏过程会交替进⾏。
因此,进程具有执⾏态(运⾏、就绪等)和分配给其的优先级,是可被操作系统调度和分派的实体。
4.4 给出在单⽤户多处理系统中使⽤线程的四个例⼦。
前台和后台操作异步处理加速执⾏模块化程序结构。
4.5 哪些资源通常被⼀个进程中的所有线程共享?进程中的所有线程共享该进程的状态和资源,例如地址空间,⽂件资源,执⾏特权等。
4.6 列出⽤户级线程由于内核级线程的三个优点。
由于所有线程管理数据结构都在⼀个进程的⽤户地址空间中,线程切换不需要内核级模式的特权,因此,进程不需要为了线程管理⽽切换到内核模式,这节省了在两种模式间进⾏切换(从⽤户模式到内核模式;从内核模式返回⽤户模式)的开销。
处理机调度
【例】假设一个系统中有5个进程,它们到达时间和服务时间如表3-1所示,忽略I/O 以及其他开销时间,若分别按先来先服务(FCFS )、非抢占及抢占的短进程优先(SPF )、高响应比优先(HRRN )、时间片轮转(RR ,时间片=1)、多级反馈队列调度算法(FB ,第i 级队列的时间片=1
2-i )以及立即抢占的多级反馈队列调度算法(FB ,第i 级队列的时间片=1
2-i )进行CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
表3-1 进程到达和需服务时间
RR调度顺序。
处理器调度选择题•当CPU执行操作系统代码时,则处理机处于( )。
•A.执行态B.目态C.管态D.就绪态•( )是机器指令的扩充,是硬件的首次延伸,是加在硬件上的第一层软件。
•A.系统调用B.操作系统C.内核D.特权指令•操作系统提供给程序员的接口是( )。
•A.进程B.系统调用C.库函数D.B和C•用户程序向系统提出使用外设的请求方式是( )。
•A.作业申请B.原语C.系统调用D.I/O指令•当作业正常完成进入完成状态时,操作系统( )。
•A.将输出该作业的结果并删除内存中的作业•B.将收回该作业的所占资源并输出结果•C.将收回该作业的所占资源及输出结果,并删除该作业•D.将收回该作业的所占资源及输出结果,并将它的控制块从当前的队列中删除•下列选项是关于作业和进程关系的描述,其中哪一个是不正确的( )。
•A.作业的概念主要用在批处理系统中,而进程的概念则用在几乎所有的OS中。
•B.作业是比进程低一级的概念。
•C.一个作业至少由一个进程组成。
•D.作业是用户向计算机提交任务的实体,而进程是完成用户任务的执行实体以及向系统申请分配资源的基本单位。
•作业从后备作业到被调度程序选中的时间称为( )。
•周转时间B.响应时间C.等待调度时间D.运行时间•设有三个作业J1,J2,J3,它们同时到达,运行时间分别为T1,T2,T3,且T1≤T2≤T3,若它们在一台处理机上按单道运行,采用短作业优先算法,则平均周转时间为( )。
•A.T1+T2+T3 B.1/3(T1+T2+T3)•C.T1+2/3T2+1/3T3 D.T1+1/3T2+2/3T3•从作业提交给系统到作业完成的时间间隔称为作业的( )。
•A.中断时间B.等待时间C.周转时间D.响应时间•设有四个作业同时到达,每个作业执行时间均为2 h,它们在一台处理机上按单道方式运行,则平均周转时间为( )。
•A.1 h B.5 h C.2.5 h D.8 h•FCFS调度算法有利于( )。
第四章处理机调度与死锁4.1 知识点汇总1、处理机调度级别⑴调度:选出待分派的作业或进程⑵处理机调度:分配处理机⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)2、作业状态⑴作业状态分为四种:提交、后备、执行和完成。
⑵作业状态变迁图:图4-1 作业状态及变迁3、作业调度和调度的功能⑴. 作业调度的任务后备状态→执行状态执行状态→完成状态⑵作业调度的功能①记录系统中各个作业的情况②按照某种调度算法从后备作业队列中挑选作业③为选中的作业分配内存和外设等资源④为选中的作业建立相应的进程⑤作业结束后进行善后处理工作4、进程调度和调度的功能1). 进程调度:后备状态→执行状态2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志3). 进程调度的功能:保存现场、挑选进程、恢复现场5、两级调度模型 作业调度和进程调度的区别6、评价调度算法的指标调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间(1)吞吐量:单位时间内CPU完成作业的数量(2)周转时间:1) 周转时间=完成时刻-提交时刻2) 平均周转时间=周转时间/n3) 带权周转时间=周转时间/实际运行时间4) 平均带权周转时间=带权周转时间/n7、作业与进程调度算法(1)先来先服务(FCFS)调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。
用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。
用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。
例如设有三个作业,编号为1,2,3。
各作业分别对应一个进程。
各作业依次到达,相差一个时间单位。
①图示出采用FCFS方式调度时这三个作业的执行顺序②算出各作业的周转时间和带权周转时间(2)时间片轮转(RR)调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾。
1、管理对象是内存及作为内存的扩展和延伸的后援存储器(外存)。
基本任务:a.按某种算法分配和回收存储空间。
b.实现逻辑地址到物理地址的转换。
c.由软硬件共同实现程序间的相互保护。
2、程序中通过符号名称来调用、访问子程序和数据,这些符号名的集合被称为“名字空间”,简称名空间。
当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为目标程序,或者相对目标程序。
这个目标程序指令的顺序都以0为一个参考地址,这些地址被称为相对地址,或者逻辑地址,有的系统也称为虚拟地址。
相对地址的集合称为相对地址空间,也称虚拟地址空间。
目标程序最后要被装入系统内存才能运行。
目标程序被装入的用户存储区的起始地址是一个变动值,与系统对存储器的使用有关,也与分配给用户使用的实际大小有关。
要把以0作为参考地址的目标程序装入一个以某个地址为起点的用户存储区,需要进行一个地址的对应转换,这种转换在操作系统中称为地址重定位。
也就是说将目标地址中以0作为参考点的指令序列,转换为以一个实际的存储器单元地址为基准的指令序列,从而才成为一个可以由CPU调用执行的程序,它被称为绝对目标程序或者执行程序。
这个绝对的地址集合也被称为绝对地址空间,或物理地址空间。
用户程序的装入,是一个从外存空间将用户已经编译好的目标程序,装入内存的过程。
在这个过程中,要进行将相对地址空间的目标程序转换为绝对地址空间的可执行程序,这个地址变换的过程称为地址重定位,也称地址映射,或者地址映象。
覆盖:是利用程序内部结构的特征,以较小的内存空间运行较大程序的技术。
交换:是指内外存之间交换信息。
3、一旦一个区域分配给一个作业后,其剩余空间不能再用(内零头或内碎片),另外当一区域小于当前所有作业的大小时,便整个弃置不用(外零头或外碎片)。
4、(1)2.4us (2)1.5us5、为了给大作业(其地址空间超过主存可用空间)用户提供方便,使他们摆脱对主存和外存的分配和管理。
第一章操作系统引论一、单项选择题1.操作系统是一种__________。
A.通用软件B.系统软件C.应用软件D.软件包2,操作系统的__________管理部分负责对进程进行调度。
A.主存储器B.控制器C.运算器D.处理机3.操作系统是对__________进行管理的软件。
A.软件B.硬件C,计算机资源 D.应用程序4.从用户的观点看,操作系统是__________。
A.用户与计算机之间的接口B.控制和管理计算机资源的软件C.合理地组织计算机工作流程的软件D.由若干层次的程序按一定的结构组成的有机体5,操作系统的功能是进行处理机管理、_______管理、设备管理及文件管理。
A.进程B.存储器C.硬件D.软件6,操作系统中采用多道程序设计技术提高CPU和外部设备的_______。
A.利用率B.可靠性C.稳定性D.兼容性7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的_______和方便用户使用计算机而配备的一种系统软件。
A. 速度B.利用率C. 灵活性D.兼容性8.操作系统的基本类型主要有_______。
A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统9.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。
A. 多重处理B.多道程序设计C. 实时处理D.并行执行10. _______操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。
A.网络D.分布式C.分时D.实时11.如果分时操作系统的时间片一定,那么_______,则响应时间越长。
A.用户数越少B.用户数越多C.内存越少D. 内存越多12,分时操作系统通常采用_______策略为用户服务。
A.可靠性和灵活性B.时间片轮转C.时间片加权分配D,短作业优先13. _______操作系统允许用户把若干个作业提交给计算机系统。
操作系统第四章习题及答案第四章进程管理1、⼀个由3个页⾯每页有2048个字节组成的程序,将它装⼊⼀个8个物理块组成的存储器中,装⼊的情况如下表所⽰:给出下列逻辑地址,请计算出2617对应的物理地址:2、某请求页式存储管理,允许⽤户编程空间为32个页⾯(每页1KB),主存为16KB, 如有⼀个⽤户程序有10页长,且某时刻该⽤户页⾯映射表如表所⽰。
如果程序执⾏时遇到以下的虚地址:0AC5H ,1AC5H 试计算对应的物理地址。
3、假设某分页系统中,主存储器的容量为1MB ,被分为256块,回答:1)主存地址应该⽤位来表⽰。
2)作业每⼀页的长度为;逻辑地址中的页内地址应该为位。
4、在段式管理系统中,段表为求下⾯逻辑地址对应的物理地址。
12 7 1 4 0 块号页号 95 1938 4 590 13503 90 100 220 2350 1 500 210 0 段长内存起始地址段号(1,10);(2,500);(3,400);(5,32)5、在⼀分页存储管理系统中,逻辑地址长度为16位,页⾯⼤⼩为4096字节,分别计算逻辑地址14AAH,235BH,3B4CH,78DDH所对应的物理地址,并指出可能发⽣何种中断?(8分)注:1表⽰可寻址,0表⽰在外存。
6、在⼀个请求分页系统中,假定系统分配给作业的物理块数为3,并且此作业的页⾯⾛向为2、3、2、1、5、2、4、5、3、2、5、2。
试⽤LRU算法计算出程序访问过程所发⽣的缺页次数和被替换的页⾯序列。
答案:1、P=int(2617/2048)=1 d=569物理地址=4*2048+569=87612、0AC5H的页号是2,对应的物理页号是4,所以物理地址应该为12C5H,1AC5H的页号是6,超过了页表的范围,所以该地址⾮法,产⽣越界中断3、假设某分页系统中,主存储器的容量为1MB,被分为256块,回答:1)主存地址应该⽤ 20 位来表⽰。
2)作业每⼀页的长度为 2048 ;逻辑地址中的页内地址应该为 12 位。
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。
A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。
A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。
A.剥夺资源法 B.资源分配图简化法C.银行家算法 D.资源静态分配法7.为了照顾紧迫型作业,应采用()。
A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。
A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
A.互斥条件B.请求和保持条件C.不可剥夺条件D.环路等待条件4.3.2 选择所有正确答案1.下列选项中,()可能是非抢占方式进程调度中引起调度的原因。
A.当前的运行进程调用阻塞原语而进入阻塞状态B.当前的运行进程提出申请I/O而阻塞C.有更高优先级的进程到达而从执行状态变为就绪状态D.正在执行的进程执行了P原语操作,由于资源不足而阻塞2.选择排队作业中等待时间最长的作业被优先调度,该调度算法不可能是()。
A.先来先服务调度算法B.高响应比优先调度算法C.优先权调度算法D.短作业优先调度算法3.作业控制块JCB连成一串而形成的一个排队队列,该队列称为()。
A挂起队列 B.阻塞队列C.就绪队列D.后备队列4.下列哪个选项描述的时间属于响应时间的一部分()。
A.处理机对请求信息进行处理的时间B.从键盘输入的请求信息传送到处理机的时间C.所形成的响应回送到终端显示器的时间D.用户查看响应回送到的信息5.下列四个选项描述的时间组成了周转时间,其中可能发生多次的是()。
A.等待I/O操作完成的时间B.作业在外存后备队列上等待作业调度的时间C.进程在CPU上的执行时间D.进程在就绪队列上等待进程调度的时间6.下面列出的是选择调度方式和算法的4个面向用户的准则。
其中,不完全适用于实时系统的准则是()。
A.优先权准则B.响应时间快C.截止时间的保证D.周转时间短7.下面列出了选择调度方式和算法的4个准则。
其中,对批处理、分时、实时系统都可以采用的是()。
A.周转时间短B.响应时间快C.截止时间的保证D.优先权准则8.下列选项中,()是分时系统中确定时间片大小需要考虑的因素。
A.各类资源的平衡利用B.就绪队列中进程的数目C.系统的处理能力D.系统对响应时间的要求9.下面列出的选项中,属于可剥夺性资源的有()。
A.CPUB.内存C.磁盘D.磁带机10.在多级队列调度和多级反馈队列调度的叙述中,正确的是()。
A.多级反馈队列调度中就绪队列的设置不是象多级队列调度一样按作业性质划分,而是按时间片的大小划分B.多级队列调度用到优先权,而多级反馈队列调度中没有用到优先权C.多级队列调度中的进程固定在某一个队列中,而多级反馈队列调度中的进程不固定D.多级队列调度中每个队列按作业性质不同而采用不同的调度算法,而多级反馈队列调度中除了个别队列外,均采用相同的调度算法4.3.3 判断正误,简要说明理由1.作业调度能够使作业获得CPU。
2.在多道程序系统中,系统的现有空闲可用资源能否满足一个后备作业J的资源要求,是选择作业J进入内存的必要条件。
3.短作业(进程)优先调度算法具有最短的平均周转时间,因此这种算法是最好的算法。
4.在优先权调度算法中确定静态优先权时,一般说,计算进程的优先权要高于磁盘I/O 进程的优先权。
5.摒弃不可剥夺条件的方法可用于预防多个打印进程死锁的发生。
6.操作系统处理死锁,只要采用预防、解除、检测、避免之中的一种就足够了。
7.如果系统在所有进程运行前,一次性地将其在整个运行过程所需的全部资源分配给进程,即所谓“静态分配”法,是可以预防死锁发生的。
8.多个进程竞争比进程数目少的资源时就可能产生死锁,而当资源数目大于进程数目时就一定不会发生死锁。
9.在银行家算法中,对某时刻的资源分配情况进行安全分析,如果该时刻状态是安全的,则存在一个安全序列,且这个安全序列是唯一的。
10.进程调度算法各种各样,但是如果选择不当,就会造成死锁。
4.3.4 简答题1.高级调度和低级调度的主要任务是什么?为什么要引入中级调度?2.在作业调度中需作出哪些决定?3.在剥夺调度中,有哪些剥夺原则?4.在OS中引起进程调度的主要因素有哪些?5.在选择调度方式和调度算法时,应遵循的原则是什么?6.在批处理系统、分时系统和实时系统中,各采用哪几个进程(作业)调度算法?7.为什么说多级反馈队列能较好地满足各种用户的需要?8.在多用户分时系统中,时间片轮转调度的算法在确定时间片的大小时,应考虑哪些因素?9.为实现实时调度,对实时系统提出了哪些要求?10.目前常用的调度方式和算法,能否应用到实时系统中?11.在多处理机系统中,比较有代表性的线程调度方式有哪几种?12.试比较自调度和成组调度?13.在OS/2中采用哪种调度方式和调度算法?14.何为死锁?产生死锁的原因和必要条件是什么?15.在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高?16.请详细说明可通过哪些途径预防死锁?17.在银行家算法的例子中,如果P0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统可否将资源分配给它?4.5 考研试题精选及解析1.在银行家算法中,若出现以下资源分配情况:(北京理工2002死锁题)问:1 该状态是否安全?2 若进程依次有以下资源请求:p1 资源请求:Request(1,0,2)p4 资源请求:Request(3,3,0)p0 资源请求:Request(0,1,0)则系统如何分配资源可避免死锁?2.一个操作系统有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部资源,则立即归还所有资源。
每个进程最多使有3个资源。
若仅考虑这类资源,该系统有可能产生死锁,为什么?(北京大学1995年死锁题)解:在本题中,若仅考虑这一类资源的分配,则不会产生死锁。
因为死锁产生的原因有两点:系统资源不足或进程推进顺序不当。
在本题介绍的系统中,进程所要的最大资源数为:20×3=60,而系统中共有该类资源65个,其资源数目已足够系统内的各地进程使用,因此绝不可能发生死锁。
3.一台计算机有8台磁带机。
它们由N个进程竞争使用,每个进程可能需要3台磁带机。
请问N为多少时,系统没有死锁危险,并说明原因。
(上海交通大学1999年死锁题)解:当N为1,2,3时,系统没有产生死锁的危险。
因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,其资源数目已足够系统内的1个进程使用,因此绝不可能发生死锁;当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使,因此也不可能发生死锁;当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都已申请到了2个资源,那么系统中还剩下2个,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕.由此可知当N 为1,2,3时,该系统不会由于对这种资源的竞争而产生死锁。
4.假定某计算机系统有R1和R2两类可再使用资源(其中R1有两个单位,R2有一个单位),它们被进程P1,P2所共享,且已知两个进程均以下列顺序使用两类资源:→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图。
(南开大学1994年死锁题)解:在本题中,当两个进程都执行完第1步后,即进程P1和进程P2都申请到了一个R1类资源时,系统进入不安全状态。
随着两个进程的向前推进,无论哪个进程执行完第2步,系统都将进入死锁状态。
可能到达的死锁点是:进程P1占有一个单位的R1类资源及一个单位的R2类资源,进程P2占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁;或进程P2占有单位的R1类资源及一个单位的R2类资源,进程P1占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请图4-55. 某系统有同类资源m个,被并发执行的n个进程共享,若每个进程申请该类资源的最大量为x (1≦x≦m),试给出保证系统不产生死锁的n、x、m之间的关系式。
解:当每个进程分得资源的最大量x-1个后,只要系统还拥有一个资源时,系统便不会产生死锁,故可推出关系式:n×(x-1)+1≦m。
其中,当m≦n时,x=1。
m>n时,x=1+[(m-1)/n] 其中,[ ]为取下界、即去掉小数点。
6.某系统有同类资源m个,被并发执行的n个进程共享,若每个进程申请该类资源的最大量为x (1≦x≦m),试证明:当n×(x-1)+1≦m时,系统不产生死锁。
(西安理工2000死锁题)解:当每个进程分得资源的最大量x-1个后,只要系统还拥有一个资源时,系统便不会产生死锁,故可推出关系式:n×(x-1)+1≦m。
其中,当m≦n时,x=1。