欢迎来到天天文库
浏览记录
ID:56147610
大小:99.91 KB
页数:9页
时间:2020-03-17
《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、实验要求任选以上两种算法进行实现。 能够根据给定的引用串及物理块数,在屏幕上输出该算法对应的置换图,及其缺页次数
此文档下载收益归作者所有