操作系统第三章练习及答案教程文件
操作系统本科第3章教材习题解答
第3章处理机调度“练习与思考”解答1.基本概念和术语调度、作业调度、进程调度、吞吐量、周转时间、带权周转时间、中断调度就是选出待分派的作业或进程。
作业调度就是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。
进程调度就是根据一定的算法将CPU分派给就绪队列中的一个进程。
吞吐量:单位时间内CPU完成作业的数量。
周转时间:从作业提交到作业完成的时间间隔。
带权周转时间:定义为作业的周转时间除以其实际运行时间。
中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。
2.基本原理和技术(1)处理机调度的主要目的是什么?处理机调度的主要目的就是为了分配处理机。
(2)高级调度与低级调度的主要功能是什么?为什么要引入中级调度?高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。
低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。
为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。
(3)作业在其存在过程中分为哪四种状态?作业在其存在过程中分为提交、后备、执行和完成四种状态。
(4)在操作系统中,引起进程调度的主要因素有哪些?在操作系统中,引起进程调度的主要因素有:正在运行的进程完成任务,或等待资源,或运行到时;核心处理完中断或陷入事件后,发现系统中“重新调度”标志被置上。
计算机操作系统(第四版)课后习题答案第三章,精品资料
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统第3章习题答案
第三章习题:P117
25.答:c=10, a=13, b=6
28.答:设置同步信号量
S1: 传送带是否有空位; S2: 传送带上是否有产品; S3: 是否有称过重的产品 检验员进程T1: 计量员进程T2 分拣员进程T3 While(True) {
查看产品质量 if(合格) {P(S1)
放在传送带上 V(S2)} Else 销毁
}
while(True) { P(S2)
称重并记录 V(S1) V(S3) }
While(True) { P(S3) 包装 }
29.答: 首先设置同步信号量(私有信号量),设:
Mi(i=0,1,2,3)表示第i 个箱子中的消息数,初值分别为2,0,0,0 Ei(i=0,1,2,3)表示第i 个箱子中的空格数,初值分别为1,3,2,2
31答:
1)编写一个程序,每一个读者就是一个进程,因此有多少读者就有多少进程。
进程是程序的一次执行,进程是动态的,程序是静态的,进程有生命期,程序没有,进程可以并发执行。
2)设置信号量:
公有信号量R用于登记表的互斥操作,初值为1;
私有信号量S用于读者之间的同步操作,初值为1000;。
《现代操作系统第四版本》第三章含答案
第三章内存管理习题有一个设计,为了对2KB 大小的块进行加锁,会对每个块分配一个4bit 的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU 都会进行密钥比较。
但该设计有诸多弊端,除了描述中所言,请其他提出最少两条弊端。
A:密钥只有四位,故内存只能同时容纳最多十六个进度;需要用特别硬件进行比较,同时保证操作迅速。
2.在图 3-3 中基址和界线寄存器含有相同的值 16384 ,这是巧合,还是它们总是相等?若是这可是巧合,为什么在这个例子里它们是相等的?A:巧合。
基地址寄存器的值是进度在内存上加载的地址;界线寄存器指示储藏区的长度。
3.交换系统经过缩短来除掉悠闲区。
假设有很多悠闲区和数据段随机分布,而且读或写 32 位长的字需要 10ns 的时间,缩短 128MB 大概需要多长时间?为了简单起见,假设悠闲区中含有字0,内存中最高地址处含有有效数据。
A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte对每个字节既要读又要写, 22.5*2^27=671ms4.在一个交换系统中,按内存地址排列的悠闲区大小是10MB ,4MB ,20MB ,18MB ,7MB ,9MB ,12MB ,和 15MB 。
对于连续的段央求:(a)12MB(b)10MB(c) 9MB使用首次适配算法,将找出哪个悠闲区?使用最正确适配、最差适配、下次适配算法呢?A:首次适配算法: 20MB ,10MB ,18MB ;最正确适配算法: 12MB , 10MB ,9MB ;最差适配算法: 20MB ;18MB ;15MB ;下次适配算法: 20MB ;18MB ;9MB ;5.物理地址和虚假地址有什么差异?A:本质内存使用物理地址。
这些是储藏器芯片在总线上反应的数字。
虚假地址是指一个进度的地址空间的逻辑地址。
因此,拥有32 位字的机器能够生成高达4GB 的虚假地址,而无论机器的内存可否多于或少于4GB。
操作系统第三章练习题与答案
第三章一、填空1.将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为地址重定位。
2.使用覆盖与对换技术的主要目的是提高内存的利用率。
3.存储管理中,对存储空间的浪费是以内部碎片和外部碎片两种形式表现出来的。
4.地址重定位可分为静态重定位和动态重定位两种。
5.在可变分区存储管理中采用最佳适应算法时,最好按尺寸法来组织空闲分区链表。
6.在分页式存储管理的页表里,主要应该包含页号和块号两个信息。
7.静态重定位在程序装入时进行,动态重定位在程序执行时进行。
8.在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现抖动现象。
9.在请求分页式存储管理中采用先进先出(FIFO)页面淘汰算法时,增加分配给作业的块数时,缺页中断的次数有可能会增加。
10.在请求分页式存储管理中,页面淘汰是由于缺页引起的。
二、选择1.虚拟存储器的最大容量是由 A 决定的。
A.内、外存容量之和 B.计算机系统的地址结构C.作业的相对地址空间 D.作业的绝对地址空间2.采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。
运行时会产生 D 次缺页中断。
A.7 B.8 C.9 D.10从图3-8中的“缺页计数”栏里可以看出应该选择D。
图3-8 选择题2配图3.系统出现“抖动”现象的主要原因是由于 A 引起的。
A.置换算法选择不当 B.交换的信息量太大C.内存容量不足 D.采用页式存储管理策略4.实现虚拟存储器的目的是 D 。
A.进行存储保护 B.允许程序浮动C.允许程序移动 D.扩充主存容量5.作业在执行中发生了缺页中断,那么经中断处理后,应返回执行 B 指令。
A.被中断的前一条 B.被中断的那条C.被中断的后一条 D.程序第一条6.在实行分页式存储管理系统中,分页是由 D 完成的。
A.程序员B.用户C.操作员D.系统7.下面的 A 页面淘汰算法有时会产生异常现象。
操作系统第3章参考答案
第3章作业参考答案1、高级调度的任务是:将外存上处于后备队列的作业调入内存,并为他们创建必要的进程与分配资源。
然后将进程插入就绪队列中。
高级调度主要涉及两个问题:(1)每次调度多少个作业进入内存,(2)怎样选择作业(怎样调度)。
低级调度的任务是:指决定就绪队列中哪些进程应获得处理机。
这是OS的核心调度,所有操作系统都必须有这种调度。
通常采用两方式—非强占方式与强占方式。
在一个OS中如何选择方式与调度算法,在很大程度上取决于OS的目标。
但总体而言可分为两类—面向用户与面向系统的原则面向用户的原则:主要考虑用户的需求,如周转时间、响应时间、截止时间、优先权原则。
面向系统的原则:主要考虑系统的需求,如系统的吞吐量、处理机利用率、各类资源的平均利用率等注(周转时间:周转时间是衡量批处理系统的调度算法的重要指标。
周转时间:指作业从提交开始到完成所需要的时间。
包括:作业在外存后备队列上等待调度的时间、进程在就绪队列上等待进程调度的时间、进程在CPU上的执行时间、进程等待I/O操作完成的时间。
•注意:我们所讲的周转时间是指系统的平均周转时间,而不是单个作业的周转时间。
•平均周转时间:T=(T1+T2+…Tn)/n。
•带权平均周转时间:•响应时间:响应时间是衡量分时系统的重要指标。
响应时间—从用户通过键盘提交一个请求开始,到屏幕上显示结果为止的这段时间。
包括:从键盘输入的请求信息到CPU的时间,CPU对请求的处理时间、以及信息回送到显示器的时间。
•截止时间:是评价实时系统的重要指标。
截止时间:是指某任务必须开始执行的最迟时间必须完成的最迟时间。
•优先权原则:在所有的OS中,都应有一定的优先权原则,--强占式调度。
系统的吞吐量:是衡量批处理系统的重要指标。
系统的吞吐量—单位时间内系统完成的作业数。
处理机利用率:这对大中型多用户系统很重要,因此CPU价格昂贵(特别是大型计算机),因此这也是衡量大型机与系统的重要指标。
(完整版)操作系统第3章习题带答案
第三章一、问答题1、用户级线程与内核级线程的区别是什么?2、PCB 中包含哪些信息?进程状态属于哪类信息?3、什么是操作系统的内核?4、简述时间片轮转调度算法的基本思想。
5、某系统采用时间片轮转调度算法的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P 在其存在过程中依次经历了:进程调度选中了进程P 占用处理机运行,进程P 运行中提出资源申请,要求增加内存使用量,没有得到;进程等待一段时间后得到内存;进程调度再次选中了进程P 占用处理机运行;进程P 的时间片到;一段时间后,进程P 再次占用处理机;有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q;进程Q 运行完,进程调度再次选中了进程P 占用处理机运行;进程P 运行完。
请分析进程P 在其整个生命过程中的状态变化。
进程调度选中了进程P 占用处理机运行(就绪→运行),进程P 运行中提出资源申请,要求增加内存使用量,没有得到(运行→阻塞);进程等待一段时间后得到内存(阻塞→就绪);进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 的时间片到(运行→就绪);一段时间后,进程P 再次占用处理机(就绪→运行);有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q(运行→就绪);进程Q 运行完,进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 运行完。
请分析进程P 在其整个生命过程中的状态变化。
6、试比较进程与程序的异同。
7、引起创建进程的事件通常有哪些?简述进程的创建过程。
8、简述进程的阻塞过程。
910、进程控制块的作用是什么?它主要包括哪几部分内容?11、简述操作系统的三级调度。
12、为什么要了解进程间的家族关系?因为父进程和子进程之间是隶属关系,子进程可以继承使用父进程的资源;如果父进程被撤销,还应撤销其所有的子孙进程。
13、什么是进程?。
14、试比较进程和线程的区别。
15、简述进程的基本状态,画出其状态转换图。
(完整版)计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块J CB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统第3章习题-答案
第3章调度与死锁一、单项选择题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. 资源的按序分配策略可以破坏________条件。
A. 互斥使用资源B. 占有且等待资源C. 非抢夺资源=D. 环路等待资源7. 银行家算法是一种________算法。
A. 死锁解除=B. 死锁避免C. 死锁预防D. 死锁检测8. ________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A. 先来先服务 =B. 静态C. 动态D. 短作业9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是________。
A. 9 =B. 10C. 11D. 1210. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进程中优先级最高的进程。
上述描述是________。
A. 正确的=B. 错误的11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。
上述描述是________。
A. 正确的=B. 错误的12. 在下列解决死锁的方法中,属于死锁预防策略的是____。
计算机操作系统练习题及答案第三章
计算机操作系统练习题及答案第三章单项选择1. 两个进程合作完成一项任务。
在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。
A.同步B.执行C.互斥D.调度2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。
A. 进程互斥B. 进程同步C. 进程通信D. 进程制约3. 除了因为资源不足,进程竞争资源可能出现死锁外,不适当的—C—也可能产生死锁。
A.进程优先权B.资源线性分配C.进程推进顺序D.分配队列优先权4. 除了可以采用资源剥夺法解除死锁外,还可以采用—C—方法解除死锁。
A.修改信号量B.拒绝分配新的资源C.撤消进程D.执行并行操作5. 资源的按序分配策略可以破坏—D—条件。
A. 互斥B. 请求与保持C. 不剥夺D. 环路等待6. 在—C—的情况下,系统出现死锁。
A. 计算机系统发生了重大故障B. 有多个阻塞的进程存在C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数7.某系统中有3个进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是—B—。
A.9B.10C.11D.128. 银行家算法是一种—B—算法。
A. 解除死锁B.避免死锁C. 预防死锁D. 检测死锁9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。
A. 银行家算法B. 资源有序分配C. 死锁检测法D. 资源分配图化简法10. 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值应为—B—。
A. nB. mC. m-nD. -m11.死锁定理是用于处理死锁的哪一种方法—C—。
A.预防死锁B.避免死锁C.检测死锁D.解除死锁12. AND信号量集机制是为了—C—。
A. 信号量的集中使用B. 解决结果的不可再现性问题C. 防止系统的不安全性D. 实现进程的相互制约13.临界区是指—A—。
计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统第三章作业答案教学教材
操作系统第三章作业答案第三章作业1.下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?①几个同学去图书馆借同一本书。
答:互斥,只能有一个借到②篮球比赛中两队同学争抢篮板球。
答:互斥,只能有一个抢到③果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。
答:同步时进行,相互不影响④商品的入库出库。
答:同步时进行,相互无影响⑤工人做工与农民种粮。
答:同步进行,相互无影响2.在操作系统中引入管程的目的是什么?条件变量的作用是什么?答:引入管城是为了实现进程的同步和互斥。
条件变量的作用是:设置多个信号量,使用大量的P、V操作,还要仔细安排多个P操作的排列次序,否则会出现错误的结果或出现死锁现象。
3.说明P、V操作为什么要设计成原语。
答:用信号量S表示共享资源,其初值为1表示有一个资源。
设有两个进程申请该资源,若其中一个进程先执行P操作。
P操作中的减1操作有3条指令组成:去S送寄存器R;R-1送S。
若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误。
正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞。
4.设有一个售票大厅,可容纳200人购票。
如果厅内不足200人则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。
试问:①购票者之间是同步关系还是互斥关系?答:互斥关系②用P、V操作描述购票者的工作过程。
如下:semaphore mutex=1;semaphore full=200;void customer(){ p(metux);P(full);BuyingV(mutex);V(full);}5.进程之间的关系如图3-16所示,试用P、V操作描述它们之间的同步。
如下:设:s1→s2为a s1→s3为b s2→s6为c s3→s4 为d s3→s5为e s4→s6为f s5→s6为gsemaphore a,b,c,d,g,f,g=0,0,0,0,0,0,0;{ s1;v(a);v(b);}{ p(a);s2;v(a);}{ p(b);s3;v(b);}{ p(d);s4;v(d);}{ p(e);s5;v(e);}{ p(c);s6;}{ p(f);p(g);s6}6.有4个进程P1、P2、P3、P4共享一个缓冲区,进程P1向缓冲区存入消息,进程P2、P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。
操作系统第三章答案
操作系统第三章答案【篇一:操作系统第三章练习及答案】度与低级调度的主要任务是什么?为什么要引入中级调度?2. 何谓死锁?产生死锁的原因和必要条件是什么?3. 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所第三章答案1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?解答:高级调度富用于决定把外存上处于后备队列中的哪些作业调入内存, 并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备报告。
低级调度是决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
引入中级调度的目的是为了提高内存的利用率和系统吞吐量。
为使那些暂时不能运行的进程不再占用内存空间,而将它们调至外存上去等待;当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
2. 何谓死锁?产生死锁的原因和必要条件是什么?解答:产生尢锁的原因可归结为两点:仁竞争资源;2、进程推进顺序非法。
在同时具备以下四个必要条件时,就会产生死锁:1、互斥条件, 指在一段时间内某资源只能由一个进程占有。
2、请求和保持条件,指进程已经保持了至少一个资源,又提出了新的资源要求,而该资源又被其它进程占有,此时请求进程阻塞,但不释放已持有的资源。
3. 不剥夺条件,指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
4、环路等待条件,指存在一个进程一资源的环形链。
3. 在银行家算法中,把P0发出的请求向量改为requstO(O, 1, 0), 系统是否能将资源分配给它?解答:当po 发出请求向* requsto (o, 1, 0)后,系统按银行家算法进行 检查:(1) requstO(O, 1, 0)=need(7,4,3)requstO(O, 1, 0)=available(2,3,0)系统暂时先假定可为po 分配资源,并修改有关数据,如下所 示:allocation needavailable a b cab c a b cpO 0 207 3 3 22 0p1: 3 020 2 0P23 026 0 0p32 110 1 1p40 024 3 1(4)进行安全性检查work need allocation work+allocation finish abcabcabcabc true p1 2 2 0 0 20 3 0 25 2 2 true p3 5 2 2 0 1 12 1 1 7 3 3 true p473343100273 5true p2 7356003021 0 3 7 true pO 1 0 37 3 3 0 2 0 1 0 5 7 true5.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所 示的作业序列,表中所1)、列出所有作业进入内存时间及结束时间 2)、计算平均周转时间 解答:本题中的系统是两道作业系统,因此每次只能有两个作业进入系统, 作业调度采用短作业优先算法,只有调度进入系统的进程方能参与 进程调度;进程调度采用基于优先数的抢占式调度算法,高优先级 的进程可以抢占系统处理机。
操作系统第三章部分习题答案
操作系统第三章部分习题答案一、3.5测验题金鱼问题的代码3#,解决了喂鱼的问题Peter:(1)leave notePeter(2)while (noteTracy) {do nothing}(3)if (noFeed) { feeDfish }(4) remove notePeterTRACY:(5)leave noteTracy(6)if (no notePeter) {if (noFeed) {feed fish}}(7)remove noteTracy请结合这段代码和给出的语句标号,回答一下问题:(1)在什么语句执行顺序下,TRACY可以喂鱼?(2)如果PETER先贴纸条,是否鱼只能由PETER来喂?(3) 如果TRACY先贴纸条,是否鱼只能由TRACY来喂?(4)给出一种PETER喂鱼的语句执行顺序。
解答:(1)题目要求的语序,所以给出一种语句执行顺序即可。
根据对题目的分析,5671234满足题意(2)是的。
原因在于,题目关键是语句1和语句6之间的顺序关系。
如果1在6前,那么PETER喂,反之,TRACY喂。
PETER先贴纸条,语句1肯定在5之前,同一个人的语句是顺序执行,那么1肯定也在6之前,所以必然是PETER喂。
(3)否。
TRACY先贴纸条,只能说语句5在语句1之前,但不能保证6在1之前。
比如5167234这种语序,TRACY先贴,但还是PETER喂。
(4)1234567二、3.8测试第一题现有一座独木桥,一次只允许一个人通过,请用信号量实现:)答案:根据题意,相当于两侧进程互斥的访问独木桥,故设置整型信号量MUTEX=1代码如下:P左:WAIT(MUTEX);过桥;SIGNAL(MUTEX)P右:WAIT(MUTEX);过桥;SIGNAL(MUTEX)注意:不能只写一侧的代码,必须两侧都写,虽然代码一样三、3.8测试第二题现有一座独木桥,在有人过桥的情况下,允许同方向的N个人(包含在桥上的人)过桥,不同方向的人只能等待。
操作系统第二版第三章课后习题答案
第三章死锁作业答案1,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。
参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。
)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。
结果是车上的人下不来,车下的人上不去。
3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。
9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。
河上的交通工具是轮船。
当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。
对吊桥B也做同样处理。
设轮船的长度为200m。
车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。
怎样发现?并请提出一种防止死锁的办法。
参考答案:会产生死锁。
当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。
于是,轮船和车辆都不能前进,造成死锁现象。
一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。
当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。
轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。
(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。
)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。
操作系统第三版第三章习题答案
第三章处理机调与死锁1 黄兰10计科3班P1145.试说明低级调度的主要功能答:(1)保存处理的现场信息。
在进程调度进行调度时,首先需要保存当前进程的处理机的现场信息,如程序计数器、多个通用寄存器中的内容等,将它们送入该进程的进程控制块(PCB)中的相应单位。
(2)按某种算法选取进程。
低级调度程序按某种算法如优先数算法、轮转法等,从就绪队列中选取一个进程,把它的状态改为运行状态,并准备把处理机分配给它。
(3)把处理器分配给进程。
由分派程序把处理器分配给进程。
此时需为选中的静态进程恢复处理机现场,即把选中进程的进程控制块内有关处理机现场的信息装入处理器相应的各个寄存器中,把处理器的控制权交给该进程,让它从取出的断点处开始运行。
P1159.何谓静态和动态优先级?确定静态优先级的依据是什么?答:(1)静态优先级定义:静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。
一般地,优先权是利用某一个整数来表示的,例如,0~7或0~255中的某一整数,又把该整数称为优先数,只是具体用法各异:有的系统用“0”表示优先权,当数值越大时,其优先权越低;而有的系统恰恰相反。
(2)动态优先级定义:动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。
(3)确定优先级的依据:①进程类型。
②进程对资源的需要。
③用户要求。
10.试比较FCFS和SPF两种进程调度算法。
答:(1)相同点:两种调度算法都是既可用于作业调度,也可用于进程调度。
(2)不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将他们调入内存,为他们分配资源,创建进程,然后插入到就绪队列中。
该算法有利于长作业/进程,不利于短作业/进程。
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
2.何谓死锁?产生死锁的原因和必要条件是什么?
3.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,
进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所
第三章答案
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
解答:
高级调度是用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备报告。
低级调度是决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
引入中级调度的目的是为了提高内存的利用率和系统吞吐量。
为使那些暂时不能运行的进程不再占用内存空间,而将它们调至外存上去等待;当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
2.何谓死锁?产生死锁的原因和必要条件是什么?
解答:
所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。
产生死锁的原因可归结为两点:1、竞争资源;2、进程推进顺序非法。
在同时具备以下四个必要条件时,就会产生死锁:1、互斥条件,指在一段时间内某资源只能由一个进程占有。
2、请求和保持条件,指进程已经保持了至少一个资源,又提出了新的资源要求,而该资源又被其它进程占有,此时请求进程阻塞,但不释放已持有的资源。
3、不剥夺条件,指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
4、环路等待条件,指存在一个进程—资源的环形链。
3.在银行家算法中,把P0发出的请求向量改为Requst0(0,1,0),系统是否能将资源分配给它?
解答:
当P0发出请求向量Requst0(0,1,0)后,系统按银行家算法进行检查:(1)Requst0(0,1,0)<=Need(7,4,3)
(2)Requst0(0,1,0)<=Available(2,3,0)
(3)系统暂时先假定可为P0分配资源,并修改有关数据,如下所示:Allocation Need Available
A B C A B C A B C
P0:0 2 0 7 3 3 2 2 0
P1:3 0 2 0 2 0
P2:3 0 2 6 0 0
P3:2 1 1 0 1 1
P4:0 0 2 4 3 1
(4)进行安全性检查
work need allocation Work+allocation Finish
A B C A B C A B C A B C True
P1 2 2 0 0 2 0 3 0 2 5 2 2 True
P3 5 2 2 0 1 1 2 1 1 7 3 3 True
P4 7 3 3 4 3 1 0 0 2 7 3 5 True
P2 7 3 5 6 0 0 3 0 2 1 0 3 7 True
P0 1 0 3 7 3 3 0 2 0 1 0 5 7 True 5.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所
1)、列出所有作业进入内存时间及结束时间
2)、计算平均周转时间
解答:
本题中的系统是两道作业系统,因此每次只能有两个作业进入系统,作业调度采用短作业优先算法,只有调度进入系统的进程方能参与进程调度;进程调度采用基于优先数的抢占式调度算法,高优先级的进程可以抢占系统处理机。
本题的作业和进程的推进过程如下:
10:00 A作业到达,被作业调度程序调度进入系统
被进程调度程序调度开始运行
10:20 A作业运行20分钟,剩余20分钟
由于优先级低,被进程调度程序调度处于就绪状态
B作业到达,被作业调度程序调度进入系统
由于优先级高,被进程调度程序调度处于开始运行状态10:30 A作业等待10分钟,剩余20分钟
继续等待
B作业运行10分钟,剩余20分钟
继续运行
C作业到达,等待被作业调度程序调度
10:50 A作业等待30分钟,剩余20分钟
由于优先级高,被进程调度程序调度处于开始运行状态B作业运行30分钟,作业完成,结束运行
C作业等待20分钟
由于估计运行时间较长,仍未被调入系统中运行
D作业到达,被进程调度程序调度处于就绪状态
11:10 A作业运行40分钟,作业完成,结束运行
C作业等待30分钟,被作业调度程序调度进入系统
由于优先级高,被进程调度程序调度处于开始运行状态D作业等待10分钟
由于优先级低,被进程调度程序调度处于就绪状态
12:00 C作业运行50分钟,作业完成,结束运行
D作业等待60分钟,被进程调度程序调度处于开始运行状态12:20 D作业运行20分钟,作业完成,结束运行。