6 16 28 平均周转时间:(30+22+6+16+28)/5 =20.4分钟
3. 某寺庙,有小,老和尚若干,由小和尚提水如缸供老和尚饮用。水缸可容10桶水,水取自同一井中。水井窄,每次只能容一个桶取水。水桶总数为3个。每次入,取缸水仅为1桶,且不可同时进行。试给出有关取水,入水的算法。
Mutex1 = 1,mutex2 = 1,empty = 10,full = 0, count =3 Repeat Begin :
L1: P(empty); P(count); P(mutex1);
FETCH from jing; V(mutex1); P(mutex2); POUR;
V(mutex2); V(count); V(full); Until false;
Repeat P(full); P(count); P(mutex2);
Fetch from gang ; V(mutex2); V(empty); V(count); Until false
4. 某数据库有一个写进程,N个读进程,他们之间读写操作的互斥要求是: 写进程正在写该数据库时,不能有其他进程读该数据库。 写进程之间不互斥,可以同时读该数据库。
如果有若干进程正在读该数据库,一个写进程正在等待写,则随后欲读的进程也不能读该数据库,需等待写进程先写。 写PV READ :
While wc = 1 do skip; ------若有写进程请求,则后续读不响应
P(mutex);
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,针对上述两种情况会产生什么后果?这说明了什么问题?
最先适配: