进程管理B互斥与同步

进程管理B互斥与同步

ID:40839771

大小:842.10 KB

页数:127页

时间:2019-08-08

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

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

1、第2、3章进程管理B互斥与同步本章知识点:并发原理互斥——软件解决方法互斥——硬件解决方法2.3进程同步管程2.5进程通讯2.4经典进程的同步问题1顺序程序及其特性程序的顺序性包括如下两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部顺序性,对于多个进程来说,所有进程是依次执行的;例如,假设有P1和P2两个进程,其活动分别为:P1活动:a1a2a3a4P2活动:b1b2b3b4顺序执行时,有如下两种情形:情形1:a1a2a3a4b1b2b3b4情形2:b1b2b3b4a1a2a3a42

2、顺序程序设计三个良好的特性:(1)顺序性:处理机严格按照指令次序依次执行,即仅当一条指令执行完后才开始执行下一条指令;(2)封闭性:程序在执行过程中独占系统中的全部资源,该程序的运行环境只与其自身动作有关,不受其它程序及外界因素影响;(3)可再现性:程序的执行结果与执行速度无关,而只与初始条件有关,给定相同的初始条件,程序的任意多次执行一定得到相同的执行结果.3并发程序及其特性程序的并发性包括如下两层含义:(1)内部并发性,对于一个进程来说,它的所有指令可能按序执行,也可能不按次序执行;(2)外部并发性:对于多个进程

3、来说,所有进程是交叉(interleave)执行的.例如,对于上面P1和P2两个进程来说,只考虑外部并发性,具有许多情形,如:情形1:a1b1b2a2a3b3a4b4情形2:b1b2a1a2a3b3b4a4并发进程在其执行过程中,出现哪种交叉情形是不可预知的,这就是并发程序带来的不确定性.4并发程序三个特性(1)交叉性:程序并发执行对应某一种交叉,不同的交叉可能导致不同的计算结果,操作系统应当保证只产生导致正确结果的交叉,去除那些可能导致不正确结果的交叉.(2)非封闭性:一个进程的运行环境可能被其它进程所改变,从而相

4、互影响.(3)不可再现性:由于交叉的随机性,并发程序的多次执行可能对应不同的交叉,因而不能期望重新运行的程序能够再现上次运行的结果.5与时间有关的错误若有两个进程P1、P2,共享一个公用变量c,初值为8,P1、P2所做工作如下:P1(退票)P2(售票)L1:a=c;L4:b=c;L2:a=a+1;L5:b=b-1;L3:c=a;L6:c=b;6与时间有关的错误试看下述两种执行情况:(1)若语句执行顺序为L1,L2,L3,L4,L5,L6,则c=8;(2)若语句执行顺序为L1,L2,L4,L5,L3,L6,则c=7。显

5、然,上述结果是不能令人满意的。P1、P2是进程,每个进程中语句执行顺序是不变的,而两个进程的语句是可以交叉执行的,它们以哪种方式交叉执行是不可预知的。改进:将c处理成临界资源,让P1、P2互斥访问c,一个进程对于c的一次访问完毕,另一个进程才能访问,就不会出现这种情况。7与时间有关的错误上述错误并不是一定发生的,它与进程的推进速度有关.即上述错误发生与否与进程P1和P2的推进速度有关,而速度是时间的函数,因而这种错误称为与时间有关的错误.发生上述错误的原因在于两个进程P1和P2同时对于一个变量C进行操作,一个进程对C

6、的操作仅做了一部分,另一个进程中途插入使得变量C处于一种不确定的状态,用数据库的术语来说,就是失去了变量C的数据完整性.8临界区criticalsection进程访问临界资源的程序段称为临界区。在一个系统中,可以用某些方法或某种机制保证进程对临界区的互斥访问,一个好的解决方案应该遵循以下条件:(1)任何两个进程不能同时处于临界区内;(2)进程在临界区外只作有限时间的等待;(3)临界区外的进程不得阻塞其它进程进入临界区;(4)等待临界区时,释放CPU。92.3并发原理在单处理机多道程序的系统中,进程的并发执行方式是插入

7、执行,表面看起来进程如同是同时执行的。在多处理机系统中并发执行方式有插入执行和重叠执行。并发的存在要求操作系统必须能跟踪大量活跃进程,必须为每一活跃进程分配资源,必须保护每一进程的数据和物理资源不被其他进程侵犯,并且进程执行的结果与其他并发进程执行时的相对速度无关。102.3进程间相互联系与 相互作用相互联系:(1)相关进程:在逻辑上具有某种联系的进程称作相关进程.(2)无关进程:在逻辑上没有任何联系的进程称作无关进程.相互作用:(1)直接相互作用:进程之间不需要通过中间媒介而发生的相互作用,这种相互作用通常是有意识

8、的.(2)间接相互作用:进程之间需要通过某种中间媒介而发生的相互作用,这种相互作用通常是无意识的.112.3进程间的相互竞争并发进程在竞争使用同一资源时将产生冲突。进程间的竞争面临3个控制问题:互斥mutualexclusion(临界资源和临界段)死锁deadlock饥饿starvation竞争的控制不可避免地涉及到操作系统,因为是操作系统分配

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

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

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