计算机操作系统试验指导_第1页
计算机操作系统试验指导_第2页
计算机操作系统试验指导_第3页
计算机操作系统试验指导_第4页
计算机操作系统试验指导_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目录目录实验一实验一 进程同步与互斥进程同步与互斥实验二实验二 银行家算法实现资源分配银行家算法实现资源分配实验三实验三 调度算法的使用调度算法的使用实验四实验四 请求页式存储管理请求页式存储管理l一、实验目的一、实验目的l1.掌握基本的同步与互斥算法,理解生产者消费者模型。l2.学习使用Windows 2000/XP中基本的同步对象,掌握相关API的使用方法。l3.了解Windows 2000/XP中多线程的并发执行机制,实现进程的同步与互斥。l二、实验内容二、实验内容l以生产者/消费者模型为依据,在Windows 2000环境下创建一个控制台进程,在该进程中创建n个线程模拟生产者和消费者

2、,实现进程(线程)的同步与互斥。l三、实验性质三、实验性质l验证性l四、实验学时四、实验学时l2学时l五、实验环境五、实验环境lC与C+程序设计学习与实验系统 l六、实验原理及步骤六、实验原理及步骤l测试用例文件l测试用例文件用于描述各线程的有关信息,该文件内容及格式如下:l3l1 P 3l2 P 4l3 C 4 1l4 P 2l5 C 3 1 2 4说明:第一行给出的是程序中设置的临界区个数;其余各行是各进程信息。 每行中的数据之间用Tab键分隔。 第一列(除第一行外):线程号。 第二列:P生产者,C消费者。 第三列:线程在生产和消费前的休眠时间,单位为秒。 第四及以后各列:消费的产品所对应

3、的生产者线程号。l程序结构l 为了方便,程序结构用如下的文字予以描述。l (1) 主函数l (2) 初始化缓冲区、消费请求队列及部分同步对象l (3) 提取线程信息l (4) 完成线程相关同步对象的初始化l (5) 创建线程,模拟生产者和消费者l (6) 等待所有线程结束l (7) 程序结束l (8) 消费者l l (9) 有无消费请求?有,则继续(10);无,则转(16)l (10) 此请求可满足?可满足,转(11);否,则阻塞,再转(10)l (11) 确定产品位置l (12) 此产品正被消费?是,则阻塞,再转(12);否,则转(13)l (13) 进入临界区(请求同一产品的消费者之间互斥

4、)l (14) 消费产品,并判断是否应该释放产品所占缓冲区l (15) 退出临界区,转(9)l (16) 结束消费者线程 (17) 生产者 (18) 存在空缓冲区?有,则继续(19);无,则阻塞,再转 (18) (19) 另一生产者在写?否,则转(20);是,则阻塞,再转 (19) (20) 进入临界区(请求同一产品的生产者之间互斥) (21) 在缓冲区中为本线程产品分配空间 (22) 退出临界区 (23) 写入产品到分配的缓冲区空间中 (24) 结束生产者线程七、实验报告内容七、实验报告内容1.实验的程序源码2.运行程序,给出运行结果截图3.分析实验结果,得出结论l一、实验目的一、实验目的l

5、在了解和掌握银行家算法的基础上,能熟练的处理课本例题中所给状态的安全性问题,能编制银行家算法通用程序,将调试结果显示在计算机屏幕上,再检测和笔算的一致性。l二、实验内容二、实验内容l设计五个进程P0,P1,P2,P3,P4共享三类资源A,B,C的系统,A,B,C的资源数量分别为10,5,7。进程可动态地申请资源和释放资源,系统按各进程的申请动态地分配资源。要求程序具有显示和打印各进程的某一时刻的资源分配表和安全序列;显示和打印各进程依次要求申请的资源号以及为某进程分配资源后的有关资源数据。l三、实验性质三、实验性质l验证性l四、实验学时四、实验学时l2学时l五、实验环境五、实验环境lC与C+程

6、序设计学习与实验系统 l六、实验原理及步骤六、实验原理及步骤l1.进程pi提出资源申请时,系统执行下列步骤:l(1)若RequestiNeedi,转(2);l 否则错误返回l(2)若RequestiAvailable,l 转(3);否则进程等待l3)假设系统分配了资源,则有:lAvailable:=Available-Requesti;lAllocationi:=Allocationi+Requesti;lNeedi:=Needi-Requestil(4)执行安全性算法,若系统新状态是安全的,则分配完成,若系统新状态是不安全的,则恢复原状态,进程等待l2.进行安全性检查,定义数据结构:lWor

7、k:ARRAY0.m-1 of integer;lFinish:ARRAY0.n-1 of Boolean;lm代表资源的数量,n代表进程的数量l(1) Work:=Available;l Finish:=false;l(2) 寻找满足下列条件的i:l a). Finishi=false;l b). NeediWork;l如果不存在,则转(4)l(3) Work:=Work+Allocationi;l Finishi:=true;l 转(2)l(4) 若对所有i,Finishi=true,则系统处于安全状态,否则处于不安全状态l设request-i为进程pi的请求向量,如果requestij=K,表示进程pi需要K个Rj资源。当系统发出请求后,系统按下述步骤开始检查:l(1)、如果requestij=needij,转向步骤2;否则报告出错,申请的资源已经大于它需要的最大值。l(2)、如果requestij=availablej,转向步骤3;否则报告出错,尚无足够的资源。(3)、系统试探着把资源分配给pi,并修改下列数据结构中的值:l availablej=availablej-requestjl allocationij=allocationij+requestjl needij=needij-requestjl(4)、系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论