操作系统原理复习题最终 联系客服

发布时间 : 星期二 文章操作系统原理复习题最终更新完毕开始阅读74e66ae1a3c7aa00b52acfc789eb172ded639996

作业 序号 1 2 3 4 5 进输入 井时间 10:00 10:20 10:30 10:35 10:40 要求计算时间/min 需要内存量/KB 25 30 10 20 15 15 60 50 10 30 申请磁带机数/台 2 1 3 2 2 该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请写出采用“短作业优先算法”选中作业执行的次序以及各个作业的装入内存时间、开始执行时间、完成时间、周转时间和它们的平均周转时间。

作业 序号 1 2 3 4 5 进输入 井时间 10:00 10:20 10:30 10:35 10:40 进入内 开始执行 存时间 10:00 10:20 11:30 10:35 10:55 10:00 10:25 11:30 11:10 10:55 10:25 10:55 11:40 11:30 11:10 25 35 70 55 30 完成时间 周转时间 平均周转时间:(25+35+70+55+30)/5=43

6.假定某移动磁盘上,磁头的当前位置为100磁道,磁头正向磁道号增加方向移动。现有一磁盘读写请求队列:23, 376, 205, 132, 19, 61, 190, 398, 29, 4, 18, 40。请写出: (1)用最短寻道时间优先算法,列出响应的次序,并计算平均寻道长度。 (2)用电梯调度算法,列出响应的次序,并计算平均寻道长度。 答:

(1)最短寻道时间优先算法

响应的次序为:132、190、205、61、40、29、23、19、18、4、376、398。 (可以用图表示)

平均寻道长度:58.3 (2)电梯调度算法(5分)

响应的次序为:132、190、205、376、398、61、40、29、23、19、18、4。 (可以用图表示)

平均寻道长度:57.7

7、某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户

页表中已调入内存的页面的页号和物理块号的对照表如下:

页号 0 1 2 物理块号 5 10 4 3 7 则逻辑地址0A5D(H)所对应的物理地址是什么?

答:0A5D(H)=0000 1010 0101 1101

2号页对应4号块,所以物理地址是0001 0010 0101 1101 即125D(H)。

8、设有三道作业,它们的提交时间及执行时间由下表给出:

作业号 提交时间 执行时间 1 8.5 2.0 2 9.2 1.6 3 9.4 0.5

试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间 (时间单位:小时,以十进制进行计算;要求写出计算过程)(10分)

FCFS: 作业号 提交时间 执行时间 开始时间 完成时间 周转时间 1 8.5 2.0 8.5 10.5 2.0 2 9.2 1.6 10.5 12.1 2.9 3 9.4 0.5 12.1 12.6 3.2 平均周转时间=(2.0+2.9+3.2)/3=2.7(小时)

SJF: 作业号 提交时间 执行时间 开始时间 完成时间 周转时间 1 8.5 2.0 8.5 10.5 2.0 2 9.2 1.6 11.0 12.6 3.4 3 9.4 0.5 10.5 11.0 1.6 平均周转时间=(2.0+3.4+1.6)/3=2.3(小时)

9、公共汽车上,司机和售票员的工作流程如图所示。为保证乘客的安全,司机

和售票员应密切配合协调工作。请用信号量来实现司机与售票员之间的同步。

司机 售票员 启动车辆 关车门 正常行车 售票 到站停车 开车门

图 司机和售票员工作流程图

【答案】

设置两个资源信号量:S1、S2。 S1表示是否允许司机启动汽车,其初值为0;S2表示是否允许售票员开门,其初值为0. semaphoere S1=S2=0; void Driver()

{

while(1) {

wait(S1); 启动车辆; 正常行车; 到站停车; signal(S2); } }

void Busman() {

while(1) {

关车门; signal(S1); 售票; wait(S2); 开车门; } } main() {

cobegin{ Driver(); Busman(); } }

10、有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计

算结果。

试说明A、B两进程之间存在什么样的制约关系?

为保证这两个进程能正确地打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。

答:A、B两进程之间存在互斥的制约关系。因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。

semaphore mutex=1; void procedureA() {

while (1) {

wait(mutex); 申请打印机 使用打印机 signal(mutex); … } }

void procedureB() {

while (1) {

wait(mutex); 申请打印机 使用打印机 signal(mutex); … } }

main() {

cobegin {

procedureA(); procedureB(); } }