1.某数据库有一个写进程,多个读进程,它们之间读、写操作的互斥要求是:写进程正在写该数据库时不能有其他进程读该数据库,也不能有其他进程写该数据库;读进程之间不互斥,可以同时读该数据库。
请用信号量及p、v操作描述这一组进程的工作过程。
解:在本题中,允许读进程同时读数据库,但写进程正在写数据库时不允许其他进程读数据库,也不允许其他进程写该数据库。为了解决读、写进程之间的同步,应设置两个信号量和一个共享变量:
读互斥信号量rmutex,用于使读进程互斥地访问共享变量count,其初值为1;写互斥信号量wmutex,用于实现写进程与读进程的互斥及写进程与写进程的互斥,其初值为1,共享变量count,用于记录当前正在读数据库的读进程数目,初值为0。
其工作过程如下:
int rmutex=1;
int wmutex=1;
int count=0;
main( )
cobegin
reader (
write (
coendreader (
while(1)
2. 某系统有r1、r2和r3共3种资源.在t0时刻p1、p2、p3和p4这4个进程对资源的占用和需求情况见下表,此刻系统的可用资源向量为(2,1,2),问题:
1)将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来;
2)如果此时p1和p2均发出资源请求向量request(1,0,1),为了保持系统安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因;
3)如果(2)中两个请求立刻得到满足后,系统此刻是否处于死锁状态?
解:(1)系统资源总数为(9,3,6)。
各进程对资源需求矩阵为: 2 2 2
2)采用银行家算法进行计算得:系统不可以将资源分配给进程p1,虽然剩余资源还可以满足进程p1现在的需求,但是一旦分配给进程p1后,就找不到一个安全执行的序列保证各个进程能够正常运行下去。因此进程p1进入等待状态。
系统可以满足p2的请求,因为分配完成后,至少还可以找到一个安全序列,如(p2p1p3p4),使各进程可以运行至结束。
3)系统满足进程p1和p2的请求后,没有立即进入死锁状态,因为此时所有进程还处于运行状态,没有被阻塞;只有等到进程继续申请资源井因得不到满足而全部进人阻塞状态,死锁才真正发生了。
3. 在一个采用页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是:115,228,120,88,446,102,321,432,260,167,若该作业的第0页已经装入主存,现分配给该作业的主存共,页的大小为,请回答下列问题:
按(1)fifo调度算法(2)lru调度算法将产生多少次缺页中断,缺页中断率为多少,依次淘汰的页号是什么。
答:(1)按fifo调度算法将产生5次缺页中断;
依次淘汰的页号为:0,1,2;
缺页中断率为:5/10=50% 。
2)按lru调度算法将产生6次缺页中断;
依次淘汰的页号为:2,0,1,3;
缺页中断率为:6/10=60% 。
4. 在一个段式存储管理系统中,段表内容如下:
试求下述逻辑地址对应的物理地址是什么?
解:(1)由于第0段的内存始址为210,段长为500,故逻辑地址[o,430]是合法地址。逻辑地址[0,430]对应的物理地址为210十430=640。
2)由于第1段的内存始址为2350,段长为20,故逻辑地址[1,10]是合法地址。逻辑地址[1,10]对应的物理地址为2350+10=2360。
3)由于第2段起始地址为100,段长为90,所给逻辑地址[2,500]非法。
4)由于第3段的内存始址为1350,段长为590,故逻辑地址[3,400]是合法地址。逻辑地址[3,400]对应的物理地址为1350十400=1750。
5)由于第4段的内存始址为1938,段长为95,所给逻辑地址[4,l12]非法。
6)由于系统中不存在第5段,所给逻辑地址[5,32]非法。
5. 在某系统中,采用固定分区分配管理方式,内存分区(单位字节)情况如图a所示。现有大小为lk、9k、33k、121k的多个作业要求进入内存,试画出它们进入内存后的空间分配俏况,并说明主存浪费有多大?
解:从图a可以看出,该系统中共有四个分区,第一分区的大小为8k,第二分区的。
大小为32k,第三分区的大小为120k,第四分区的大小为332k。作业进入系统后的内存。
分配情况,如图b所示(每个分区中未被利用的那部分空间用阴影表示):
图a 某系统内存分配情况)
图b 作业进入系统后的分配情况)
从图b可以看出,作业进入系统后,第一分区剩余空间为7k,第二分区剩余空间为23k,第三分区剩余空间为87k,第四分区剩余空间为211k。主存空间浪费328k。
6. 有一页式系统,其页表存放在主存中,(1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取时间是多少?
2)如果系统加有快表,平均命中率为85%,当页表项在快表中时,其查找时间忽略为0,试问此时的存取时间为多少?
解:若页表存放在主存中,则要实现一次页面访问需两次访问主存,一次是访问页表,确定所存取页面的物理地址,第二次才根据该地址存取页面数据。
1)由于页表存放在主存,因此cpu必须两次访问主存才能获得所需数据,所以实现一次页面访问的存取时间是1.5×2=3微秒。
2)在系统增加了快表后,在快表中找到页表项的概率为85%,所以实现一次页面访问的存取时间为 0.85×1.5十(1—0.85)×2×1.5=1.725微秒。
操作系统测试2答案
一 名词解释。1 死锁。在两个或多个并发进程中,如果每个进程持有某种资源而又都等待着别的进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。2 逻辑地址。用户的程序地址 指令地址或操作数地址 称为逻辑地址。3 物理地址。物理地址是计算机主存单元的真实地址。4...
操作系统作业2答案
姓名。学号评分。操作系统原理作业 b 答案。一 24分 单项选择题。1.在存储管理中,采用覆盖与交换技术的目的是 a.节省主存空间 b 物理上扩充主存容量。c.提高cpu效率 d 实现主存共享。答 a2.如果i o设备与存储设备进行数据交换不经过cpu来完成,这种数据交换方式是 a.程序查询 b 中...
2 1操作系统答案
第二章操作系统 一 是一个 a 单用户 多任务操作系统b.单用户 单任务操作系统c 多用户 单任务操作系统d.多用户 多任务操作系统。2 把windows的窗口和对话框做一比较,窗口可以移动和改变大小,而对话框 a 既不能移动,也不能改变大小b.仅可以移动,不能改变大小c 仅可以改变大小,不能移动d...