《2022年操作系统第五次作业参考答案 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统第五次作业参考答案 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 作业共有 3 次:操作系统作业(2011-04-18) 、操作系统作业(2011-04-21) 、课本( P159-26)操作系统作业(2011-04-18) :1、 下表给出了五个进程的执行时间和优先数,规定优先数越小优先权越大,在某时刻这五个进程按照P0、P1、P2、P3、P4 的顺序同时到达,求在采用如下算法时进程的平均周转时间和平均带权周转时间。(1)先来先服务调度算法(2)短进程优先调度算法(3)时间片轮转调度算法(时间片为5ms) (4)优先权调度算法进程执行时间( ms)优先数P0 20 3 P1 15 2 P2 35 4 P3 25 1 P4 40 5 参考答案 : (1)
2、作业执行顺序:P0、P1、P2、P3、P4; 71ms; 2.50 (2)作业执行顺序:P1、P0、P3、P2、P4;68ms; 2.25 (3)作业执行顺序:略;105ms; 3.83 (4)作业执行顺序:P3、P1、P0、P2、P4;71ms;2.55 2、 在分页存储管理系统中,存取一次内存的时间是8us,查询一次快表的时间是1us,缺页中断的时间是20us,假设页表的查询与快表的查询同时进行。当查询页表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送入快表。(1)求对某一数据进行一次存取可能需要的时间?(2)现连续对同一页面上的数据进行4 次连续读取,求每次读取数据可能需
3、要的时间? 参考答案 :(1) 当系统对数据进行存取时,有3 种可能性: 所存取的数据的页面在内存,其页表项已经存储到快表,此时存取数据的时间是:查询快表的时间+存取内存数据的时间=1us+8us= 9us 所存取的数据的页面在内存,但是其页表项没有存储到快表,没有命中快表,此时存取数据的时间是:查询页表的时间+存取内存数据的时间=8us+8us= 16us 所存取的数据的页面不在内存,发生缺页中断,此时存取数据的时间是:查 询 页 表 的 时 间 + 缺 页 中 断 的 时 间 + 查 询 页 表 的 时 间 + 存 取 内 存 数 据 的 时 间=8us+20us+8us+8us = 44
4、us (2) 当对某一数据进行4 次连续读取时: 第 1 次可能的时间为:1us+8us= 9us;8us+8us= 16us;8us+20us+8us+8us=44us。 第 2 次时,对应页面的页表项已经交换到快表中。因为存取是连续的,不存在页面被淘汰的可能性,所以第2 次、第3 次、第4 次的存取时间是一样的,消耗的时间为1us+8us= 9us。3、 在一个分页存储管理系统中,逻辑地址长度为16 位,页面大小为4096 字节,现有一逻辑地址 2F6AH,且第 0、1、2 页依次存放在物理块5、10、11 中,问相应的物理地址为多少(请用十六进制表示)?并画出地址转换图。参考答案 : (
5、 BF6AH) 注意:还要画出地址转换图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2 操作系统作业(2011-04-21) :1、 假定某采用页式存储管理系统中,主存容量为1MB, 被分成 256 块, 块号为 0, 1, 2, ,255。现有一个共4 页(页号为0,1,2,3)的作业被依次装入到主存的第2,4,1,5块中。请回答:(1)主存地址应该用多少位来表示?(2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分
6、应占用多少位?(3)画出页表并给出作业中每一页占用的主存块起始地址。(4)若作业执行中要从第0 页的第 75 单元和第 3 页的第 548 单元读信息,那么,实际应从主存的哪两个单元读信息?请把应访问的主存绝对地址用十六进制数表示。参考答案 (1)主存地址应该用20 位来表示。(2)作业每一页的长度应为2 12 =4096 个字节,逻辑地址中的页内地址部分应占用12位。(3)作业中每一页占用主存块的起始地址为:页号块号起始地址0 2 8K 1 4 16K 2 1 4K 3 5 20K (4)若作业执行中要从第0 页的第 75 单元读信息,则实际应从主存的第2 块第 75 单元读,应访问的主存绝
7、对地址用十六进制数表示为0204BH。若要从第3 页的第 548 单元读信息,则实际应从主存的第5 块第 548 单元读,应访问的主存绝对地址用十六进制数表示为: 05224H。2、 兄弟俩共用一个账号,他们都可以用该账号到任何一家联网的银行自动存款或取款。假定银行的服务系统由“存款”和“取款”两个并发进程组成,且规定每次的存款额和取款额总是为100 元。若进程结构如下:begin amount:integer;amount: 0;cobegin Process SA VE m1: integer;begin m1: amount;m1: m1+100;amount: m1 end;Proce
8、ss TAKE m2:integer;begin 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 3 m2: amount;m2: m2-100;amount: m2 end;coend;end;请回答下列问题:(1)请估计该系统工作时会出现怎样的错误?为什么?(2)若哥哥先存了两次钱,但在第三次存钱时弟弟却正在取钱,则该账号上可能出现的余额为多少?正确的余额应该为多少?(3)为保证系统的安全,若用 PV 操作来管理, 应怎样定
9、义信号量及其初值?解释信号量的作用。(4)在程序的适当位置加上P 操作和 V 操作,使其能正确工作。参考答案 (1) 系统工作时会出现与时间有关的错误,这是因为并发进程中没有对共享变量amount的使用加以限制,进程交叉访问amount 时就会出错。(2)账号上可能出现的余额为100 元或 200 元或 300 元,正确的余额应该为200 元(3)用 PV 操作管理时可定义一个信号量S,S 的初值为1,信号量 S 用于限制进程互斥地进入相关临界区执行。(4)使用 PV 操作管理后能保证正确并发执行的进程结构如下:begin amount:integer; s:semaphore; amount
10、:=0; s:=1; cobegin| Process SA VE m1:integer; begin P(S); m1:=amount; m1:=m1+100; amount:=m1; V(S) end; Process TAKE m2:integer; begin P(S); m2:=amount; m2:=m2-100; amount:=m2; V(S) end; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 4 coe
11、nd: end; 3、 有一仓库,可存放A 和 B 两种产品,每次入库时只能存入A 或 B 一种产品,每次出库时只能取出A 或 B 一种产品。现要求:(1)-30A 产品数量 -B 产品数量 40 (2)A 产品数量 +B 产品数量 200 试用 P、V 操作描述产品的入库过程和出库过程。参考答案 main() Semaphore empty=199; /A+B200 Semaphore full=0; Semaphore mutex=1; Semaphore AB=39; /A-B40 Semaphore BA=29; /B-A30 Cobegin InLib(); OutLib(); Co
12、end 入库过程InLib(): 出库过程OutLib() : while(有产品入库 ) while( 有产品出库 ) if(产品为 A) if( 产品为 A) P(empty); P(full) P(AB) P(BA) P(mutex) P(mutex) A 产品入库A 产品出库V(mutex) V(mutex) V(BA) V(AB) V(full); V(empty) else else P(empty); P(full); P(BA) P(AB); P(mutex) P(mutex) B 产品入库B 产品出库V(mutex) V(mutex) V(AB) V(BA) V(full); V(empty) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 5 课本: P159-26 参考答案 缺页次数: 9 次,缺页率:75%;缺页次数: 10 次,缺页率:83.3%;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -