2010-2011学年操作系统参考答案
一、名词解释题(每题5分,共25分)
1、进程:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
2、临界区:访问临界资源的代码
3、系统调用:操作系统与应用程序之间的接口
4、并行:并发是指若干事件在同一时刻内发生
5、原语:由若干条机器指令构成,用以完成特定功能的程序,为保证其操作的正确性,它应该是原子操作。
二、判断题(每题1分,共5分)
1、银行家算法是一种避免死锁的算法。(T)
2、分时系统中,时间片越小越好。(F)
解析:
时间片大的话相当于先到先执行调度顺序,没起到任何优化效果
时间片过小的话需要不断进行页面切换等操作,系统开销会大量提升
3、并发是指若干事件在同一时间间隔内发生。(T)
4、在多道程序系统中,道数越多越好。(F)
解析:当CPU饱和之后就不再有效果
5、打印机是一类典型的字符设备。(T)
三、简答题(每题5分,共20分)
1、进程实体有哪几部分组成?
答:PCB、程序段和相关的数据段
解析:
bss段储存未被初始化的全局变量,data段储存已经初始化的全局变量
计算机系统相关概念作用理解:https://www.cnblogs.com/yanghong-hnu/p/4705755.html
2、死锁产生的必要条件是什么?
答:互斥条件、请求和保持条件、不剥夺条件和环路等待条件
3、为什么说链接式文件不适合随机存取?
答:访问链接结构文件中的任何一块都要求从文件的第一块开始向后顺序访问,直到找到要访问的那一块,因此,链式结构文件不适合于随机存取。
4、分页存储管理有效解决了什么问题?
答:分页存储管理有效解决了程序离散存放和存储器内碎片的问题,提高了存储器的利用率。(只要能回答出解决碎片问题,就可以给全部分数,从别的角度回答,酌情合理给分)
这里感觉答案似乎有问题
四、页面调度(共10分)
五、进程同步(共15分)
设信号量m1表示父亲能否放水果,m2表示儿子能否取桔子,m3表示女儿能否取苹果。
int m1=1,m2=0,m3=0;
cobegin
p1() // p2() // p3()
coend
p1()
{
while(1)
{
洗水果;
P(m1) ;
放水果;
if (是桔子) V(m2) ;
else V(m3);
}
}
p2()
{
while(1)
{
P(m2) ;
取桔子;
V(m1);
吃桔子;
}
}
p3()
{
while(1)
{
P(m3) ;
取苹果;
V(m1);
吃苹果;
}
}
六、存储管理(15分)
(1)因为逻辑页号8页,故需要3位表示,而块大小和页大小相等,故,块内地址需要10位。因此,逻辑地址需要13位表示。
(2)内存有32块,故需要5位二进制数表示,而块大小和页大小相等,故块内地址需要10位表示。因此,物理地址需要5+10=15位。
* 注意考虑偏移地址
七、并发问题(10分)
(1)所需要的总时间为:20ms*5+6ms=106ms。因为每转过一个记录需要20ms/5=4ms,每读出一个记录后需要 6ms的处理时间,等处理完在处理下一个记录时,只能等到下一周,所以每旋转一周读出一个记录,当读出第5个记录时,第5周刚好转完,因此需要另外加6ms。
(2)为了减少磁盘旋转的周数,将记录安排改进为:块号1,2,3,4,5分别存放记录A,C,E,B,D.
- 磁盘必须连续旋转,不能转转停停