码迷,mamicode.com
首页 > 系统相关 > 详细

操作系统--进程同步(仅仅是轮廓--具体要根据实际项目再深入)

时间:2017-11-06 20:05:40      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:不一致   访问   同步   进程同步   分析   peter   原子操作   允许   使用   

1.临界资源:一次仅允许一个进程使用的资源称为临界资源。

2.临界区:对临界资源进行访问或修改的代码。

3.临界区问题:多个进程并发的对临界区进行访问或修改(至少有一个修改),导致数据不一致。

  解决临界区问题思路:相关的进程在访问自己的临界区的时候,不允许其他的进程进入自己的临界区。保证修改操作是原子操作,不被打断。

4.临界区的解决办法:

  Peterson算法:软件实现

  硬件指令实现:TestAndSet指令

  信号量S:S是一个整型变量,允许两个原子操作对S值进行修改,wait()和signal(),分别对值进行减1和加1。

  注意:信号量可以解决两种问题:互斥访问--临界区问题,将信号量值设置为1,;也可以处理其他进程同步问题比如某种进程按照某执行次序执行

5.同步问题的一般解决思路

  分析问题中涉及的关系,互斥关系,同步关系,存在几种关系就设置几个信号量,每一个信号量代表一种同步或互斥关系。

  

  

操作系统--进程同步(仅仅是轮廓--具体要根据实际项目再深入)

标签:不一致   访问   同步   进程同步   分析   peter   原子操作   允许   使用   

原文地址:http://www.cnblogs.com/sun1993/p/7794448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!