《操作系统实用教程》课后题参考标准答案.docx
- 文档编号:8326916
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:24
- 大小:246.34KB
《操作系统实用教程》课后题参考标准答案.docx
《《操作系统实用教程》课后题参考标准答案.docx》由会员分享,可在线阅读,更多相关《《操作系统实用教程》课后题参考标准答案.docx(24页珍藏版)》请在冰豆网上搜索。
《操作系统实用教程》课后题参考标准答案
《操作系统实用教程》课后题参考答案
————————————————————————————————作者:
————————————————————————————————日期:
课后习题参考答案
第一章操作系统概述
一、填空题
1.软硬件资源、系统软件、用户
2.处理机、存储器、输入/输出设备和文件资源;处理机管理、存储器管理、设备管理和文件系统
3.分时(或多用户、多任务)单用户(或单用户、单任务)
4.分时OS时间片轮转批处理OS吞吐率实时OS实时性和可靠性
5.命令接口系统调用
6.系统调用
二、选择题
1
2
3
4
5
6
7
8
9
10
B
C
C
A
B
A
B
D
C
B
三、简答题
1.操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。
操作系统是用户与计算机硬件之间的接口。
操作系统为用户提供了虚拟计算机。
操作系统是计算机系统的资源管理者,处理器管理,存储器管理,设备管理,文件管理,用户接口。
2.硬件的改进导致操作系统发展的例子很多,内存管理支撑硬件由分页或分段设施代替了界寄存器以后,操作系统中便增加了分页或分段存储管理功能。
图形终端代替逐行显示终端后,操作系统中增加了窗口管理功能,允许用户通过多个窗口在同一时间提出多个操作请求。
引进了中断和通道等设施后,操作系统中引入了多道程序设计功能。
计算机体系结构的不断发展有力地推动着操作系统的发展,例如,计算机由单处理机改进为多处理机系统,操作系统也由单处理机操作系统发展到多处理机操作系统和并行操作系统;随着计算机网络的出现和发展,出现了分布式操作系统和网络操作系统。
随着信息家电的发展,又出现了嵌入式操作系统。
3.在一段时间内,内存中能够接纳多道程序的系统称为多道程序系统。
单道程序环境下处理器的利用率很低,当程序进行输入/输出操作时,处理器空闲,同时外部设备的利用率也很低,引入多道程序系统以后,整个计算机的利用率得到了提高。
4.允许多个联机用户同时使用一台计算机系统进行计算的操作系统称为分时操作系统,分时操作系统具有以下特性:
同时性,独立性,及时性和交互性。
实时操作系统是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。
实时操作系统的主要特点:
对处理时间和响应时间要求高,可靠性和安全性高,多路性、独立性和交互性,整体性强。
5.分时操作系统和批处理操作系统虽然有共性,它们都基于多道程序设计技术,但存在下列不同点:
●追求的目标不同。
批处理系统以提高系统资源利用率和作业吞吐率为目标;分时系统则要满足多个联机用户立即型命令的快速响应。
●适应的作业不同。
批处理系统适应已经调试好的大型作业;而分时系统适应正在调试的小作业。
●资源的利用率不同。
批处理操作系统可合理安排不同负载的作业,使各种资源利用率较佳;分时操作系统中,多个终端作业使用相同类型编译系统、运行系统和公共子程序时,系统调用它们的开销较小。
作业控制的方式不同。
批处理操作系统由用户通过作业控制语言的语句书写作业控制流,预先提交,脱机工作;分时操作系统中,由用户从键盘输入操作命令控制,交互方式、联机工作。
6.UNIX操作系统是对世界影响深远的分时操作系统。
四、计算题
1.
(1)CPU有空闲,在100ms~150ms时间段是空闲的。
(2)程序1无等待时间,而程序2在一开始的0ms~50ms时间段会等待。
。
2.三道程序运行,完成三道程序共花170ms。
与单道程序(260ms)比较,节省了90ms。
(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运行前会停10ms等待输入完成)程序3。
3.总的运行时间为45ms,CPU处理时间为40ms,CPU的利用率为89%
第二章常用操作系统概述
一、简答题
1.内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信。
在这种结构下,应用程序发出的请求首先被内核俘获,由它把消息传递给相应的系统进程去处理,处理完后,同样通过内核,把回应的消息发还给客户。
可见,客户程序和各种服务进程之间不会直接交互,必须通过内核的消息交换才能完成相互通信。
这就是“微内核”构造模式。
用这种方法来构造操作系统,其中心思想是将系统中的非基本部分从内核里移走,只把最关键的进程管理、内存管理以及进程通信等功能,留存下来组成系统的内核。
这样便于系统功能的扩充,使系统具有更好的可扩展性和可移植性,由于绝大部分系统进程都运行在用户态,所以使系统具有更好的安全性和可靠性。
2.答:
Windows体系结构分成内核模式和用户模式。
内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信。
Windows系统的内核全部运行在统一的核心地址空间中,由三个层次组成:
执行体、内核、硬件抽象层(HAL)
Linux体系结构被分成两部分。
上面是用户(或应用程序)空间,是用户应用程序执行的地方。
下面是内核空间,Linux内核提供了连接内核的系统调用接口,还提供了用户空间中的应用程序和内核之间进行转换的机制。
内核和用户空间的应用程序使用的是不同的保护地址空间。
每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空间。
Linux内核可以进一步划分成3层。
最上面是系统调用接口,它实现了一些基本的功能,中间层是内核代码,最下面是依赖于体系结构的代码,构成了通常称为BSP(BoardSupportPackage)的部分,这些代码将内核和硬件分隔开来,使Linux操作系统能够适应多种硬件平台
3.自由软件(FreeSoftware或Freeware)是指遵循通用公共许可证GPL(GeneralpublicLicense)规则,保证您有使用上的自由、获得源程序的自由、自己修改源程序的自由、复制和推广的自由,也可以有收费的自由的一种软件。
Free指是的自由,但并不是免费。
自由软件之父RichardStallman先生将自由软件划分为若干等级:
其中,0级是指对软件的自由使用;1级是指对软件的自由修改;2级指对软件的自由获利.
第三章处理机管理
一、填空题
1.运行、就绪、阻塞
2.程序、数据、PCB
3.动态、静态
4.4、0
5.剥夺式调度、非剥夺式调度
6.处理机
7.处理机频繁、输入输出频繁
8.操作系统
9.提交、后备、运行
10.短作业优先
二、选择题:
1
2
3
4
5
6
7
8
9
C
A
C
B
D
C
A
D
A
三、简答题
1.在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。
因此,从宏观上看,这些程序都开始了自己的工作。
但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。
所以这些进程程序的执行过程是交织在一起的。
也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。
2.为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作,以便能创建进程、撤销进程、阻塞进程和唤醒进程。
这些操作对于操作系统来说是最为基本、最为重要的。
为了保证执行时的绝对正确,要求它们以一个整体出现,不可分割。
也就是说,一旦启动了它们的程序,就要保证做完,中间不能插入其他程序的执行序列。
在操作系统中,把具有这种特性的程序称为“原语”。
3.只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。
如果处于阻塞状态的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用,进而也就失去了设置操作系统的作用。
所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用CPU的问题。
4.当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到就绪队列里。
在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB,进程所对应的程序是不动的。
这是因为在进程的PCB里,总是记录有它的程序的断点信息。
知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。
这正是保护现场所起的作用。
5.先来先服务算法主要考虑作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先算法主要考虑作业所需的CPU时间,因此对长作业不利。
“响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:
该作业已等待时间/该作业所需CPU时间。
这个比值的分母是一个不变的量。
随着时间的推移,一个作业的“已等待时间”会不断发生变化,也就是分子在不断地变化。
显然,短作业比较容易获得较高的响应比。
这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。
另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。
根据这种分析,可见“响应比高者优先”的作业调度算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种调度算法的一种折中。
四、计算题
1.
(1)采用先来先服务时:
作业号
到达时间
所需CPU时间
执行顺序
开始时间
完成时间
周转时间
1
0.0
4
1
0
4
4
2
0.4
2
2
4
6
5.6
3
1.0
1
3
6
7
6
平均周转时间=(4+5.6+6)/3=15.6/3=5.2
平均加权周转时间=(4/4+5.6/2+6/1)/3=3.267
(2)采用短作业优先时:
作业号
到达时间
所需CPU时间
执行顺序
开始时间
完成时间
周转时间
1
0.0
4
1
0
4
4
2
0.4
2
3
5
7
6.6
3
1.0
1
2
4
5
4
平均周转时间=(4+6.6+4)/3=14.6/3=4.867
平均加权周转时间=(4/4+6.6/2+4/1)/3=8.3/3=2.767
(3)如果等到所有作业都到了,再采用短作业优先算法:
作业号
到达时间
所需CPU时间
执行顺序
开始时间
完成时间
周转时间
1
0.0
4
3
4
8
8
2
0.4
2
2
2
4
3.6
3
1.0
1
1
1
2
1
平均周转时间=(8+3.6+1)/3=12.6/3=4.2
平均加权周转时间=(8/4+3.6/2+1/1)/3=6.8/3=2.267
2.
(1)采用先来先服务时:
作业号
到达时间
所需CPU时间
调度顺序
开始时间
完成时间
周转时间
1
9.0
1.1
1
9
10.1
1.1
2
9.5
0.5
2
10.1
10.6
1.1
3
9.6
0.1
3
10.6
10.7
1.1
4
10.1
0.2
4
10.7
10.9
0.8
平均周转时间=(1.1+1.1+1.1+0.8)/4=4.1/4=1.25
平均加权周转时间=(1.1/1.1+1.1/0.5+1.1/0.1+0.8/0.2)/4=(1+2.2+11+4)/4=4.55
(2)采用短作业优先时:
作业号
到达时间
所需CPU时间
调度顺序
开始时间
完成时间
周转时间
1
9.0
1.1
1
9
10.1
1.1
2
9.5
0.5
4
10.4
10.9
1.4
3
9.6
0.1
2
10.1
10.2
0.6
4
10.1
0.2
3
10.2
10.4
0.3
平均周转时间=(1.1+1.4+0.6+0.3)/4=3.4/4=0.85
平均加权周转时间=(1.1/1.1+1.4/0.5+0.6/0.1+0.3/0.2)/4=(1+0.7+6+1.5)/4=2.3
3.三个作业是在9.5时全部到达的。
这时它们各自的响应比如下:
作业1的响应比=(9.5–8.8)/1.5=0.46
作业2的响应比=(9.5–9.0)/0.4=1.25
作业3的响应比=(9.5–9.5)/1.0=0
因此,最先应该调度作业2运行,因为它的响应比最高。
它运行了0.4后完成,这时的时间是9.9。
再计算作业1和3此时的响应比:
作业1的响应比=(9.9–8.8)/1.5=0.73
作业3的响应比=(9.9–9.5)/1.0=0.40
因此,第二个应该调度作业1运行,因为它的响应比最高。
它运行了1.5后完成,这时的时间是11.4。
第三个调度的是作业3,它运行了1.0后完成,这时的时间是12.4。
整个实施过程如下。
作业号
到达时间
所需CPU时间
开始时间
完成时间
周转时间
2
9.0
0.4
9.5
9.9
0.9
1
8.8
1.5
9.9
11.4
2.6
3
9.5
1.0
11.4
12.4
2.9
作业的调度顺序是2→1→3。
各自的周转时间为:
作业1为0.9;作业2为2.6;作业3为2.9。
第四章进程间的制约关系
一、填空题
1.直接制约,间接制约
2.相应资源,P、V操作
3.继续执行,阻塞(等待)
4.S>0,等待,就绪
5.互斥,P(mutex),V(mutex)
6.共享存储器、消息传递、管道通信
7.使用临界资源的程序代码
8.–(M-1)~1
9.4
10.资源互斥、资源不剥夺、资源部分分配、循环等待
二、选择题
1
2
3
4
5
6
7
8
9
10
B
B
A
C
C
BC
D
B
A
B
三、问答题
1.一次仅允许一个进程使用的资源称为临界资源。
把进程中访问临界资源的程序段称为临界区。
2.进程的同步与互斥是指进程在推进时的相互制约关系。
在多道程序系统中,由于资源共享与进程合作,这种进程间的制约成为可能。
为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。
进程之间的制约关系体现为:
进程的同步和互斥。
进程同步:
它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。
为进程之间的直接制约关系。
在多道环境下,这种进程间在执行次序上的协调是必不可少的。
进程互斥:
它主要源于资源共享,是进程之间的间接制约关系。
在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。
进程通信是指进程间的信息交换。
PV操作作为进程的同步与互斥工具因信息交换量少,效率太低,称为低级通信。
而高级通信则以较高的效率传送大批数据。
3.所谓死琐,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。
死锁预防的措施有:
(1)破坏“资源部分分配”条件,优点是简单、易于实现且很安全;
(2)破坏“不剥夺”条件,在采用这种方法预防死锁时,进程是在需要资源时才提出请求。
这样,一个已经保持了某些资源的进程,当它再提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。
这种预防死锁方法,实现起来比较复杂,且要付出很大代价。
(3)破坏“循环等待”条件,在这种方法中规定,系统将所有的资源按类型进行线形排队,并赋予不同的序号。
这种预防死锁的策略与前两种策略比较,其资源利用率和系统吞吐量,都有较明显的改善。
4.解决死锁的方法主要有:
死锁的预防、死锁的避免、死锁的检测和解除。
(1)死锁的预防:
主要是破坏产生死锁的必要条件。
该方法容易实现,但因为设置了种种限制,保守的算法使得操作系统的功能减弱,资源的利用率较低。
(2)死锁的避免:
常用的是银行家算法。
该算法进行必要的计算,考查每个进程对各类资源的需求量,要花费较多的时间去预测死锁是否会发生。
因此,实现起来不太容易,但资源的利用率最高。
(3)死锁的检测和解除:
是基于死锁定理而设计的一种宽松的策略。
并不去严格地限制死锁的发生,通过定期或不定期对操作系统的状态进行检测,发现死锁便予以解除。
解除死锁是采取撤消某些进程或剥夺某些进程已占有的资源。
撤消或剥夺时需要比较一下各种死锁解除方案的代价,找到代价最小的方案。
5.不会。
会。
6.当进程A在自己的临界区里执行时,能够被别的进程打断,没有任何的限制。
当进程A在自己的临界区里执行时,也能够被进程B打断,不过这种打断是有限制的。
即当进程B执行到要求进入自己的临界区时,就会被阻塞。
这是因为在它打断进程A时,A正在临界区里还没有出来,既然A在临界区,B当然就无法进入自己的临界区。
7.根据信号量的定义可知,P、V操作并非只是对信号量进行减1或加1操作,更重要的是在减1或加1后,还要判断运算的结果。
对于P操作,判定后调用进程自己有可能继续运行,也可能阻塞等待。
对于V操作,判定后调用进程自己最后总是继续运行,但之前可能会唤醒在信号量队列上等待的进程。
在信号量上除了能执行P、V操作外,不能执行其他任何操作。
8.由于每个进程最多需要两台磁带机,考虑极端情况:
每个进程已经都申请了一台。
那么只要还有一台空闲,就可以保证所有进程都可以完成。
也就是说当有条件:
n+1=5,即n=4时,系统就不存在死锁的危险。
9.能,同步与互斥是进程通信的基本内容,P、V操作与信号量结合可以实现同步与互斥。
10.进程通信根据交换信息量的多少分为高级通信和低级通信。
低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用(如PV操作);高级通信则要传送大量数据,目的不是为了控制进程的执行速度,而是为了交换信息。
高级进程通信方式有很多种,大致可归并为三类:
共享存储器、管道通信和消息传递。
共享存储器:
在内存种分配一片空间作为共享存储区。
需要进行通信的进程把它附加到自己的地址空间中,不需要时则把它取消。
管道通信:
它是连接两个命令的一个打开文件。
一个命令向该文件中写入数据,为写者;另一个命令从该文件中读出数据,为读者。
消息传递:
它以消息为单位在进程间进行数据交换。
四、计算题
1.因为哲学家进餐没有必然的先后次序,相邻的两个哲学家要竞争刀或叉,刀或叉成为临界资源,本题属于互斥问题。
本题设置四个互斥信号量F1、F2、K1、K2,初值均为1,分别表示临界资源叉1、叉2、刀1、刀2。
哲学家的工作流程基本相似,只是拿起刀叉的序号不同,如图所示。
2.根据常识可知,司机和售票员的工作存在如下制约关系:
(1)司机必须在得到售票员的“关门完毕”的信号后,才能启动汽车。
这是一个司机要与售票员取得同步的问题。
(2)售票员必须在得到司机的“已经停车”的信号后,才能打开车门。
这是一个售票员要与司机取得同步的问题。
因此,为了确保行车安全,需要设置两个同步信号量:
S1——初值为0,控制司机与售票员取得同步;
S2——初值为0,控制售票员与司机取得同步。
3.分析题意,知道在管理读者“进入”和“注销”阅览室的工作中,存在这样一些制约关系:
(1)100个座位是读者共同使用的资源,因此要用一个资源分配信号量来管理它;
(2)读者“进入”阅览室时,要申请座位。
只有申请到座位才能进入,否则应该等待到座位的释放;
(3)没有读者时,不能做“注销”工作,必须等到有了读者才能做。
因此,可以设置两个信号量:
S1——初值为100,管理座位的分配;
S2——初值为0,控制“注销”与“进入”间取得同步。
“进入”与“注销”两个进程的流程如图所示。
图6-23“进入”与“注销”两个进程
在读者进入时,调用“进入”进程,通过P(S1)来申请座位。
如果申请到,就可以办理阅览手续。
如果100个座位都申请完毕,那么第101个读者就只有在关于S1的队列上等待,等到有人调用“注销”进程执行V(S1)。
在有读者离去时,就调用“注销”进程。
4.经分析GET与COPY之间存在2个同步关系:
GET与COPY同步,GET等待COPY发来“拷贝结束”的消息后,才能读入下一条记录;COPY与GET同步,COPY等待GET发来“可以拷贝”的消息后,才能开始复制记录。
PUT和COPY两者之间存在2个同步关系:
PUT与COPY同步,PUT等待COPY发来“拷贝结束”的消息后,才能开始输出;COPY与PUT同步,COPY等待PUT发来“输出结束”的消息后,才能复制下一条记录。
于是,GET、COPY和PUT三者间有4个同步关系。
因此,需要设置4个同步信号量:
S1——控制COPY与GET取得同步,初值=0;
S2——控制GET与COPY取得同步,初值=0;
S3——控制PUT与COPY取得同步,初值=0;
S4——控制COPY与PUT取得同步,初值=0。
5.这实际上也是最简单“生产者—消费者”问题的变种:
进程R是产生者,进程W1、W2是两个消费者。
只是W1只消费奇数,W2只消费偶数。
下图所示的是3个进程的工作示意。
分析题目知道3个进程间有如下的制约关系存在:
(1)进程R申请使用缓冲区B,进程W1或W2释放缓冲区B;
(2)进程W1要等待R往缓冲区B里放入奇数后,才能工作(要与R取得同步),然后释放缓冲区;
(3)进程W2要等待R往缓冲区B里放入偶数后,才能工作(要与R取得同步),然后释放缓冲区。
因此,应该设置3个信号量:
S——初值为1,控制缓冲区B的分配;
SO——初值为0,控制W1与R取得同步;
SE——初值为0,控制W2与R取得同步。
3个进程的工作流程如下图所示。
6.从图可以知道,公共数据区的单元Ai(i=1,2,3…)里存放的某月某日第i次航班的现有票数,是j(j=1,2,3…)个售票处共享的数据。
因此,这些售票处对公共数据区的单元Ai(i=1,2,3…)的操作不能同时进行。
正因为如此,图中把对Ai的这些操作,用名为S的信号量上的P、V操作,保证它们互斥进行。
这样处理都是正确的。
关键是当判定没有第i次航班的机票时,图里仅安排了打印“票已售完!
”的动作。
这样,第j售票处只有进入临界区的P(S),而没有执行退出临界区的V(S)。
它没有退出临界区,别的售票窗口也就无法再进入这个临界区。
所以,这种安排是不对的。
应该把图改成为下图,这样就完全正确了。
第五章存储管理
一、填空题
1、虚拟存储器
2、重定位
3、判断该页是否在内存中,判断该页是否被修改过
4、硬件变换机构,内存,缺页,中断处理程序
5、空闲块,淘汰,空闲块
6、页号,内存块号,记录内存块的分配情况
7、分配内存,连续的内存,不等,连续
8、用户,系统
9、内部碎片,外部碎片
10、静态重定位,动态重定位
11、装入内存,执行
12、抖动
二、选择题
1
2
3
4
5
6
7
8
9
10
11
CD
DA
D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统实用教程 操作系统 实用教程 课后 参考 标准答案