|
(93) 北京理工大学远程教育学院2021-2022学年第一学期
《操作系统》期末试卷
教学站 学号 姓名 成绩
应用题(每题20分,共100分)
1. 产生死锁的四个必要条件是什么?
答:1)互斥(Mutual exclusion):在一段时间内某资源只能由一个进程占有。
2)占有且等待(Hold and wait):已占有了一些资源的进程可能还要等待申请其他的资源才能继续工作。
3)非剥夺(No preemption):已分配给某进程的资源不可被其他进程剥夺,除非该进程自己释放该资源。
4)循环等待(Circular wait)存在一个封闭的进程-资源循环链。
2.采用请求分页虚拟存储管理的系统,接收了一个共7页的作业,作业执行时依次访问的页为1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。若采用先进先出(FIFO)调度算法,作业在得到两块主存空间和四块主存空间时各会产生几次缺页中断?
答:最近最少用(LRU0)高度算法,作业在得到两块内在空间产生18次缺页中断,四块内在空间时会产生10次缺页中断。
3. I/O控制方式有几种?各有什么特点?
答:I/O控制方式的发展经历了四个阶段:程序查询方式、I/O中断方式、DMA方式和I/O通道方式。
(1) 程序查询方式。在早期计算机或现代一些简单的微型计算机系统中,采用程序查询I/O方式。程序查询是一种用程序直接控制I/O操作的方式。CPU与外设的活动本质上是异步的,为了实现CPU与外设间的信息传送,CPU必须重复测试外设的状态,仅当外设是处在准备好的状态时,CPU才能与外设交换信息。所以,在程序查询I/O方式的接口电路中必须设置一状态端口,以使CPU通过执行输入指令了解外设的状态。当采用程序查询传送方式时,每当程序要使用某一外设进行I/O操作时,CPU要执行一段循环测试程序,以实现在外设准备好时执行一条输入/输出指令,进行一字节或字的数据传送操作。在这种方式下,CPU的大量时间消耗在等待输入/输出的循环检测上,使CPU与外设串行工作,严重影响了CPU和外设的使用效率,致使整个系统效率很低。 (2) I/O中断方式。引入中断技术后,每当设备完成I/O操作时,便向CPU发出中断请求信号,通知CPU外设已准备好,可以进行数据传送操作。这样,CPU一旦启动I/O设备后便可执行其他程序,仅在收到I/O中断请求时才执行其中断服务程序,进行I/O处理和I/O操作。程序中断传送方式改善了CPU的利用率,并使CPU与外设并行操作。但I/O数据的处理和I/O操作的控制都是由CPU承担的,仍然消耗了CPU不少时间。
(3) 直接存储器访问(DMA)方式。虽然I/O中断方式比程序查询方式更有效,但须注意,它仍是以字节或字为单位进行输入/输出的,每当完成一字节或字时,控制器便要向CPU请求一次中断。换言之,采用I/O中断方式时的CU,是以字节或字为单位进行干预的。如果将这种方式用于块设备的I/O,显然是低效的。例如,为了从磁盘中读出1KB的数据块,需要中断CPU 1000次。为了进一步减少CPU对I/O的干预而引入了直接存储器访问(DMA)方式。
(4) I/O通道方式。I/O通道方式是DMA方式的发展,它会进一步较少对CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)有关的控制和管理为单位的干预。I/O通道有自己的指令系统,即通道程序,可以与CPU并行操作,独立管理外设和实现主存和外设之间的信息传输,使CPU摆脱了繁忙的I/O操作。在配置通道的计算机系统中,不仅能实现CPU与通道的并行操作,而且通道与通道、各通道的外设之间均能实现并行操作,因而有效地提高了整个系统的使用效率。
4.在一个批处理单道系统中,采用响应比高者优先的作业调度算法。当一个作业进入系统后就可以开始调度,假定作业都是仅计算,忽略调度花费的时间。现有三个作业,进入系统的时间和需要计算的时间如下表所示:
作业 进入系统时间 需要计算时间 开始时间 完成时间 周转时间
1 9:00 60分钟
2 9:10 45分钟
3 9:15 25分钟
(1)求出每个作业的开始时间、完成时间及周转时间并填入表中。
答:
先来先服务:
作业 进入系统时间 需要计算时间 开始时间 完成时间 周转时间
1 9:00 60分钟 9:00 10:00 60分钟
2 9:10 45分钟 10:00 10:45 95分钟
3 9:15 25分钟 10:45 11:10 115分钟
响应比高者优先:
作业 进入系统时间 需要计算时间 开始时间 完成时间 周转时间
1 9:00 60分钟 9:00 10:00 60分钟
2 9:10 45分钟 10:25 11:10 120分钟
3 9:15 25分钟 10:00 10:25 70分钟
短作业优先:
作业 进入系统时间 需要计算时间 开始时间 完成时间 周转时间
1 9:00 60分钟 9:00 10:00 60分钟
2 9:10 45分钟 10:25 11:10 120分钟
3 9:15 25分钟 10:00 10:25 70分钟
(2)计算三个作业的平均周转时间应为多少?
答:
先来先服务:
(60+95+115)/3=90(分钟)
响应比高者优先:
(60+120+70)/3=83.33(分钟)
短作业优先:
(60+120+70)/3=83.33(分钟)
5. 在银行家算法中,若多个进程出现下面的资源分配情况:(10分)
Process Allocation Need Available
P0 0022 0012 1723
P1 1000 1650
P2 1354 2356
P3 0032 0532
P4 0014 0656
试问:
(1)此刻该状态是否安全?
(2)若进程P3提出请求Request(0,4,2,2)后,系统能否将资源分配给它?
|
|