Rc:=rc + 1;
If rc = 1 then P(wr); -----若是第一个读进程,则要看有无写进程
V(mutex); READING P(mutex); Rc := rc -1;
If rc = 0 then V(wr); -------若所有读进程都执行完,可以让其它进程读写
V(mutex);
WRITE
Wc := 1; -------当有写进程请求时,禁止其随后的读进程 P(wr); WRITING; Wc := 0; V(wr);
5. 假定一个操作系统的进程调度采用剥夺式短进程优先调度算法(单处理机系统),系统中各进程到达就绪队列的时刻以及执行时间如下表所示:
进程 到达就绪队列时刻 执行时间 1 0 8 2 1 4 3 2 9 4 3 5
请给出各进程的调度次序,并计算平均等待时间和平均周转时间。
6. 假定具有5个进程的进程集合 ={P 0,P1,P2,P3,P4} 系统中有三类资源,其中A 类资源有10个, B类资源有5个,C类资源有7个,假定在某时刻有如下状态:
Allocation max available A B C A B C A B C P0 0 1 0 7 5 3 3 3 2 P1 2 0 0 3 2 2 P2 3 0 2 9 0 2 P3 2 1 1 2 2 2 P4 0 0 2 4 3 3
求出Need,并说明当前系统是否处于安全状态,如果是,给出序列,如果不是,说明理由。
7. 假定某操作系统存储器采用页式存储管理,一进程在联想存储器中的页表现为:
页号 块号 0 f1 1 f2 2 f3 3 f4 不在联想存储器中的页表项为: 4 f5 5 f6 6 f7 7 f8 8 f9 9 f10
又假定该进程体(程序与数据)代码长度为320字,每页32字。现有逻辑地址(八进制)为:101,204,576,如果上述逻辑地址能翻译成物理地址,则说明翻译的过程,并指出具体的物理地址,如果上述逻辑地址不能翻译成物理地址,说明为什么?
8. 在采用页式存储管理的系统中,某作业的逻辑地址空间为4页(每页2048字节),且已知该作业的页面映像(即页表)见下表。
0 2 1 4 2 6 3 8
试借助地址变换图,求现有效逻辑地址4865所对应的物理地址。
9. 纯分页系统和请求式分页系统的主要差别是什么?假定在一个请求式存储管理系统中,某作业所涉及的页面依次是:3,2,1,4,5,3,2,1,5 并已知主存中有3个可供作业使用的空白存储块(块的大小与页面大小相同),试说明采用FIFO和LRU两种算法进行页面置换时,缺页中断的次数各是多少?
10. 某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生,规定:
a) 每两个学生组成一组,各占一台机器,协同完成上机实习; b) 只有一组两个学生到齐,并且此时机房有空闲机器时,该组
学生才能进入机房;
c) 上机实习由一名教师检查,当学生上完机后,教师检查完一
组学生的实习后,这组学生才能同时离开。
试用P,V操作模拟上机实习的过程。(提示:除了有学生和教师进程外,还应该有门卫进程) student:=0;
computer:=2m enter:=0 finish:=0 test:=0; student: begin
P(computer) ----- 得到一台计算机
V(student) ----- 有学生到达,通知门卫 P(enter) ----- 等待进入 Practice;
V(finish); ----- 实习结束,通知教师 P(test); ----- 等待教师检查 V(computer); ----- 释放计算机资源
End;
Teacher: begin
P(finish); -----等待学生实习结束 P(finish); -----等待另一学生实习结束 Check;
V(test); -----检查完成 V(test); ----检查完成 End; Guard: begin
P(student); -----等待学生到达 P(student); -----等待另一学生到达 V(enter); ---- 允许学生进入 V(enter); ----允许另一学生进入 End;
11. 有一操作系统采用段式管理,用户区主存为512KB,空闲链接入空闲链表,分配时截取空块的前半部分(小地址部分)。初始时全部空闲。在执行了如下申请,释放操作序列后:(1) reg (300kb), (2) reg (100kb), release (300kb), (3) reg(150kb), (4) reg(50kb), (5) reg ( 90kb)
采用最先适配,空闲表中有哪些空块,用图示的方式表示。(指出大小及始址)
采用最佳适配,空闲表中有哪些空块。用图示的方式表示。(指出大小及始址)
若随后又要申请80KB,针对上述两种情况会产生什么后果?这说明了什么问题?
最先适配:
最佳适配:
又申请80KB,最先适配可满足,最佳适配不能满足
12. 有一矩阵:
VAR A: ARRAY[ 1..100,1..100] OF INTEGER; 按先行后列次序存储。
在一个虚存系统中,采用LRU淘汰算法,一个进程有三页内存空间,每页可以存放200个整数,其中第一页存放程序,且假定程序已经在内存。
程序 A :
FOR I:=1 TO 100 DO FOR J:=1 TO 100 DO A [I,J] :=0;
程序B
FOR J:=1 TO 100 DO FOR I:=1 TO 100 DO A [I,J] :=0;
分别就程序A 和 B 的执行过程计算缺页次数。
解: 共 100*100个变量,每页存放200个,共占100*100/200=50页。
程序A的访问轨迹为:
A[1,1],A[1,2],A[1,3],…A[1,100] A[2,1],A[2,2],A[2,3],…A[2,100] . .
A[100,1],A[100,2],A[100,3],…A[100,100] 根据变量访问规律可知访问页为: 1,2,3,。。。50 中断次数为50次
程序B的访问轨迹为:
A[1,1],A[2,1],A[3,1],…A[100,1] A[1,2],A[2,2],A[3,2],…A[100,2] . .
A[1,100],A[2,100],A[3,100],…A[100,100]
可得页面访问轨迹为: 1,1,2,2,3,3,。。。。50,50,1,1,2,2,3,3,50,50,。。。。共重复100次,每次中断次数为50次,共计50*100=5000次。