进程同步与互斥

进程同步与互斥

ID:19908412

大小:1.20 MB

页数:125页

时间:2018-10-07

进程同步与互斥_第1页
进程同步与互斥_第2页
进程同步与互斥_第3页
进程同步与互斥_第4页
进程同步与互斥_第5页
资源描述:

《进程同步与互斥》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计科系姜云杰1进程的互斥——你要,我也要多道程序设计带来的问题:并发执行的多个进程可能产生互斥或同步的相互制约关系,不采取措施,可能导致结果的不可再现性。影响系统效率,而且还可以导致系统崩溃。为此,现代操作系统都在内核中设有进程的互斥同步机制,以控制并发执行的诸进程能有效的共享资源和相互合作,同时使并发程序的执行仍具有可再现性。计科系姜云杰2一、互斥的定义所谓进程互斥,指的是对某个系统资源,一个进程正在使用它,另外一个想用它的进程就必须等待,而不能同时使用。进程互斥是多道程序系统中进程间存在的一种源于资源共享的制约关系,也称间接制约关系,主要是由被共享资源的使用性质所决定的。计科系

2、姜云杰3这种限定进程只能互斥地访问它的资源叫临界资源(指一次仅允许一个进程使用的资源)。临界资源限定了使用者只能互斥地使用它。操作系统也不能中途从抢先者手中把临界资源抢来给其他进程用。因此,临界资源也是不可剥夺性资源。例:打印机、共享变量等。计算机系统中可剥夺性使用的资源主要有CPU、内存和磁盘等。计科系姜云杰45临界区:进程中访问临界资源的那段程序代码称为临界区或临界段。使用同一临界资源的不同进程中的临界区称为同类临界区或相关临界区。为实现对临界资源的互斥访问,应保证诸进程互斥地进入各自的临界区。但无论采用何种方法,都应遵循临界区的使用原则,即“空则让进,忙则等待,等则有限,等则

3、让权”。6二、上锁和开锁原语现代操作系统用来实现进程的互斥、同步的工具有多种,如上锁与开锁原语、信号灯机制、管程机制等。上锁与开锁是一种最简单的进程互斥方法,它使用一个锁变量W来表示某种临界资源的状态,W=0表示资源空闲可用W=1表示资源正被使用71.上锁原语:LOCK(W)L1:如果W=1那么转向L1;否则W=1返回voidlock(锁变量w){test:if(w为1)gototestelsew=1;/*上锁*/}/*lock(w)*/1.考察锁位的值;2.如果原来的值为0,将锁位置1;3.如果为1,则返回第一步再次考察82.开锁原语:UNLOCK(W)W=0;返回voidunl

4、ock(锁变量w){w=0;/*开锁*/}/*unlock(w)*/当进程使用完资源后,它必须将锁位置成“0”,称为开锁操作。9三、用上锁和开锁原语可以解决并发进程的互斥任何欲进入临界区的进程,必须先执行上锁原语。若上锁原语顺利通过,则进程可进入临界区;当完成对临界区资源的访问后再执行开锁原语,以释放该临界资源。即在相关进程的程序里由上锁和开锁原语紧夹着临界区,就能保证这些进程互斥地进入各自的临界区。10例如,甲、乙两进程要访问同一类临界资源甲进程:其他代码;LOCK(W);甲进程的临界区;UNLOCK(W);其他代码;乙进程:其他代码;LOCK(W);乙进程的临界区;UNLOCK

5、(W);其他代码;用上锁用上锁原语和开锁原语来实现进程的互斥的确很简单,但处理机效率不高,因为上锁原语中的条件测试操作可能引起CPU“忙等”。11信号量机制荷兰著名科学家,后来的计算机图灵奖获得者,E.W.Dijkstra于1965年提出了用作进程同步工具的信号量(semaphore)机制,这是一种卓有成效的进程互斥同步工具,已被广泛应用于现代计算机系统中。计科系姜云杰12进程的同步(synchronism):——你等我,我也等你多道程序系统中,许多进程之间可能存在以下两种制约关系:1.源于资源共享的间接制约关系(互斥)2.源于合作相互的直接制约关系(同步)后者即一种合作进程在独自

6、并发执行过程中的某些确定的时序点上“你等我,我也等你”的同步约束,前者可视为后者的特例(前面已经介绍)。计科系姜云杰131.资源共享关系很多进程之间彼此无关,它们并不知道其它进程的存在。例如在分时系统中,系统分别为每个用户(终端)建立一个进程。但这些进程既然同处于一个系统中,也就必然存在着资源共享的关系,如共享CPU和I/O设备等。此时,进程的主要任务,是保证各个进程能互斥地访问临界资源。所以,系统中的资源应该不允许用户进程直接使用,而应该由系统同一分配。例如:在仅有一台打印机的系统中,两个进程提出打印请求2.相互合作关系例如输入进程、计算进程、打印进程合作完成一批数据的输入、计算

7、和打印时的关系;中断响应过程;生活中下棋、看病时等化验结果等等。计科系姜云杰14一、同步的定义进程同步:指的是两个或多个进程为了合作完成同一个任务,在执行速度或某些个确定的时序点上必须相互协调,即一个进程的执行依赖于另一个进程——其合作伙伴的消息,当一个进程到达了某一确定点而没有得到合作伙伴发来的“已完成某些操作”的消息时必须等待,直到该消息到达被唤醒后,才能继续向前推进。进程同步是多道程序系统中进程之间存在的一种主要源于进程间合作的制约关系,也称直接制约关系。计科系

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。