计算机操作系统2

计算机操作系统2

ID:40225805

大小:743.50 KB

页数:59页

时间:2019-07-27

计算机操作系统2_第1页
计算机操作系统2_第2页
计算机操作系统2_第3页
计算机操作系统2_第4页
计算机操作系统2_第5页
资源描述:

《计算机操作系统2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章进程的描述与控制2.1前趋图和程序执行2.2进程的描述2.3进程控制2.4线程的基本概念2.1.1前趋图前趋图(PrecedenceGraph)是一个有向无循环图,描述进程之间执行的前后关系。Pi→Pj,称Pi是Pj的直接前趋,称Pj是Pi的直接后继。2.1前趋图和程序执行图2-2前趋图对于图2-2(a)所示的前趋图,存在下述前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9或表示为:P={P1,P2

2、,P3,P4,P5,P6,P7,P8,P9}→={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)}2.1.2程序的顺序执行及其特征1.程序的顺序执行仅当前一操作(程序段)执行完后,才能执行后继操作。例:在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a∶=x+y;S2:b∶=a-5;S3:c∶=b+1;2.程序顺序执行时的特征

3、顺序性:只有前一操作结束才能做后面操作(2)封闭性:程序独占资源,执行结果不受影响(3)可再现性:初始条件相同,结果相同2.1.3程序的并发执行程序的并发执行是指在一个CPU的前提下,两个或两个以上程序在一段时间内同时执行。它可以显著提高资源的利用率。1.程序的并发执行图2-3并发执行时的前趋图2.程序并发执行时的特征间断性2)失去封闭性3)不可再现性2.1.4程序并发执行条件仅当满足该条件,并发程序才能保持“可再现性”该条件由bernstein在1966年提出,又称bernstein条件R(p1)

4、W(p2)R(p2)W(p1)W(p1)W(p2)={}例:根据Bernstein条件,在下列4条语句中:S1:a:=x+yS2:b:=z+1S3:c=a-bS4:w=c+1S1和s2两条语句___并发执行,s3和s4两条语句___并发执行2.2进程的描述(重点)进程(Process)意义:为了保证多个程序的并发执行,当某个程序进入内存开始运行时,将其改变为进程,从而保证与其他程序(进程)并发执行。进程是某个程序在一组OS数据集合基础上的一次运行过程。进程运行所依赖的OS数据集合叫做“进程控制块”(

5、PCB,ProcessControlBlock),即进程=程序+PCBPCB中存放了进程标识符、进程运行的当前状态、程序和数据地址、保存该进程运行时CPU的环境信息进程的特征动态性:是程序的一次并发执行过程,具有一定的生命周期。每个进程在执行过程中都会按“执行-暂停-执行”方式推进,因此可以对不同阶段的进程定义不同的状态。并发性独立性:任何进程都是一个程序的一次独立运行过程,也是系统进行资源分配和调度的单位。注意,同一个程序可以成为多个进程。异步性:进程按不可预知的速度向前推进,所以OS应提供相应的

6、措施保证其并发性。结构性:每个进程都由代码、数据和PCB三部分组成。进程的三种基本状态就绪(Ready)状态:此时进程等待CPU,并获得了除CPU以外所有的运行所需资源。由于存在多个就绪进程,OS将它们排列成一个就绪队列。执行(Running)状态:进程获得了CPU,并正在运行的状态。单CPU系统中只能有一个进程处于执行状态。阻塞(Blocked)状态:进程因发生某事件而不能继续执行的状态。有时也称为“睡眠”或“等待”状态。由于存在多个不同原因的阻塞进程,系统将它们排列成多个队列进程的其它状态:为了

7、更好地描述和管理进程,大多数OS都定义了更多的状态。新建状态(New):进程刚刚被创建时的状态,此时进程还没有进入就绪状态。终止状态(Terminated):进程运行结束(正常或非正常),但还没有最后消亡时的状态。进程状态之间的转换关系新建就绪结束进程调度中断I/O操作或请求其它资源I/O操作结束或得到资源阻塞接纳运行结束执行调度程序进程C进程B进程A三个进程和调度程序之间的状态转换实例(多道程序+分时)=执行状态=就绪状态=阻塞状态2.2.3挂起状态挂起状态(Suspended):将一个进程人为

8、地停止下来,以便进行调试或进行其它处理。挂起状态和阻塞状态的区别:只有人为干预,才能让挂起状态的进程继续执行,而阻塞状态的进程可以自动转入执行状态。引入挂起状态的原因(1)终端用户的请求。(2)父进程请求。(3)负荷调节的需要。(4)操作系统的需要。(5)对换的需要进程状态的转换活动就绪readya→静止就绪readys。(2)活动阻塞blockeda→静止阻塞blockeds。(3)静止就绪readys→活动就绪readya。(4)静止阻塞blockeds→活动阻塞

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

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

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