三、判断题(每小题1分,共10分)
1、死锁避免是一种动态预防方法,比死锁预防效果好,需要占去的系统开销也小。【 × 】 2、一个程序在执行时可以包含多个进程,一段程序指令也可以包含在多个进程中。【√ 】 3、分时系统中,时间片越小越好。【 × 】
4、先来先服务调度算法对长作业和短作业是同样公平的。【 ×】 5、CPU的位数越长,则进程空间的大小越大。【 × 】 6、功能级的原语其程序段允许并发执行。【 × 】
7、当等待队列中的进程所等待的事件发生时,该事件将会被唤醒至执行状态。【 × 】 8、进程的互斥是同步机制的一个方面。【 √ 】
9、实时调度算法必须要采用抢占式的调度算法,才能保证其实时性。【 √ 】 10、内存的分配算法中,最佳适应算法最不会产生碎片。【 × 】 四、名词解释和简答(每小题4分,共20分) 1、名词解释 (1)虚拟存储器;
虚拟存储器:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。也可解释为仅把作业的一部分装入内存便可运行作业的存储器系统;具体地说是指具有调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。 (2)死锁;
死锁:指各并发进程彼此互相等待对方所拥有的资源,而且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想的到资源而又的不到资源,各并发进程不能继续向前推进的状态。 2、简答
(1)段页式管理这种存储管理方式中为什么要设置高速联想寄存器?
因为如果不采用高速联想寄存器,段页式的地址转换需要访问内存的次数将达三次以上,这将使cpu执行指令的速度大大降低,所以必须要设置高速联想寄存器,存放当前最常用的段号、页号和对应的内存页面与其它控制栏目,达到大大提高地址转换的目的。 (2)进程和程序有什么区别和联系?
a) 进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,
进程则强调执行的过程。 b) 进程具有并行特征,程序没有。
c) 进程是竞争计算机系统资源的基本单位。
d) 不同的进程可以包含同一个程序,同一程序也可产生多个进程。 (3)什么是系统调用?简述系统调用的实现过程。
系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及
第 11 页 共 16 页
控制程序的执行速度等。
实现过程:用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。
五、综合题(每小题6分,共30分)
1、假设有四个作业的单道系统,它们的提交、运行时间如下表所示(时间单位:小时,以十进制进行计算)。若采用基于优先权的非抢占式调度算法(优先数高者优先权低), 试回答:(1)作业应以怎样的顺序调度?给出分析过程。 (2)计算平均带权周转时间。
作业号 A B C D 到达时间 8.0 8.5 9.0 9.5 运行时间 2.0 0.5 0.2 1.0 优先数 4 6 2 5 2、输入进程不断地从磁盘读入记录存入缓冲区(假设该缓冲区的大小正好等于两条磁盘记录),计算进程不断地从缓冲区取数据进行计算,要求输入进程和计算进程之间的合作必须保持同步:即输入进程不能向满的缓冲区内存记录,计算进程不能从空的缓冲区内取数据。用P、V原语描述输入进程Input和计算进程Calculate之间的合作,并回答以下问题:
(1)设置信号量empty,用于查看缓冲区是否有空间存储新记录,其初值应为多少?设置信号
量full,用于查看缓冲区内是否放入数据,其初值应为多少?
(2)根据定义的信号量,将适当的P、V原语填入以下程序使并发进程能够正确执行。 COBEGIN Input:Repeat Begin 读磁盘记录 ① ; 存入缓冲区; ② ; End Until False; Calculate:Repeat Begin
③ ;
第 12 页 共 16 页
取出记录; ④ ; 进行计算; End Until False; COEND
3、设进程A(30K)、B(70K)和C(50K)依次请求内存分配,内存采用可变分区管理。现有两个空闲分区F1(120K)和F2(80K),如下图所示。若采用首次适应算法,画出内存分配情况示意图。
已用 1200K
F1(120K) 已用 F2(80K) 已用 4、在一个分段存储管理系统中,其段表如下:
段号 0 1 2 4 5 内存始址 200 2500 300 100 500 段长 500 85 90 600 120 1500K
计算与给定逻辑地址LA对应的物理地址PA,给出计算过程: (1) LA=(1,50); (2) LA=(5,350)。
5、在一个请求分页存储管理系统中,某进程的页面走向为2、3、2、1、5、2、4、5、3、2,当分配给该进程的物理块数为3 时(假设开始执行时内存中没有页面),试回答以下问题: (1)计算采用最近最久未用LRU置换算法的缺页率; (2)LRU置换算法选择什么样的页面淘汰?
第 13 页 共 16 页
试题二答案
一、单选题(每小题1分,共20分)
1、D 2、D 3、D 4、C 5、A 6、B 7、D 8、A 9、A 10、C 11、D 12、A 13、D 14、B 15、A 16、D 17、C 18、D 19、A 20、D 二、填空题(每空1分,共20分) 1、存储管理 设备管理 用户接口 2、脱机输入 直接耦合 3、系统调用
4、顺序 封闭 可再现 5、处理机(或CPU) 6、进程控制块(PCB)
7、执行 等待(或睡眠、阻塞) 8、临界区 9、同步
10、互斥 不剥夺 11、交换
12、中断方式 DMA方式 三、判断题(每小题1分,共10分)
1、× 2、√ 3、× 4、× 5、× 6、× 7、× 8、√ 9、√ 10、× 四、名词解释和简答(每小题4分,共20分) 五、综合题(每小题6分,共30分) 1、 作业号 A B C D 到达时间 8.0 8.5 9.0 9.5 运行时间 2.0 0.5 0.2 1.0 优先数 4 6 2 5 开始时间 8.0 11.2 10.0 10.2 完成时间 10.0 11.7 10.2 11.2 周转时间 2.0 3.2 1.2 1.7 带权时间 1.0 6.4 6.0 1.7 第 14 页 共 16 页
(1)8.0时,只有A到达,调度运行,10.0完成,此时B、C、D均到达; C具有最高优先权,调度运行,10.2完成; D的优先权较B高,调度D运行,11.2完成; 11.2时调度B运行,11.7完成; 故进程调度顺序为:A C D B。
(2)作业A的周转时间:10.0-8.0=2.0;带权周转时间:2.0/2.0=1.0;
作业B的周转时间:11.7-8.5=3.2;带权周转时间:3.2/0.5=6.4; 作业C的周转时间:10.2-9.0=1.2;带权周转时间:3.2/0.5=6.0; 作业D的周转时间:11.2-9.5=1.7;带权周转时间:1.7/1.0=1.7; 故平均带权周转时间为:5.275。
2、(1)资源信号量empty:=2;同步信号量full:=0;
(2)①P(empty); ②;V(full) ③P(full); ④V(empty); 3、
1200K 1230K 1300K
A(30K) B(70K) F1(20K) 1500K 1550K
C(50K) F2(30K)
4、(1)LA=(1,50),PA=2500+50=2550; (2)LA=(5,350),因350>120发生地址越界。 5、
页面走向 LRU n=3 缺页 2 3 2 1 5 2 4 5 3 2 2 2 2 2 2 2 2 2 3 3 3 3 3 5 5 5 5 5 5 1 1 1 4 4 4 2 × × × × × × × (1)缺页率:7/10=70%;
第 15 页 共 16 页
(2)LRU置换算法选择离当前时间最近的一段时间内最久没有使用过的页面淘汰。
第 16 页 共 16 页