当前位置:首页 > 操作系统实验指导书
第二题:用按序分配策略实现资源分配。要求:
(1) 设计一个3个进程共享10个资源的系统,进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。
(2) 设计用按序分配算法实现资源分配的资源分配程序,应具有显示或打印各进程依次要求申请的资源号以及依次分配资源地情况。
(3) 确定两组各进程依次要求申请的资源号,要求其中的一组中各进程按序地申请资源,另一组中各进程申请资源不受序号限制,分别运行上述设计的资源分配程序,观察运行结果。
[提示]:
(1) 防止进程发生循环等待的另一种资源分配策略是按序分配算法,其基本思想如下:把系统中所有的资源排一个顺序,例如系统共有m个资源,用ri表示第i个资源,那么这m个资源是:
r1, r2, r3 ??, rm
规定任何进程不得在占用资源ri(1
(2) 把各进程申请资源的情况记录在进程控制块PCB中,现假定进程控制块PCB的格式如下:
进 程 号 状 态 当前等待资源号 上次申请资源号
其中“状态”可以为就绪态、等待态和完成态。当进程处于等待态时,表示系统不能满足该进程的当前资源申请,此时,PCB中的“当前等待资源号”反映了该进程等待的资源。当系统为进程分配了一个资源后,则把分配的资源号填入“上次申请资源号”一栏中。
(3) 假定系统中拥有的资源数m=10,而系统中申请资源的进程数N=3。按序分配算法程序流程见图3。
12
图3 按序分配算法模拟流程
五、思考题
(1) (2) (3) (4)
死锁发生的条件?
避免死锁的方法有哪些?
你的算法采用什么思想预防或避免死锁的发生? 效率如何?
六、实验报告
(1) 实验题目。
(2) 程序中使用的数据结构及符号说明。 (3) 打印一份源程序并附上注释。 (4) 打印资源申请和分配情况 资源申请:
13
进程号
分配情况: 序号 进程号 依次申请的资源数/资源号 得到的资源数/资源号 等待资源数/资源号
14
实验三 存储管理
一、实验目的
一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。
熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。
二、实验类型
设计型。
三、预习内容
预习课本存储管理有关内容,包括首次适应算法、最佳适应算法、最差适应算法。
四、实验要求与提示
主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区说明表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、循环首次适应算法、最佳适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。
15
共分享92篇相关文档