正在加载图片...
第三章进程的同步与通信 3.1进程互斥 并发执行的进程之间的关系 >并发引起的操作系统的改变 操作系统必须记住各种活跃的进程 须为每个进程分配和释放各种资源 根>进程的互斥与同步问题 保护每个进程的数据和物理资源 进程的结果必须与执行速度无关 >进程间的高级通信 程的同步与通信 进程间的制约 例1:两个进程对同一变量 count访问和修改, 自独立的速度向前推进。但由于资源共 及进程合作(即诸进程协同完成一项共 着 count=5。 P1: R1= coun 同的任务),因而产生了进程之间的相互 R1=R1+1 临界区 count= R1; 临界资源( Critical resource):一次 4 P2: R2=count 仅允许一个进程使用的资源。 R2=R2-1; 着顺序执行P1、P2,则 count:=5 Pl: RI= count: Pl: RI= count: 例2进程P、P2共同调用函数echo0。 2: R2= count R=R1+1; void echo o Pl: RI=RI+1 R2=R2 chin getchar( P2:R2=R2-1; count= R2 putchar(chou count=R2: Pl: count=RI 作系统|进程的 若执行顺序如上, 若执行顺序如上1 操 作 系 统 | 进 程 的 同 步 与 通 信 1 CUIT 徐虹 第三章 进程的同步与通信 ¾并发执行的进程之间的关系 ¾进程的互斥与同步问题 ¾进程间的高级通信 操 作 系 统 | 进 程 的 同 步 与 通 信 2 CUIT 徐虹 3.1 进程互斥 ¾并发引起的操作系统的改变 ¾操作系统必须记住各种活跃的进程 ¾必须为每个进程分配和释放各种资源 ¾保护每个进程的数据和物理资源 ¾进程的结果必须与执行速度无关 操 作 系 统 | 进 程 的 同 步 与 通 信 3 CUIT 徐虹 ¾进程间的制约 系统中的诸进程可以共行执行,并以 各自独立的速度向前推进。但由于资源共 享及进程合作(即诸进程协同完成一项共 同的任务),因而产生了进程之间的相互 制约。 ¾临界区 ¾临界资源(Critical Resource):一次 仅允许一个进程使用的资源。 操 作 系 统 | 进 程 的 同 步 与 通 信 4 CUIT 徐虹 例1:两个进程对同一变量count访问和修改, P1: count+=1; P2: count-=1; 若 count = 5。 P1: R1 = count; R1 = R1+1; count = R1; P2: R2 = count; R2 = R2 – 1 ; count = R2; 若顺序执行P1、P2,则count = 5。 操 作 系 统 | 进 程 的 同 步 与 通 信 5 CUIT 徐虹 P1: R1 = count; P1:R1 = count; P2: R2 = count; R1 = R1+1; P1: R1 = R1+1; P2:R2 = count; count = R1; R2 = R2 – 1; P2: R2 = R2 – 1; count = R2; count = R2; P1: count = R1; 若执行顺序如上, 若执行顺序如上, 则count = 4 则count = 6。 操 作 系 统 | 进 程 的 同 步 与 通 信 6 CUIT 徐虹 例2. 进程P1、P2共同调用函数echo() 。 void echo() { chin = getchar(); chout = chin; putchar(chout); }
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有