if(countA==1) P(mutex); V(SA); 过桥; P(SA);
countA=countA-1; if(countA==0) V(mutex); V(SA); End
B方向行人过桥: Begin P(SB);
countB=countB+1; if(countB==1) P(mutex); V(SB);
过桥; P(SB);
countB=countB-1; if(countB==0) V(mutex); V(SB); End
解答2:
semaphore wait,mutex1,mutex2; mutex1=mutex2=1;wait=1;
int counter1,counter2; counter1=0;counter2=0;
process P左() { while(true) {
P(mutex1); count1++;
if (count1==1) P(wait); V(mutex1); 过独木桥; P(mutex1); count1--;
if(count1==0) V(wait); V(mutex1); }
}
process P右() { while(true) {
P(mutex2); count2++;
if (count2==1) P(wait); V(mutex2); 过独木桥; P(mutex1);
count2--;
if(count2==0) V(wait); V(mutex2); } }
34.
stop用于当另一方提出过桥时,应阻止对方未上桥的后继车辆。
semaphore stop,wait,mutex1,mutex2; stop=mutex1=mutex2=1;wait=1;
int counter1,counter2; counter1=0;counter2=0; cobegin
process P东( ) { process P西( ) { P(stop); P(stop);
P(mutex1); P(mutex2); count1++; count2++;
if (count1==1) P(wait); if (count2==1) P(wait); V(mutex1); V(mutex2); V(stop); V(stop); {过桥}; {过桥};
P(mutex1); P(mutex2);
Count1--; count2--; if (count1==0) V(wait); if (count2==0) V(wait); V(mutex1); V(mutex2); } } coend 36.
假定某计算机系统有R1和R2两类可使用资源(其中R1有两个单位,R2有一个单位),它们被进程P1和P2所共享,且已知两个进程均以下列顺序使用两类资源: →申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→
试求出系统运行过程中可能到达的死锁点,并画出死锁点的资源分配图(或称进程资源图)
解:在本题中,当两个进程都执行完第1步后,即进程P1和进程P2都申请到了一个R1类资源时,系统进入不安全状态。随着两个进程的向前推进,无论哪个进程执行完第2步,系统都将进入死锁状态。可能到达的死锁点是:进程P1占有一个单位的R1类资源及一个单位的R2类资源,进程P2占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁;或进程P2占有一个单位的R1类资源及一个单位的R2类资源,进程P1占有一个单位的R1类资源,此时系统内已无空闲资源,而两个进程都在保持已占有资源不释放的情况下继续申请资源,从而造成死锁。
假定进程P1成功执行了第2步,则死锁点的资源分配图如图3.38所示。
/*tips*/循环等待条件(安全检测)
第四章
一、简答题
1、试述存储管理的基本功能。 答:
(1) 存储分配; (2) 地址映射; (3) 存储保护; (4) 存储共享; (5) 存储扩充。
4.何谓地址转换(重定位)?哪些方法可以实现地址转换。
可执行的程序逻辑地址转换(绑定)为物理地址的过程称为地址转换。 实现方法:静态地址重定位,动态地址重定位,运行时链接地址重定位。 9.什么是虚拟存储器?列举采用虚拟存储技术的必要性和可能性。
虚拟存储器:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理主存容量大得多的、可寻址的“主存储器”。 必要性:可用较小的内存空间执行较大的程序,能容纳更多的并发执行程序。 可能性:基于程序的局部性原理。
10.试述请求分页虚存管理的实现原理。
请求分段虚存管理是将进程信息副本存放在外存中,当它被调度投入运行时,程序和数据没有全部装入内存,仅装入当前使用段,进程执行过程中访问到不在内存的段时候,再由系统自动调入。
11.试述请求分段虚存管理的实现原理。
请求分段虚拟存储系统把作业的所有分段的副本都存放在辅助存储器中,当作业被调度投入运行时,首先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们动态装入。
1、虚地址以程序的逻辑结构划分成段,这是段页式存储管理的段式特征。
2、实地址划分成位置固定、大小相等的页框(块),这是段页式存储管理的页式特征 3、将每一段的线性地址空间划分成与页框大小相等的页面,于是形成了段页式存储管理的特征
4、逻辑地址形式为:
段号(s) 段内页号 (p) 页内位移(d)
对于用户来说,段式虚拟地址应该由段号s和段内位移d’组成,操作系统内部再自动把d’解释成两部分:段内页号p和页内位移d,也就是说,d’=p×块长+d。
18.试述实现虚拟存储器的基本原理。
作业运行之前仅将当前要运行的那部分页面和段先装入内存便可开始运行,在程序的运行中,发现所要访问的段不在内存中时,再有操作系统将其调入内存,程序便可继续执行下去。
二、应用题 3.
答:(1) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。使用LRU为7次, 7/12=58%。使用OPT为6次,6/12=50%。
作业的物理块数为4块,使用FIFO为6次,6/12=50%。使用LRU为6次,6/12=50%。使用OPT为5次,5/12=42%。
(2) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。使用LRU为10次, 10/12=83%。使用OPT为7次,7/12=58%。
作业的物理块数为4块,使用FIFO为10次,10/12=83%。使用LRU为8次, 8/12=66%。使用OPT为6次,6/12=50%。
15.在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在10、12、14号物理块中,问相应的物理地址为多少? 4096B=2^12B
16位寻址一共2^16B
分页存储.共分的页:2^16/2^12=2^4=16 共分16页. 第0页的地址范围 0H - 0FFFH 第1页的地址范围 1000H - 1FFFH 第2页得地址范围 2000H - 2FFFH .
第14页 E000H - EFFFH 第15页 F000H - FFFFH
2F6AH=10 1111 0110 1010 在2页的范围对应物理块14 所以物理地址为:
2F6AH - 2000H + E000H = F6AH + E000H= EF6AH /*tips*/地址同为16位 逻辑地址 页号 页内地址 页框 物理地址 页内地址 29.
答:1)680 2)915 3)904 4)越界 5)1750 6) 越界。 30.
答:1) 页面访问序列为
1,1,2,2,1,4,2,3,3,5,5,4
(0,0,1,1,0,3,1,2,2,4,4,3。)
2)FIFO为5次,缺页中断率为5/12=41.6%。LRU为6次,缺页中断率为6/12=50%。 LRU反比FIFO缺页中断率高。
第五章
一、简答题
2.试述各种I/O控制方式及其主要优、缺点。
(1)轮询方式:又称程序直接控制方式,使用查询指令测试设备控制器的忙闲状态位,确定内存和设备是否能交换数据。 优点:原理简单,成本低廉。
缺点:轮询方式的主要缺点是运行效率不足。
(2)中断控制方式:cpu启动I/O设备后不必查询I/O设备是否准备就绪,而是继续执行现行程序,对设备是否准备就绪不加过问。
优点:不必忙于查询I/O准备情况,cup和I/O设备可实现部分并行,大大提升了cup的利用率。 缺点:输入输出操作直接由中央处理器控制,每传送一个字符或一个字,都要发生一次中断,仍耗费大量中央处理器时间。
(3)DMA方式:内存和设备之间有一条数据通路成块的传说数据,在主机和I/O设备之间成块的传送数据过程中,无需CPU干预,实际操作由DMA直接执行完成。 优点:实现线路简单,价格低廉。
缺点:增加主存地址寄存器,数据移位寄存器等硬件,不仅有中断结构,还增加了DMA传输控制结构,增加了成本,但功能较差,不能满足复杂的I/O操作要求。
(4)通道方式:又称I/O处理器,能完成内存和设备之间的信息传送,与CPU并行的执行操作。
优点:a>.自成独立体系,大大减少了外围设备和中央处理器的逻辑关系,把中央处理器从琐碎的输入输出操作中解放出来;b>.外围和中央处理器能实现并行操作;c>.通道和通道之间能实现并行操作;d>.各通道上的外围设备也能实现并行操作。
缺点:a>.具有通道装置的计算机的主机、通道、控制器和设备之间用四级连接,实施三级控制;b>.价格较高,一般在大型机中使用。
21、什么是虚拟设备?实现虚拟设备的主要条件是什么?
虚拟设备:为了提高独占设备的利用率,采用SPOOLING技术,用可共享的设备模拟独占设