2018年清华大学软件学院408计算机学科专业基础综合之计算机操作系统考研强化五套模拟题
● 摘要
一、应用题
1. 进程资源的使用情况和可用情况如下表所示(四个进程和三类资源):
(1)请画出资源分配图。
(2)分析目前系统中是否会发生死锁。
【答案】(1)资源分配图
Pi>。Pi 是进程每一条便是一个有序对 并且当前正在等待分配。如果ri 是资源类型如果则存在一条从Pi 指向ri 的有向边,它表示Pi 提出了一个要求分配ri 类资源中的一个资源的请求,则存在一条从ri 类资源执行进程Pi 的有向边,它表示ri 类资源中的某个资源已分配给了进程Pi 。有向边 在有向图中,用圆圈代表进程,用方框表示每类资源。每一类资源ri 可能有多个实例,可用方框中的圆点表示各个资源实例。申请边为从进程到资源的有向边,表示进程申请一个资源,但当前该进程在等待该资源。分配边为从资源到进程的有向边,表示有一个资源实例分配给进程。注意:一条申请便仅指向代表资源类ri 的方框,表示申请时不指定哪一个资源实例,而分配边必须由方框中的圆点引出,表目哪一个资源实例也被占有。 当进程Pi 请求资源类ri 的一个实例时,将一条请求边加入资源分配图,如果这个请求是可以满足的,则该请求边立即转换成分配边:当进程随后释放了某个资源时,则删除分配边。 (2)从进程对各类资源的占有量尚需量和系统中各类资源的剩余量来考虑是否有死锁存在。可以看出进程P2已得到全部资源,能在有限的时间内归还资源,得到可分配的资源数为 (3, 1,0)+(0, 0, 0)=(3, 1,0) 可满足进程P1的申请,P1也能在有限的时间内归还资源,于是可分配资源数増加为 (3,1,0)+(2, 0,0)=(5, 1,0) 接着,对进程P4的申请也能满足,最后让进程P3运行。所以存在一个进程推进的序列{P2, P1, P4, P3},先后都能完成,目前系统是安全的,没有死锁。也可通过对资源分配图化简的方法,说明没有死锁存在。 【解析】进程的死锁问题可以用有向图准确而形象的描述,这种有向图称为系统资源分配图。一个系统资源分配图SRAG 可定义为一个二元组,即SRAG=(V , E ),其中V 是顶点的集合,而E 是有向边的集合。顶点集合可分为两种部分:P=(Pl ,P2, …,Pn ), 是由系统内的所有进程组成的集合,每一个Pi 代表一个进程;R=(r1,r2,…,rm ), 是系统内所有资源组成的集合,每一个ri 代表一类资源。 2. 输入进程I 和用户进程P 采用双缓冲技术交换数据。输入进程I 首先填满Bufl ,用户进程P 从Buf1提取数据的同时,输入进程I 填充Buf2。当Buf1出空时,输入进程I 又可填充Buf1; 同样,当Buf2填满时,用户进程P 又可从Buf2提取数据。如此两进程交替使用两缓冲区。试用P 、V 操作实现两进程之间的同步。 【答案】 二、综合题 3. 某系统采用段页式存储管理,有关的数据结构如下图。 (1)说明在段页式系统中动态地址变换过程。 (2)计算虚地址69732的物理地址,要求用十进制表示,并写出计算过程。 图1 【答案】按照段页式存储管理系统的地址转换过程: (1)在段页式系统中,为了实现从逻辑地址到物理地址的变换,系统中须同时配置段表和页表。由于允许将一个段中的页进行离散分配,段表表项内容略有变化:不再是段的内存始址和段长,而是页表始址和页表长度。在段页式系统中要获得一条指令或数据,需要三次访问内存: (1)访问段表;(2)访问页表;(3)存取数据。 访问过程图如下:
相关内容
相关标签