操作系统教学中进程同步控制模型的设计 |
|
|
ring good teaching effect. Key wordsprocess synchronization; synchronization control; model 0 引言 进程同步控制的复杂性 进程同步,是指为完成共同任务的一组并发进程,基于某个条件来协调它们的活动顺序,即一个进程的执行依赖于另一个进程的消息或信号,进程或者等待消息或信号,或者获得消息或信号而继续执行。①进程的同步主要是采用信号量机制来实现同步控制的。①② 不同的同步问题涉及的同步进程数量是不同,而且同步的形式变化多样,问题描述也往往比较繁琐。教师在教的过程中,没有一个统一的方法可以简化同步控制的形式和过程,收到的效果很差;学生学习得很痛苦,解决实际问题时很茫然,常常觉得无从下手。 1 进程同步控制基本模型的设计 同步进程之间的推进顺序是进程之间的一组必然联系,那么如何才能安全、正确地实现这组必然的推进顺序呢?我们以经典的生产—消费问题为基础,从其中抽取基本同步模型,在基本模型的基础上规律化进程的同步控制。 在面对各种各样的进程同步的问题时,我们首先要分析并画出其中的同步关系图,然后利用基本同步模型,把同步关系图转换为具体同步控制模型,即定义信号量和安排同步控制,最后按照模型实现同步算法。 1.1 基本单向同步控制模型的抽取 我们以典型的一次生产和消费过程来抽取基本同步模型。 问题描述:生产者把产品生产出来,送入仓库。给消费者发信号,消费者得到信号后,到仓库取产品。这是一个单向同步问题,从生产到消费的状态变化如表1所示。 表1单向生产消费状态变化情况 其同步推进顺序可以用图1(a)表示: 图1(a)单向同步关系图 为确保生产消费推进顺序,需要用product表示是否有产品,PV操作来控制同步,状态变化如表2所示。 表2 单向生产消费同步变化情况 从表2可以抽取出基本单向同步控制模型,如图1(b)。这个模型中,用有向边表示同步关系,其方向就是同步进程的推进顺序,传送一个信号量m,其初始上一页 [1] [2] [3] [4] 下一页 |
|
|
|
上一个论文: 关于汉语翻译与汉语文化传播的分析 下一个论文: PC Relax还原 操作系统S/L大法 |
|