山东科技大学2010—2011学年第一学期
《操作系统》考试试卷(A卷)
班级 姓名 学号 题号 得分 一 二 三 四 总得分 评卷人 审核人 一、单项选择题(每小题2分,共30分)
1、在进程的组成部分之中,进程在运行中不可修改的部分是______。 A.私用程序段 B.共享程序段 C.数据段 D.进程控制块 2、在段页式存储系统中,一个作业对应______。 A.多个段表,一个页表 B.一个段表,一个页表 C.一个段表,多个页表 D.多个段表,多个页表
3、在可变分区分配方案中,将空白分区按大小递减次序排列是要采用______。 A.最佳适应算法 B.最迟适应算法 C.首次适应算法 D.最差适应算法 4、在一个计算机系统中,特权指令______下执行。 A.只能在核心态 B.只能在用户态
C.可在核心态,也可在用户态 D.不能在核心态,也不能再用户态 5、采用SPOOLing技术后,使得系统资源______。 A.利用率降低了 B.利用率提高了 C.利用率有时提高有时降低 D.出错的机会增加了 6、并发进程之间______。
A.彼此无关 B.必须同步 C.必须互斥 D.可能需要同步或互斥 7、实时操作系统必须在______内完成来自外部的事件。
A.规定时间 B.周转时间 C.响应时间 D.调度时间
第 1 页/共 4 页
8、解除死锁通常不采用的方法是______。
A.终止一个死锁进程 B.终止所有死锁进程 C.从死锁进程处抢夺资源 D.从非死锁进程处抢夺资源 9、进程和程序的本质区别是______。
A.内存和外存 B.动态和静态特征 C.共享和独占使用计算机资源 D.顺序和非顺序执行指令 10、进程之间交换数据不能通过______途径进行。
A.共享文件 B.消息传递 C.访问进程地址空间 D.访问共享存储区域 11、在内存管理中,分段管理和分页管理的主要区别是______。 A.分段管理中的块比分页管理中的页要小 B.分页管理有地址映射而分段管理没有 C.分页管理有存储保护而分段管理没有
D.分段管理要求一道程序存放在连续的空间而分页管理没有这种要求 12、在虚拟页式存储管理方案中,完成将页面调入内存的工作的是______。
A.页面淘汰过程 B.缺页中断处理 C.工作集模型应用 D.紧缩技术利用 13、对磁盘进行磁头调度的目的是为了缩短______时间。 A.寻道 B.旋转 C.传送 D.启动 14、DMA I/O控制方式的特点是______。
A.控制软件容易编写 B.I/O批量数据的交换会大量浪费CPU时间 C.设备与主机的并行执行 D.简化了设备的设计 15、用于解决进程间互斥的方法是______。
① 信号量及wait、signal操作 ② 加锁与解锁 ③ 信箱方式 ④ 消息缓冲方式 ⑤ 特权指令方式
A.①和② B.③、④和⑤ C.①和③ D.②和⑤
二、名词解释题(每小题4分,共20分)
1、内核 2、直接通信 3、文件控制块
第 2 页/共 4 页
4、临界资源与临界区 5、程序接口
三、综合应用题(第1、2、3题各12分,第4题14分,共50分)
1、假设系统中有5个进程P1,P2,P3,P4和P5,三类资源A、B和C。在T0时刻系统状态如表中所示,请利用银行家算法回答以下问题:
P8 1 P4 2 P10 3 P3 4 P5 5 (1) T0时刻系统是否处于安全状态(请给出判断步骤)?如是,则给出进程安全序列。 (2) 如果进程P5发出请求(1,1,1),能否实施分配?为什么?
2、在一个请求页式存储管理系统中,进程P共有5页,访问串为3,2,1,0,3,2,4,3,2,1,0,4时,分别采用FIFO置换算法和LRU置换算法以及分配给该进程的可用帧数分别为3和4时,请给出内存执行过程示意图,并计算访问过程中发生的页错误次数,比较所得的结果,浅析原因。
3、某磁盘组共有200个磁道(柱面),由外至内依次编号为0,1,…,199,输入输出请求以10, 100,191,31,20,110,32的次序到达,假定磁头当前位于98号磁道处,移动方向由外向内。
(1) 对最短寻道时间优先扫描、循环扫描(CSCAN)和C-LOOK扫描磁盘调度算法,分别给出寻道示意图,并计算平均寻道长度。
第 3 页/共 4 页
最大需求量 A B 6 C 4 已分配资源量 A 1 B 2 C 1 剩余资源量 A 2 B 1 C 1 3 3 3 1 1 1 3 4 1 3 3 3 3 2 2 4 6 1 1 3 (2) 设磁头移动一个磁道平均需要1ms,计算寻道时间(忽略磁头启动时间)。
4、
设有三个进程,输入进程(input)、计算进程(compute)和输出进程(output),它们通过共享一个缓冲区buf。三个进程之间的合作关系如下:
(1)输入进程使用put()函数在每次输入数据后,把数据送到buf,供计算进程调用calculate()函数计算和输出进程调用print()函数打印;
(2)计算进程每次调用get()函数从buf取出已输入的可计算的数据进行计算,并当输出进程把输入数据打印完成后,计算进程把计算结果送入buf供输出进程打印;
(3)输出进程每次按顺序把buf中的输入数据和计算结果在打印机上输出。
(提示:可以设置四个信号量,访问缓冲区的互斥信号量S,输入进程、计算进程和输出进程之间的同步信号量Si,Sc,So)。要求写出基本思想,并用伪代码完成实现过程。
第 4 页/共 4 页