概述
适用于汤小丹、梁红兵第4版,ISBN为978-7-5606-3350-3。
不是标准答案!是我自己写的解答!仅供参考!
题目目录——快捷跳转用
- 第二章 进程的描述与控制
- 2-3 为什么程序并发执行会产生间断性特征?
- 2-4 程序并发执行时为什么会失去封闭性和可再现性?
- 2-5 在操作系统中为什么要引入进程的概念?它会产生什么样的影响?
- 2-6 试从动态性、并发性和独立性上比较进程与程序
- 2-19 为什么要在OS中引入线程?
- 2-23 何谓用户级线程和内核支持线程?
- 2-25 试说明内核支持线程的实现方法
- 第三章 处理机调度与死锁
- 3-2 处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?
- 3-6 为什么要引入高响应比优先调度算法?它有何特点?
- 3-8 在抢占调度方式中,抢占的原则是什么?
- 3-9 在选择调度方式和调度算法时,应遵循的准则是什么?
- 3-12 试比较FCFS和SJF两种进程调度算法
- 3-20 按调度方式可将实时调度算法分为哪几种?
- 3-21 什么是最早截止时间优先调度算法?
- 3-22 什么是最低松弛度优先调度算法?
- 3-27 何谓死锁?产生死锁的原因和必要条件是什么?
- 3-30 在银行家算法的例子中,若P0发出的请求向量由R(0,2,0)改为R(0,1,0),系统能否将资源分配给它?
- 3-31 在银行家算法中,若出现下述资源分配情况,试问:
- 第四章 存储器管理
- 4-1 为什么要配置层次式存储器?
- 4-2 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
- 4-10 什么是基于索引搜索的动态分区分配算法?它可分为哪几种?
- 4-17 基于离散分配时所用的基本单位不同,可将离散分配分为哪几种?
- 4-18 什么是页面?什么是物理块?页面的大小应如何确定?
- 4-19 什么是页表?页表的作用是什么?
- 4-25 为什么说分段系统比分页系统更易于实现信息的共享和保护?
- 4-26 分页和分段存储管理有何区别?
第二章 进程的描述与控制
2-3 为什么程序并发执行会产生间断性特征?
答:程序在并发执行时,由于它们共享系统资源,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系。
2-4 程序并发执行时为什么会失去封闭性和可再现性?
答:当系统中存在着多个可以并发执行的程序时,系统中的资源将为它们所共享,而这些资源的状态也由这些程序来改变,致使其中一个程序在运行时,其环境都必然会受到其他程序的影响。
由于失去了封闭性,其计算结果必将与并发程序的执行速度有关,从而失去了可再现性。
2-5 在操作系统中为什么要引入进程的概念?它会产生什么样的影响?
答:为了能使程序程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”的概念。它决定了在OS中必须为之配备一个专门的数据结构(PCB)以方便管理进程(保证独立性)。进程在并发运行时具有异步性,但仍能保证进程并发执行的结果是可再现的。
2-6 试从动态性、并发性和独立性上比较进程与程序
进程 | 程序 | |
---|---|---|
动态性 | √ | × |
并发性 | √ | 没有建立PCB,不能参与并发执行(×) |
独立性 | √ | 没有建立PCB,不能作为独立单位参与运行(×) |
2-19 为什么要在OS中引入线程?
答:减少程序在并发运行时所付出的时空开销,使OS具有更好的并发性。
2-23 何谓用户级线程和内核支持线程?
答:用户级线程(ULT)实在用户空间实现的与内核无关的线程,所有对线程的操作也在用户空间中由线程库的函数完成,而无需内核帮助。
内核支持线程(KST)是在操作系统内核支持下运行的,与内核紧密相关,所有对线程的操作也是在内核空间实现的。
2-25 试说明内核支持线程的实现方法
答:系统在创建一个新进程时,便为它分配一个任务数据区,其中包含若干个进程控制块TCB空间。每一个TCB中可保存线程标识符、优先级、线程运行的CPU状态等信息。
每当进程要创建线程时,便为新线程分配一个TCB,将有关信息填入TCB中,并为之分配必要的资源。当任务数据区中所有的TCB空间已用完,而进程又要创建新的线程时,只要其创建的线程数目未超过系统的允许值,系统可再为之分配新的TCB空间;在撤销一个线程时,也应回收所有资源和TCB。
第三章 处理机调度与死锁
3-2 处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?
答:处理机调度算法的目标是尽量提高资源利用率,保证公平性、平衡性,准确强制执行策略。
批处理系统的调度目标是平均周转时间短、系统吞吐量高、处理机利用率高。
3-6 为什么要引入高响应比优先调度算法?它有何特点?
答:在批处理系统中,FCFS算法仅考虑了作业的等待时间,SJF算法仅考虑了作业的运行时间,高响应比优先调度算法结合了FCFS和SJF算法的优点,改善了处理机调度的性能。
3-8 在抢占调度方式中,抢占的原则是什么?
- 优先级高的进程优先执行
- 短进程优先
- 正在执行的进程的一个时间片用完后,便停止执行该进程并重新进行调度
3-9 在选择调度方式和调度算法时,应遵循的准则是什么?
答:面向用户,应遵循周转时间短、响应时间快、截止时间保证、优先权准则;面向系统,应遵循吞吐量高、利用率高、各类资源平衡利用准则。
3-12 试比较FCFS和SJF两种进程调度算法
FCFS | SJF | |
---|---|---|
用途 | 作业调度和进程调度 | 作业调度 |
排序依据 | 作业到达次序 | 作业长短 |
考虑 | 作业等待时间 | 作业运行时间 |
3-20 按调度方式可将实时调度算法分为哪几种?
答:非抢占调度算法和抢占调度算法。
3-21 什么是最早截止时间优先调度算法?
答:任务的截止时间越早,其优先级越高,具有最早截止时间的任务排在队列的队首。
3-22 什么是最低松弛度优先调度算法?
答:任务的紧急程度越高,赋予该任务的优先级就越高。
3-27 何谓死锁?产生死锁的原因和必要条件是什么?
答:一组进程中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。
原因:
- 竞争不可抢占性资源
- 竞争可消耗资源
- 进程推进顺序不当
必要条件:
- 互斥
- 请求和保持
- 不可抢占
- 循环等待
3-30 在银行家算法的例子中,若P0发出的请求向量由R(0,2,0)改为R(0,1,0),系统能否将资源分配给它?
Max | Allocation | Need | Available | |
---|---|---|---|---|
P0 | 7 5 3 | 0 1 0 (0 2 0) | 7 4 3 (7 3 3) | 3 3 2 (3 2 2) |
P1 | 3 2 2 | 2 0 0 | 1 2 2 | |
P2 | 9 0 2 | 3 0 2 | 6 0 0 | |
P3 | 2 2 2 | 2 1 1 | 0 1 1 | |
P4 | 4 3 3 | 0 0 2 | 4 3 1 |
R0(0,1,0)≤N0(7,4,3),R0(0,1,0)≤A0(3,3,2)
Work | Need | Allocation | Need+Allocation | Finish | |
---|---|---|---|---|---|
P1 | 3 2 2 | 1 2 2 | 2 0 0 | 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 |
P0 | 7 3 5 | 7 3 3 | 0 2 0 | 7 5 5 | true |
P2 | 7 5 5 | 6 0 0 | 3 0 2 | 10 5 7 | true |
故存在安全序列(P1→P3→P4→P0→P2),可以把资源分配给它。
3-31 在银行家算法中,若出现下述资源分配情况,试问:
Process | Allocation | Need | Available |
---|---|---|---|
P0 | 0 0 3 2 | 0 0 1 2 | 1 6 2 2 |
P1 | 1 0 0 0 | 1 7 5 0 | |
P2 | 1 3 5 4 | 2 3 5 6 | |
P3 | 0 3 3 2 | 0 6 5 2 | |
P4 | 0 0 1 4 | 0 6 5 6 |
-
该状态是否安全?
答:该状态存在如下分配情况:
Process Work Need Allocation Need+Allocation finish P0 1 6 2 2 0 0 1 2 0 0 3 2 1 6 5 4 true P3 1 6 5 4 0 6 5 2 0 3 3 2 1 9 8 6 true P1 1 9 8 6 1 7 5 0 1 0 0 0 2 9 8 6 true P2 2 9 8 6 2 3 5 6 1 3 5 4 3 12 13 10 true P4 3 12 13 10 0 6 5 6 0 0 1 4 3 12 14 14 true 即存在安全序列P0→P3→P1→P2→P4,故该状态安全。
-
若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
答:R2(1,2,2,2)≤N2(1,7,5,0),R2(1,2,2,2)≤A(1,6,2,2)。先试分配。
P2A=[2,5,7,6],P2N=[1,1,3,4]
A0=[1,6,2,2]-[1,2,2,2]=[0,4,0,0]≤P0~P4
无法满足任何请求,故系统不把资源分配给它。
第四章 存储器管理
4-1 为什么要配置层次式存储器?
答:我们需求以下三个条件:
- 对存储器的访问速度与处理机的运行速度匹配。
- 存储器具有非常大的容量。
- 存储器的价格很便宜。
这三个条件目前无法同时满足。
4-2 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?
答:绝对装入——计算机系统很小,运行单道程序;可重定位装入——计算机系统运行多道程序,需要连续的存储空间;动态运行时装入——有重定位寄存器支持,运行时可能需要改变它在内存中的位置。
4-10 什么是基于索引搜索的动态分区分配算法?它可分为哪几种?
答:索引搜索的动态分区分配算法是大、中型系统为提高搜索空闲分区的速度而提供的算法。可分为快速适应算法、伙伴算法和哈希算法。
4-17 基于离散分配时所用的基本单位不同,可将离散分配分为哪几种?
答:分页存储管理和分段存储管理。
4-18 什么是页面?什么是物理块?页面的大小应如何确定?
答:页面是一个进程的逻辑地址空间分成若干个固定大小的区域;物理块是把内存空间分成与页面相同大小的若干个存储块;页面大小与物理块大小相同,是2的幂,通常为1KB~8KB。
4-19 什么是页表?页表的作用是什么?
答:为保证进程仍然能正确进行,即能在内存中找到每个页面对应的物理块,系统又为每个进程建立了一张页面映像表,又称页表。页表实现了从页号到物理块号的地址映射。
4-25 为什么说分段系统比分页系统更易于实现信息的共享和保护?
答:无论是信息共享还是保护,都是以信息的逻辑单位为基础的,而段可以作为这一基本单位,我们可以为共享进程建立一个独立的,以轻松实现信息共享,也可以在包含某个函数的段上赋予相应的保护信息以实现信息保护。
4-26 分页和分段存储管理有何区别?
答:分页存储管理将用户程序的地址空间分为若干个大小相同的块,而分段管理将用户程序空间分为了大小不同的段。
原书答案详见这里
最后
以上就是干净小土豆为你收集整理的《计算机操作系统》部分习题与解答的全部内容,希望文章能够帮你解决《计算机操作系统》部分习题与解答所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复