- 1、本文档共121页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统原理 第二章 进程相关管理 PPT课件.ppt
第二章? 进程管理;2.1 前趋图和程序执行;1;程序的顺序执行
一个复杂的程序通常可以分为若干程序段,并且必须按照某种先后次序来执行。
例1:输入——计算——打印
例2:语句执行顺序
S1:a := x + y
S2:b := a – 5
S3:c := b + 1
;顺序执行程序的特点:
程序的顺序性。
程序在运行时独占主机资源。
程序的执行结果与其执行速度无关。
程序执行时的初始条件相同,其结果必相同。;?例2.Begin integer N:=0;
Cobegin
Program A : begin Program B : begin
L1 : N:=N+1; L2 : Print (N); N:=0;
Goto L1; Goto L2;
End End
Coend End
当N=5时,如果 N=N+1 在 print(N)和 N:=0
前 中间 后
打印 6 5 5
执行后N= 0 0 1;例3.设有堆栈S,栈指针top ,栈中存放相应的数据块地址,程序 popaddr(top)从栈中取地址,pushaddr(blk)将地址放入栈S中。
void popaddr (top) { void pushaddr(blk) {
top --; *top = blk;
r=*top; top++;
return (r) }
}
先执行 popaddr 的top--,接着执行pushaddr的*top=blk;程序并发执行过程及条件(Bernstein条件)
S0;
Cobegin
S1;S2;S3;……;Sn;
Coend
Sn+1;
? S1、S2、……、Sn可以由同一程序段中的不同语句组成。; 将任一语句划分为两个变量的集合R(Si)和W(Si):
读集R(Si)= {a1,a2,……,am}
写集W(Si)= {b1,b2,……,bn}
如对语句S1和S2有:
R(S1)∩ W(S2) = {Ф}
W(S1)∩ R(S2) = {Φ}
W(S1)∩ W(S2)= {Φ}
成立,则语句S1和S2可并发执行。;例1.? 语句 c = a – b 和 w = c + 1
R(c = a – b )= {a, b }
W(c = a – b )= { c }
R(w = c + 1 )= { c }
W(w = c + 1 )= { w }
R(w = c + 1 )∩ W(c = a – b )= { c }
语句 c = a – b 和 w = c + 1 不能并发执行。;例2. S1 : a = x + y S2 : b = z + 1
S3 : c = a – b S4 : w = a + c + 1
R(S1)= { x , y } W(S1)= { a }
R(S2)= { z } W(S2)= { b }
R(S3)= { a ,b } W(S3)= { c }
R(S4)= { a, c } W(S4)={w }
语句 S1 和 S2 能并发执行。
语句 S1 和 S3,S2 和S3,S3 和S4 不能并发执行。;资源共享
资源??享是指系统中的硬件资源和软件资源不再由单个用户所独占,而为 n 个用户共同使用。
由系统进行统一分配(硬件)和由程序自行使用(数据集,变量、队列等)
程序并发执行与资源共享之间互为存在条件。;程序并发执行的特点
失去程序的封闭性和可再现性
程序与计算不再一一对应
程序并发执行的相互制约
执行——暂停——执行
;2.2 进程的概念;进程与程序的关系;进程的组成(进程上下文)
PCB
程序?
数据
进程控制块PCB
描述信息
控制信息
资源管理信息
CPU现场保护:对CPU的处理;
PCB的组织方式
链接方式
将具有相同状态的PCB,用其中的链接字,链接成一个队列。;索引方式
根据进程的状态,建立索引表。
; 2.3 进程状态及其控制;挂起状态(Suspend)
把一个进程挂起使之处于静止状态,以便研究它的执行情况获对它进行修改。
用户终端需要;
父进程的需要:考查、修改获协调各子进程时;
OS的需要:改善系统运行性能,调节负荷;
对换的需要:缓和内存紧张的情况;;进程状态转换; 01:04;细化的进程状态图(增加挂
文档评论(0)