操作系统复习题(2)及答案全解 联系客服

发布时间 : 星期二 文章操作系统复习题(2)及答案全解更新完毕开始阅读a520f9895122aaea998fcc22bcd126fff7055db4

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,针对上述两种情况会产生什么后果?这说明了什么问题?

最先适配: