操作系统简明教程PPT第2章1.ppt

操作系统简明教程PPT第2章1.ppt

ID:49382748

大小:345.50 KB

页数:23页

时间:2020-02-05

操作系统简明教程PPT第2章1.ppt_第1页
操作系统简明教程PPT第2章1.ppt_第2页
操作系统简明教程PPT第2章1.ppt_第3页
操作系统简明教程PPT第2章1.ppt_第4页
操作系统简明教程PPT第2章1.ppt_第5页
资源描述:

《操作系统简明教程PPT第2章1.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章处理机管理1本章内容2.1进程概念2.2OS内核及进程控制2.3进程通信2.4进程调度2.5线程2.6死锁2.7作业管理2.8操作系统的接口22.1进程的概念2.1.1进程的引入硬件的并行操作与程序的并发执行都需要CPU在多道程序中快速切换,原有的程序概念无法做到这一点,因此我们引入一个新概念——进程。进程是操作系统中最重要、最核心的概念,它是对正在运行的程序的抽象,是独立调度运行与资源分配的基本单位。1.前趋图(ProcedenceGraph)32.程序的顺序执行1)程序的顺序执行所谓程序的顺序执行,是指一个程序运行时

2、独占整个系统资源,处理机严格按照程序所规定的顺序进行操作。在一个程序段中,只有前面的一个操作执行完,才能进行后面一个操作。在一个程序段的执行过程中,不能插入其它程序段中的操作。例如,对于下述程序段:S1:READ(X,Y);S2:C=X+Y;S3:PRINTC;4类似地,在一个系统中,若要执行几个程序段,只有当一个程序段执行完后才能执行另一个程序段中的操作。如,一个程序段通常由输入(I)、计算(C)、输出(P)等操作组成,两个程序段的顺序执行则如图2)程序顺序执行的特征顺序性:处理机的操作严格按照程序所规定的操作顺序执行,时间

3、上完全有序,即只有前一个操作执行完以后,才能进行后继操作。封闭性:程序执行时独占系统资源,系统内各种资源的状态(初始状态除外)只能被本程序所改变,因此其执行结果不受外界因素的干扰。结果可再现性:只要程序执行的环境与初始状态不变,当重复执行时,所获得的结果相同,与执行速度无关。53.程序的并发执行什么是并行操作?什么是并发执行?多个程序段在计算机系统中“一起”执行。例如,在一个时间段内,一个CPU在为多道程序工作,而在某一个瞬间,一个CPU只能运行一道程序,它只是在多道程序中快速切换,给人以CPU“同时”运行几道程序的感觉。每个

4、程序内部仍是按顺序执行,但是多个程序的执行过程是可以交叉的,这是一种伪并行,称之为并发执行。1)并发执行若干程序段在执行时间上有重叠,即一个程序段的执行过程中插入了其它程序的操作,称为并发执行62)程序并发执行的特征若干个程序段的并发执行,产生了一些与程序顺序执行时不同的特征:顺序性:多个程序段并发执行时,每个程序段中语句的顺序执行仍然保持,但是多个程序段之间不再保持顺序执行的关系。间断性:多个程序段并发执行时,由于共享资源或由于相互合作而形成执行时的相互制约关系,使得每个程序段执行时产生了间断性。非封闭性:多个程序段并发执行

5、时,每个程序段不再独占系统资源,执行时受外界因素影响。例如,当一个用户的程序段执行中使用某个I/O设备时,其他用户的程序段申请使用该设备,就必须等待。不可再现性:多个程序段并发执行时,产生了非封闭性,不再独占系统资源,此时,即使程序执行的环境与初始状态不变,重复执行时运算速度通常也不可再现,若运算结果与执行速度有关,则可能会被改变。A:B:N=N+1;PRINTN;N=0;…………74.程序并发执行的条件保持可再现性!1)读集R(Pi)={a1,a2,a3,...,am}用以表示程序段Pi执行时需要参考变量的集合,称为读集。其

6、中a1,a2,a3,...,am是需要参考的变量。例如,有语句:S1:c=a+b;则R{c=a+b}={a,b}S2:x=x-1;则R{x=x-1}={x}2)写集W(Pi)={b1,b2,b3,...,bn}用以表示程序段Pi执行中要改变的变量的集合,称为写集。其中b1,b2,b3,...,bn是需要改变的变量。例如,有语句:S1:c=a+b;则w{c=a+b}={c}S2:x=x-1;则w{x=x-1}={x}83)Bernstein条件1966年,Bernstein提出了程序可以并发执行的条件,简称Bernstein条件

7、。若两个程序段P1和P2能满足以下条件:R(P1)∩W(P2)={};R(P2)∩W(P1)={};W(P1)∩W(P2)={};则P1和P2可以并发执行,同时保证结果具有可再现性。S1:a=x+1;S2:b=y+1;S3:c=a+b;S4:d=c+1;9并发执行环境提高了系统的处理能力和系统资源的利用率,但也带来了相应的问题:(1)程序结果的封闭性和执行的可再现性不再满足。资源共享——造成资源共享与竞争——程序执行速度的改变(2)程序与计算不再一一对应。程序是指令的集合——静态概念。而计算是程序的执行过程——动态概念。程序只

8、有作用在一组数据上的一次执行过程才能完成用户要求的计算任务。若有一个共享程序,每个用户都组织好自己的一组数据,调用该程序执行。在多道程序执行环境中,一个程序可同时处于多个执行过程,形成了多个“计算”。这时静态的程序将对应多个动态的计算。(3)计算之间存在复杂的相互制约关系。相

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

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

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