当前位置: > 论文中心 > 计算机论文 >

实施“操作系统”课程的案例教学述介(2)

时间:2014-11-17 10:04 点击:
1. 案例介绍 有一单向行驶的公路桥,每次只允许一辆汽车通过。当汽车到达桥头时,若桥上无车,便可上桥;否则需等待,直到桥上的汽车下桥为止。若每一辆车为一个进程,请用Wait、Signal操作保证汽车按要求过桥。 2.

  1. 案例介绍

  有一单向行驶的公路桥,每次只允许一辆汽车通过。当汽车到达桥头时,若桥上无车,便可上桥;否则需等待,直到桥上的汽车下桥为止。若每一辆车为一个进程,请用Wait、Signal操作保证汽车按要求过桥。

  2. 案例分析

  可以将公路桥看作一个临界资源,设置一个信号量S实现互斥,初值为1。由于每个汽车过桥的过程相同,这里只给出一辆汽车Pi过桥的同步描述。

  Semaphore S=1;

  Pi( ){

  While(1){

  到达桥头;

  Wait(Mutex);

  上桥行驶;

  到达桥的另一端;

  Signal(Mutex);

  }

  }

  3. 教学组织

  传统教学是注入式教学,而在案例教学过程中,教师是主导地位,学生是主体地位,教师可以带领学生从未知领域进入已知领域[4]。在组织实施时,可以在给出问题描述后先让学生讨论,然后引导学生分析在这个问题中需要互斥访问的临界资源是什么,如何去定义信号量,初始值是多少。定义好信号量后,和学生一起写出解决这个问题的算法。

  二、利用信号量实现前趋关系的案例

  有些进程在运行时具有前趋关系。例如,进程C完成数据处理后进程P才可以进行结果打印,则进程C和P之间存在前趋关系,即C→P。利用信号量可以实现进程间的前趋关系。

  (一)基本方法

  在实现前趋关系时,可以为进程C和P定义一个公用信号量S,并设置初始值0。进程C完成数据处理后要执行Signal(S)操作向进程P发一个信号,而进程P在打印之前要执行Wait(S)操作,即收到信号后才可以打印。

   论文榜(www.zglwb.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导代理,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


栏目列表
联系方式
推荐内容
 
QQ在线咨询
投稿辅导热线:
189-6119-6312
微信号咨询:
18961196312