收容输入:数据从设备输入到缓冲池
hin = get-buf (emq); 数据装入hin中; put-buf (inq, hin):;
提取输入:数据从缓冲池输入到内存
sin = get-buf (inq); 数据从sin中提走; put-buf (emq, sin);
30.什么是虚拟存储器,它有什么特点?
答:虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲CPU工作时间以及内、外存交换时间为代价的。
31.比较基于索引节点和基于符号链的文件共享方法。(8分) 答:基于索引节点的文件共享是在文件的目录中填上需要共享文件的索引节点的序号,在索引节点中加上用户计数。基于符号链的文件共享是建立一种特殊的链接文件,内容为需要共享的文件的路径和名字,访问该文件时,根据路径找到共享的文件。基于索引节点的文件共享访问速度快,但可能使索引节点指针悬空;基于符号链的文件共享安全,但访问速度慢,要占用索引节点。
六 算法题
1. 这是一个从键盘输入到打印机输出的数据处理流图,其中键盘输入进程通过缓冲区 buf1 把输入数据传送给计算进程,计算进程把处理结果通过缓冲 buf2 传送给打印进程。buf1 和 buf2 为临界资源,试写出键盘输入进程,计算进程及打印进程间的同步算法。(10分)
输入进程 → buf1 → 计算进程 → buf2 → 打印进程
解答:从键盘输入到打印机输出的数据传送过程,可以看作是由键盘输入进程到计算进程,以及由计算进程到打印输出进程这两个数据传送进程所组成。其中,对键盘输入进程而言,计算进程是消费者进程;而对打印输出进程而言,计算进程又是生产者进程。据此可将它们之间的同步问题描述如下:
var:mutex1,mutex2,empty1,empty2,full1,full2:=1,1,1,1,0,0; IP:begin repeat
P(empty); P(mutex1);
input a charcter from keyboard; Add to buffer; V(mutex1); V(full); until false end CP:begin
repeat P(full); P(mutex1);
Take a charactor form buffer1; Add to ch1; V(mutex1); V(empty1); P(empty2); P(mutex2);
Take a charactor form ch1; Add to buffer2; V(mutex2); V(full2); until false end
OP:begin
repeat p(full2); P(mutex2);
Take a charactor from buffer2; Add to printer controler; start printer; V(mutex2); V(empty2); until false end
2.设在一个页面大小为 1K的系统中,正在处理器上执行的一个进程的页表如图所示: 页号 状态位 访问位 修改位 物理块号 0 1 1 0 4 1 1 1 1 7 2 0 0 0 - 3 1 0 0 2 4 0 0 0 - 5 1 0 1 0
起始页号和块号均为0。
1.详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 2.下列虚地址(十进制)对应与什么物理地址:5449,2221。 解: (10分)
5449的物理地址为:329 2221的物理地址为:2221
3.设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C按如下顺序请求资源:
进程A申请(3,2,1) 进程B申请(1,0,1) 进程A申请(0,1,0) 进程C申请(2,0,0)
请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺。(10分)
解:(10分)
① 分配策略为:当进程Pi申请ri类资源时,检查ri中有无可分配的资源:有则分配给Pi;否则将Pi占有的资源全部释放而进入等待状态。(Pi等待原占有的所有资源和新申请的资源)
② 资源分配过程: 剩余资源 进程A:(3,2,1) (1,0,1) 进程B:(1,0,1) (0,0,0) 进程A:(0,1,0)(不满足) (3,2,1) A的所有资源被剥夺,A处于等待
进程C:(2,0,0) (1,2,1) C,B完成之后,A可完成。
4.设公共汽车上,司机和售票员的活动分别是: 司机: 启动车辆 售票员: 上乘客 正常行车 关车门 到站停车 售票 开车门 `下乘客 在汽车不断地到站,停车,行使过程中,这两个活动有什么同步关系?并用 wait和signal 原语操作实现它们的同步。 解:BEGIN integer stop,run;
Stop:=0; Run:=0; COBEGIN
Driver: BEGIN
L1: wait(run);
启动车辆;
正常行车; 到站停车;
signal(stop); Goto L1;
END
Conductor: BEGIN
L2: 上乘客; 关车门; signal(run); 售票;
wait(stop); 开车门; 下乘客; Goto L2;
END
COEND
END
5、某虚拟存储器的用户编程空间共321KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
页号 1 2 3 4 物理块号 5 10 4 7 则逻辑地址0A5C(H)所对应的物理地址是什么?
答:逻辑地址0A5CH)所对应的二进制表示形式是:0000 1010 0101 1100 ,由于1K=210,下划线部分前的编码为000010,表示该逻辑地址对应的页号为3查页表,得到物理块号是4(十进制),即物理块地址为:0001 0010 0000 0000 ,拼接块内地址0000 0000 0101 1100,得0001 0010 0101 1100,即125C(H)。
6、某段表内容如下:
段号 0 1 2 3 段首地址 120K 760K 480K 370K 段长度 40K 30K 20K 20K 一逻辑地址为(2,154)的实际物理地址为多少?
答:逻辑地址(2154)表示段号为2,即段首地址为480K,154为单元号,则实际物理地址为480K+154。
7、设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表1和表2所示。(共10分)
系统采用银行家算法实施死锁避免策略。
① T0时刻是否为安全状态?若是,请给出安全序列。
② 在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? ③ 在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? ④ 在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么? 表1 T0时刻系统状态
最大资源需求量 A P1 P2 P3 P4 P5 5 5 4 4 4 B 5 3 0 2 2 C 9 6 11 5 4 A 2 4 4 2 3 已分配资源数量 B 1 0 0 0 1 C 2 2 5 4 4 表2 T0时刻系统状态 剩余资源数 A 2 B 3 C 3 8.系统中有五个进程P1、P2、P3、P4、P5,有三种类型的资源:R1、R2、和R3。在T0时刻系统状态如表所示。若采用银行家算法实施死锁避免策略,回答下列问题: (共9分,每小题3分)
1. T0时刻是否为安全状态?为什么? 2. 若这时P4请求资源(1,2,0),是否能实施资源分配?为什么? 3. 在上面的基础上,若进程P3请求资源(0,1,0),是否能实施资源分配?为什么?
T0时刻系统状态
P1 P2 P3 P4 P5
已分配资源数量 R1 R2 R3 0 0 1 2 0 0 0 0 3 1 1 5 0 3 3 最大资源需求量 R1 R2 R3 0 0 1 2 7 5 6 6 5 4 3 5 0 6 5 R1 R2 R3