ch3-pptch3-3 1并发进程_第1页
ch3-pptch3-3 1并发进程_第2页
ch3-pptch3-3 1并发进程_第3页
ch3-pptch3-3 1并发进程_第4页
ch3-pptch3-3 1并发进程_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统教程(版本5)第三章同步、通信和死锁、高等教育出版社2014年1月,第三章并发进程、3.1并发进程3.2关键区域管理3.3信号到PV操作3.4管道3.5进程通信3.6操作系统并发故障诊断摘要3.7死锁3.8Linux同步和通信机制、3.1并发进程、3.1 一个进程在顺序处理器上严格执行的顺序,后续工作顺序程序设计是一个程序模块,该模块设计为一个程序模块内部,以及两个程序模块之间的含义。顺序编程特征、程序执行的顺序程序环境的闭合执行结果确定性计算过程的再现性、进程的并发性(1)、进程执行的并发性:进程集的执行在时间上重复。并发性实例:两个流程A(a1、a2、a3)和B(b1、B2、B3)同时运行,并且可以交替运行。从宏观角度来看,并发性反映了多个进程在一个时间段内位于同一处理器上,并且执行还没有结束。在微观上,任何时间点只有一个进程在处理器上运行。进程的并发性(2)程序并发执行,小程序1:循环执行,数据块读取,将数据发送到缓冲区1;小程序2:执行循环,加工缓冲区1中的数据,将计算结果发送到缓冲区2;小程序3:执行循环,输出缓冲区2的计算结果,让数据打印输出。进程的并发性(3)观察程序并发执行现象(1)小程序操作数据块顺序,块序号,从小到大。(2)applet可以同时运行。例如,“输入”i3、“加工”p2和“输出”O1可以并行工作。这样,CPU、输入设备和输出设备可以并行工作。(3)小程序1和2共享资源(缓冲区1、小程序2和3共享资源-缓冲区2、竞争共享资源问题)导致小程序同时运行时彼此产生约束关系。进程的并发性(4)、进程的并发性(4)、并发性的本质是多个进程之间的处理器多路复用,并发性是通过对有限的物理资源强制多用户共享,消除计算机部件之间的相互等来提高系统资源利用率。不相关的并发进程,并发进程分类:不相关,交往。不相关的并发进程:一个进程的运行是一组并发进程,每个进程在不同变量集中工作,独立于其它并发进程的进展。并发进程的相关性是进程运行与时间无关的充分条件,也称为Bernstein条件。Bernstein条件,r (pi)=a1,a2,an,程序pi在执行过程中引用的变量集w (pi)=B1,B2,BM,程序pi在执行过程中更改的变量集。如果两个程序的变量集相交的和为空集:r(P1)w(p2)8746;r(p2)-w(P1)-w(p2)= 并发进程的执行与时间无关。Bernstein条件示例包括以下四个语句:s 1: a :=x ys 2: b :=z 1s 3: c :=abs 4: w :=c 1所以R(S1)=x,y,RW(S1)=a,W(S2)=b,W(S3)=c,W(S4)=w。S1和S2可以同时运行以满足Bernstein条件。同时执行其他语句可能会导致与时间相关的错误。交往的并发进程、交往的并发进程:并发进程集共享某些变量,一个进程的运行可能会影响另一个并发进程的结果。并发编程的优点是,在单处理器系统中,处理器和每个I/O设备可以同时工作,从而发挥硬盘组件的并行处理能力。对于多处理器系统,每个进程在不同处理器上物理并行,从而加快计算速度。简化编程任务。采用并发编程,充分发挥硬件的并行性,提高系统效率。硬件能够并行工作是提高效率的唯一可能性,实现硬件并行化需要同时编程软件技术。并发编程是多通道编程的基础,多通道程序的本质是将并发编程引入系统。如果与时间相关的错误,对一组交往并发进程执行的相对速度互不控制,则可能会发生各种与时间相关的错误。与时间相关的错误表达:结果不唯一永远等待(结果不唯一)票的票务问题、/*票的票务问题*/voidT1()voidT2()根据乘客预约要求查找aj ;根据乘客预订要求查找aj ;IntX1=AjIntX2=Ajif(x1=1) if(x2=1) x1-;x2-;Aj=X1Aj=X2/*一张表输出*/;/*一张表输出*/;elseelse/*输出信息“表已售完”*/;/*输出信息“表格卖完了”*/;,(始终等待)内存资源管理问题、内存资源请求和返回问题intX=memory/内存是初始内存容量void borrow(intb) void return(intb) while(bx)x=x b;/*进程进入备用内存资源队列*/;/*修改内存分配表*/;X=X-B;/*释放等内存资源进程*/;/*修改内存分配表以从进程中获取内存资源*/;,流程交互:竞争和协作(1)第一个是竞争关系,是系统中多个流程之间不相关的系统中多个流程之间相互相关的资源竞争的两个控制问题。一个是死锁问题,一个是饥饿问题,一个是饥饿和死锁问题。流程交互:竞争和协作(2)流程互不相容(MutualExclusion),流程互不相容表示多个流程因专有资源之间的竞争而具有的竞争约束关系。流程交互:竞争和协作(3)的第二个是协作关系(1),某些流程需要分配协作才能完成相同的任务。流程同步是指完成公用任务的并发进程根据计划条件调整活动。由于必须在特定位置确定执行顺序,因此由等待、信号或消息引发的协作约束关系。流程交互:竞争和协作(4)的第二种是协作关系(2),流程同步是指两个或多个流程根据特定条件协调活动。一个进程的执行取决

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论