银行家算法例题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在银行家算法中若出现下述资源分配情况:
进程已分配资源需求资源可剩余资源
P0 0 0 3 2 0 0 1 2 1 6 2 2
P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6
P3 0 3 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6
问:1,该状态是否安全?
2,若P2提出请求{1,2,2,2}后,系统能否将资源分配给它?
四、回答题(22分)
1.(4分)下列C程序说明系统调用fork()的应用。

请在①②③④处填入有关父、子进程的正确语句:
/* Example to demonstrate the function of System Call fork */
main()
{
int i;

if(i)>0
{
printf(“②”) ;
}
else{
printf(“③”) ;
}
printf(“④”) ;
}
执行本程序时,子进程在标准输出上打印以下结果:
It is child process.
Exit.
父进程在标准输出上打印以下结果:
It is Parent process.
Exit.
2.(6分)设备驱动程序是什么?为什么要有设备驱动程序,用户进程怎样使用驱动程序? 3.(4分)一个由3个页面(页号为0、1、2),每页有2048个字节组成的程序,假定在某时刻调入8个物理块的内存,其页面的页号和物理块号的对照表如下:
逻辑页号主存块号
0 4
1 7
2 1
请根据页表,计算下列给出的逻辑地址对应的绝对地址。

(1)100 (2)2617 (3)5196
4.(4分)文件的逻辑结构、物理组织及存取方法之间的关系如何?
四、回答题(22分)
1.答(4分)
①while((I=fork())==-1);
②It is parent process.\n
③It is child process.\n
④Exit.\n
2.答:(6分)
设备驱动进程(I/O进程,进程是并发环境下和谐的一次执行)与设备控制器之间的通信程序称为设备驱动程序。

设备驱动程序是控制设备动作的核心模块,如设备的打开、关闭、读、写等,用来控制设备
上数据的传输。

它直接与硬件密切相关,处理用户进程发出的I/O请求。

(设备控制设备关键寄存器内容要素:地址、数据和控制信号寄存器——叫某某人、干、什么事)
用户进程使用设备驱动程序时,设备驱动程序的处理过程为:将用户进程抽象的I/O要求转换为具体的要求,检查I/O请求的合法性,读出和检查设备的状态,传送必要的参数,设置设备工作方式,启动设备。

3.答:(4分)
首先根据逻辑地址查页表,得到主存的块号,再根据公式绝对地址=块号×块长+页内地址进行计算。

(1)100的页号为0(100/2048=2),页内地址为100mod2048=100;查表得主存块号为4,于是绝对地址=4×2048+100=8292;
(2)2617的页号为1(2617/2048=1),页内地址为2617mod2048=569;查表得主存块号为7,于是绝对地址=7×2048+569=14905;
(3)5196的页号为2(5196/2048=2),页内地址为5196mod2048=1100;查表得主存块号为1,于是绝对地址=1×2048+1100=3148;
(注:mod为取模运算,即求余数)
4.答:(4分)
由用户从使用角度确定的文件结构称为文件的逻辑结构;文件系统从文件的存储和检索的角度,在存储介质上的文件组织方式称为文件的物理结构。

文件的逻辑结构离不开文件的实际物理结构,同时又与文件的存取方法有关。

按存取的次序分,文件的存取方法分为顺序存取和直接存取。

一般来说,对顺序存取的文件,文件系统可把它组织成顺序文件和链接文件;对于随机存取的文件,文件系统可把它组织成索引文件。

但索引文件也可以进行顺序存取。

3.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。

假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
页号物理块号
0 5
1 10
2 4
3 7
请计算逻辑地址0A5C(H)所对应的绝对地址。

3.答:页式存储管理的逻辑地址分为两部分:页号和页内地址。

由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。

由“内存为16KB”,可知有16块,块号为4位。

逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100,根据上面的分析,下划线部分为页内地址,编码"00010'为页号,表示该逻辑地址对应的页号为2。

查页表,得到物理块号是4(十进制),即物理块地址为:0100,拼接块内地址.10 01 01 1100,得01 0010 01011100,即125C(H)。

39.(10分)在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共300字,页的大小为100字,请回答下列问题:(1)按FIFO调度算法将产生次缺页中断,依次淘汰的页号为,缺页中断率为。

按FIFO调度算法将产生5次缺页中断;依次淘汰的页号为:0,1,2;
缺页中断率为:5/10=50%
(2)按LRU调度算法将产生次缺页中断,依次淘汰的页号为,缺页中断率为。

按LRU调度算法将产生6次缺页中断;依次淘汰的页号为:2,0,1,3;
缺页中断率为:6/10=60%
40.(8分)若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,假设每移动一个柱面需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。

(1)先来先服务算法;
3毫秒×292=876毫秒
(2)最短寻找时间优先算法
3毫秒×120=360毫秒
41.(8分)某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台。

若P1,P2,P3已申请到4台,2台和2台。

试问:按银行家算法能安全分配吗?请说明分配过程。

系统能为进程P3分配二台打印机。

因为尽管此时10台打印机已分配给进程P1 4台,P22台和P34台,全部分配完,但P3已分配到所需要的全部4台打印机,它不会对打印机再提出申请,所以它能顺利运行下去,能释放占用的4台打印机,使进程P1,P2均可能获得乘余的要求4台和5台,按银行家算法是安全的。

相关文档
最新文档