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

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

时间:2014-11-17 10:04 点击:
(二)案例分析 在操作系统中也有很多有趣的进程同步问题可以归为这一类,如公共汽车问题、围棋问题、抽烟问题、4100接力赛问题等。下面以公共汽车问题为例进行介绍。 1. 案例介绍 在公共汽车上,司机和售票员各行

  (二)案例分析

  在操作系统中也有很多有趣的进程同步问题可以归为这一类,如公共汽车问题、围棋问题、抽烟问题、4×100接力赛问题等。下面以公共汽车问题为例进行介绍。

  1. 案例介绍

  在公共汽车上,司机和售票员各行其职,司机负责开车和到站停车;售票员负责售票和开、关车门,当售票员关好车门后,驾驶员才能开车行驶。试用Wait、Signal操作实现司机与售票员间的同步。

  2. 案例分析

  这是一个典型的用信号量实现前趋关系的案例:司机必须到站停车后售票员才可以打开车门,乘客上车,售票员关上车门后司机才可以再开车行驶。所以,在这个案例中要定义两个信号量,一个是司机何时开车,一个是售票员何时开车门。司机和售票员的同步关系可描述如下:

  Semaphore S1=0; /*开车信号

  Semaphore S2=0; /*开车门信号

  Driver( ){

  While(1){

  正常行车;

  到站停车;

  Signal(S2);

  Wait(S1);

  }

  }

  BookingClerk( ){

  While(1){

  售票;

  Wait(S2);

  开车门;

  关车门;

  Signal(S1);

  }

  }

  3. 教学组织

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


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