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 5 2 10 3 4 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时刻系统状态 P1 P2 P3 P4 P5 最大资源需求量 B 5 3 0 2 2 已分配资源数量 B 1 0 0 0 1 A 5 5 4 4 4 C 9 6 11 5 4 A 2 4 4 2 3 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 3 R2 3 R3 0 解:(共9分,每小题3分) 1. T0时刻是安全的,安全序列为:P1,P4,P5,P2,P3 2. P4请求资源(1,2,0),根据银行家算法,预分配后系统是安全的,安全
序列为:P1,P4,P5,P2,P3 3. P3请求资源(1,1,0),根据银行家算法,预分配后系统不安全,所以不
能实施资源分配。 9.一个进程的大小占5个页面,每页的大小为1K,系统为它分配了3个物理块。当前进程的页表如图所示:(共8分)
块号 存在位P 访问位R 修改位M 0x1C 1 1 0 0x3F 1 1 1 - 0 0 0 0x5D 1 0 0 - 0 0 0
1. 有那些页面不在内存?(2分) 2. 请分别计算进程中虚地址为0x3B7、0x12A5、0x1432单元的物理地址(用
十六进制表示),并说明理由。 (6分)
解:(共8分)
不在内存的是第2和4页(按页号),或第3和5页(按序号)。 (2分) 0x3B7的物理地址=0x 73 B7 (2分)
0x12 A5的物理地址=0x 176 A5,缺页,换出第三页。 (2分) 0x1432地址越界,出错。 (2分) 10.系统运行有三个进程:输入进程、计算进程和打印进程,它们协同完成工作。输入进程和计算进程之间共用缓冲区buffer1,计算进程和打印进程之间共用缓冲区buffer2。输入进程接收外部数据放入buffer1中;计算进程从buffer1中取出数据进行计算,然后将结果放入buffer2;打印进程从buffer2取出数据打