OS实验指导书(精品).doc

OS实验指导书(精品).doc

ID:56147610

大小:99.91 KB

页数:9页

时间:2020-03-17

OS实验指导书(精品).doc_第1页
OS实验指导书(精品).doc_第2页
OS实验指导书(精品).doc_第3页
OS实验指导书(精品).doc_第4页
OS实验指导书(精品).doc_第5页
资源描述:

《OS实验指导书(精品).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、os实验指导书(精品)  实验一实验一进程同步(进程同步(2学时)学时)  1、实验目的  1、实验目的加强对进程概念的理解,尤其是进程的同步与互斥机制。  2、实验任务  2、实验任务编程实现生产者-消费者问题的模拟。  建议用C语言编写源代码。  3、实验要求  3、实验要求  (1)生产者消费者对缓冲区进行互斥操作。  (2)缓冲区大小为10,缓冲区满则不允许生产者生产数据,缓冲区空则不允许消费者消费数据。  (3)生产者消费者各循环操作10次。  4、设计思路和采取的方案  4、设计思路和采取的方案  (1)整个程序以伪代码

2、形式给出,给出的是框架,起到模拟效果。  (2)利用P,V操作使得在同一时刻,生产者和消费者只能有一个对存储区操作(即临界区)。  (3)如果两者同时对存储区操作,即同时取和生产的话,必定会有一个等待,当另一个完成操作后自己才会被唤醒。  (4)生产者在存储区满时不能再生产,进入等待,消费者同理  (5)完成同步互斥效果/*----以下为代码部分-----*///定义全局变量intempty=n;//该信号量表示缓冲池中空缓冲区的数量intfull=0;//该信号量表示缓冲池中满空缓冲区的数量//P操作voidP(int&mutex

3、){*mutex--;if(*mutex<0){//当前进程挂起的程序实现}}//V操作voidV(int&mutex){*mutex++;if(*mutex<=0){//唤醒等待中的进程程序实现}}//生产者程序voidproducer(){P(&empty);//若此时存储区空,则可以生产,否则程序挂起等待//生产一个产品操作printf(“生产一个产品”);显示目前产品的个数;V(&full);//通知消费者进程,可以取产品}//消费者程序voidconsumer(){P(&full);//若此时存储区不空,则可以取产品,否则

4、消费者程序挂起等待//取走一个产品操作printf(“消费一个产品”);显示目前剩余产品的个数;V(&empty);//通知生产者进程可以生产}//主函数voidmain(){//分别调用生产者,消费者程序,顺序不限,因为已经完成信号量的同步,若发生同步问题就会等待producer();consumer();consumer();producer();………………}实验二死锁的检测和解除(实验二死锁的检测和解除(2学时)学时)  1、实验目的  1、实验目的掌握死锁的概念,深入理解死锁的避免算法。  2、实验任务  2、实验任务  

5、(1)编程实现银行家算法  (2)编程实现安全性算法  3、实验要求  3、实验要求能够根据给定的资源分配情况,及某进程提出的资源请求,通过算法得出是否能进行分配。  如能分配,需得出相应的安全序列。  4、设计思路和采取的方案  4、设计思路和采取的方案  (1)安全性算法函数①根据安全性算法进行计算。  否则,输出ΧΧ时刻系统处于不安全状态。  ③返回主函数。  (2)银行家算法函数①根据银行家算法进行计算。  在计算过程中,需要调用安全性算法函数。  ②如果可以分配,需在屏幕上打印输出如下内容可以满足进程ΧΧ的资源分配请求Re

6、quest[i]={......}。  ③返回主函数。  (3)主函数假定已知T0时刻的资源分配情况,即已知可利用资源向量Available分配矩阵Allocation、最大需求矩阵Max,判断目前是否处于安全状态。  如果处于安全状态,某进程进行资源申请,用银行家算法检测能否分配;否则,提示目前系统处于不安全状态,不能再进行资源申请。  ①进行变量定义,包括?二维数组Allocation、Max、Need。  ?一维数组Available、Work、Finish、Request[i]。  ?其余变量定义根据需要指定。  ②Allo

7、cation、Max、Available的值可以从键盘输入,也可在定义时直接给定。  Need值需要通过计算获得。  Request[i]的值需要从键盘接收。  ③进行T0时刻安全性检测,调用安全性算法函数。  ④如果需要进行资源申请,循环调用进行银行家算法函数,直至用户要求结束或不能满足进程的资源请求为止。  实验三页面置换算法的实现(实验三页面置换算法的实现(2学时)学时)  1、实验目的  1、实验目的熟练掌握有关的存储管理算法,巩固有关存储器管理的教学内容。  2、实验任务  2、实验任务  (1)编程实现最优置换算法(OP

8、T)算法  (2)编程实现先进先出(FIFO)算法  (3)编程实现最近最久未使用(LRU)算法  3、实验要求  3、实验要求任选以上两种算法进行实现。  能够根据给定的引用串及物理块数,在屏幕上输出该算法对应的置换图,及其缺页次数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。