操作系统原理第三章ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多道程序系统中程序执行环境的变化
程序内保持 Ii→Ci→Pi 程序逻辑顺序性。
I1
I2
I3
存在Ii→Ii+1;Ci→Ci+1; Pi→Pi+1; 表明系统资源竞
C1
C2
C3
争带来顺序性前驱关系。
P1
P2
P3
不同程序之间 Ii+2、Ci+1 和Pi ,没有前
驱关系,说明可以并发执行,这是系统的并
清华大学出版社
3.1 多道程序设计
下一 步
1/8Δt = 0.125道程序/Δt
A吞,吐B,率C分,D别为为程: 序1/8,=忽0.略12外5 设; 假2/9定=40个.2程22序 都Δ44道道/t1提需时1程高运=间序了0行情,.近3况2在633个比期倍单。 间显然有不6个仅使Δt内时存
A
0 Δt 1
32进程的概念321前驱图和程序执行清华大学出版社对于图34对于任意程序存在着iicipi这样的前驱关系因而对一个用户程序的输入计算和打印这三个操作必须顺序执行但在多道环境下并不存在或并不要求piii1关系即iicj和pkijk之间并不存在前驱关系因而在对一批程序处理时可使它们并发执行
第3章 操作系统概述
发性,提高 (9-5)/9x100%清=华4大4%学。出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
应当说明,抛开典型的I、C、 P关系,一个程序内部语句之
S0:x = a+10; S1:y = b - a; S2:z = x+y-10;
间在并发环境下依然有并发执
S3:print(z);
行的情况,如4条语句构成的 程序段:
清华大学出版社
3.2 进程的概念
例2:假定一个航班售票系统运行在一个多终 端分时系统上共享主机系统数据(库)资源, 并在一个城市有两个终端售票机B1,B2,任 意航班的座位按顺序预定,简单座位形式如 图3.8所示;其中黑色部分表示已售,空白部 分为未售。设定有n排,每排m个座位(n, m≥1),又假定座位按顺序预定。两个终端 售票机B1、B2有下面虚线框的公共数据(库) 与相同的预定程序;
清华大学出版社
3.2 进程的概念
多现道代程操在序作计设系算计统是机重操和作要操系特作统征系最:统基并发本发的展、思过想资程,源中然共,而享人系、们 在 统用如不户何断随协的机调创使各新用程和资序并总源发结。运经这行验三、,个资总特源结点共享那是,些互如成相何功联刻的 大 败 类 画种则息系 来 分可机和有型的系描配和以制依哪系原统述的互运 来 据 些统因软计基相行 实 运 、软进件算本依的 现 行 是件行的机单赖系 。 的 什的分思程位统如,么环图其、开 析 想 序 才。境中怎3发 , 和 的 能采.1就每样经 从 理 执 充用中需个体,验 而 论 行 分一要程现A, 过, 提 反个一序它,…使 程同 炼 映什种在们,D操 和时 出么指系“是导 统 走作作也了样根思 中 走系为对对的据想 可 停统资导编什概、 知 停么软源致制这念一 信 ”原件失各 不 的些活断特动地点等推,,陈这这出个就新概需要。念反就映是程进序程的一。种动态性;在
清华大学出版社
结束
vrtioacwrke,t[12cn::o][lm:bi]fien:rtgieonigtwneerg;e<r;= ┅3: begin
n
共 享 数B2:
据row=3;col=4
row=3;col=4
1 2 3 4 ┅m 1
1234p::::robc45ie“┅ef::g号bdrietouni”gcwriken)e;<tbti[=ocroowknkweir中n]ti[g[tc断reool]w:(=“]座1[;c位赋o:l值]:”1=表ro1示w;“已排售” , col
① N=N+1; print(N); N=0;(完全顺序A→B) n+1,n+1,0,最终N的结果为 0
② print(N); N=0; N=N+1;(完全顺序B→A)
n, 0 ,1,
最终N的结果为 1
③ print(N); N=N+1; N=0; (B, A交替运行)
n, 1 , 0 , 最终N的结果为 0
多道程序系统的程序执行环境变化所引起的多道 程序的并发执行。多道程序并发执行在宏观上是同 时进行的,但在微观上仍是顺序执行的。
并发执行是在某道程序的几个程序段中,包含着 一部分可以同时执行或顺序颠倒执行的代码。
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的并发执行
在时间上来表示,并发执行是一个程序的开始是在另 一个程序结束之前。如图3.7 表示:
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
下一 步 前驱关系
输入:
I1
I2
I3
并行
执行顺序
并行
计算:
并行
输出:
C1
C2
C3
时间:5个Δt
P1
P2
P3
结束
t
t0 Δt t1
t2
t3
t4
t5
t6
图3.5 三个程序并发执行的前驱图 清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
等待I/O的时间
结束
(6个Δt)
A
AI/O
t
78 (a)单道情况
11
2/9Δt = 0.222道程序/Δt
AB
0 Δt 1 2
AB
AI/O
BI/Oபைடு நூலகம்
7 89
(b)两道情况
4/11Δt = 0.363道程序/Δt
t 11
间充分的利I/O用操,还作带;
来处理机利用率
的提高,使整个
ABCD
ABCD t
0 Δt 1
资源共享;资源共享将导致对程序执行速度的制 约。外设有限将导致这些设备被共享、内存有限将 导致内存被共享等。对单CPU系统更如此。
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
对于图 3.4,对于任意程序,存在着 Ii→Ci→Pi 这 样输的入前: 驱关I1系,因而I2对一个用I户3 程序的输入、计算 和计打算印: 这三个C操1 作,必须C2 顺序执行C3 , 但输在出多: 道环境下,P1 并不存在P2,或并不P要3 求Pi→Ii+1 关系,即Ii 、 Cj 和 Pk(i≠j≠k)之间并不存在前 驱关系,t0Δ因t t1而t2在对t3 一t4批程t5 序t6处理t7 时t8,可t9 使t10它们并t 发 执行。这就产生了图3并.4发三操个作程,序见间顺图序3执.5行所示。
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的并发执行
失去封闭性;程序在并发执行时,是多个程序共 享系统中的各种资源,因而这些资源的状态将由多 个程序来改变,致使程序的运行失去了封闭性。当 处理机资源被其它程序占用时,有条件运行的任何 程序都必须等待。 不可再现性;程序在并发执行时,由于失去了封 闭性,也导致失去了可再现性。考察两个例子来说 明这个问题:
A AA BB
CC
t
t0
t1 t2
t3
t4
t5
图3.7 三个程序(段)在执行时间上的重叠
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的并发执行
程序并发执行产生与顺序执行有所不同的新特征:
间断性;程序在并发执行时,由于它们共享资源 或为完成某一I项1 任务I2而合作I3 ,致使在并发程序之间 存在相互制约的关系。如图 3.5 中,I、C、P是三 个相互合作的程序,C1当计C算2 程序C完3 成Ci-1 的计算 后,如果输入程序 I 尚未完成对Ii 的处理,则计算 程序无法进行Ci处理,致使P1计算P程2 序暂P3停运行。这 时程序的顺序性演变成间断性。对于程序的间断性, 更一般的情形参见图1.6 所清示华大学出版社
2
3
4
7
(c)四道情况
8
9 10 11
系统效率得以提
图3.1 单道、两道和四道情况
高。
清华大学出版社
3.1 多道程序设计
由 程图序3道.1 数可过知多多对道处下理内机存的和竞处争理更机加利激用烈率,得可到能显会著产提生高两。个 问不利题后是果内:存存放程序数量是否越多越好呢?否定的! ➢ 内影存响的系容统量的限响制应了速系度统。可同时处理程序的数目。 ➢ 物产理生设过备多的的数系量统也开是销一(个系制统约本条身件运,行如的果时内空存耗中费可)同。时 运行系的统程同序时过接多纳,用这户些程程序序数之目间与可系能统会功因能为和相配互置等有待关被。其 它程序占用的设备资源(如I/O设备),反而可能会影响系 统由效此率,。多道程序设计提高了系统效率,也带来了系统资源 的程竞序争道,数因过此多要对协处调理程机序的与竞资争源更的加关激系烈。,处可理能机会、产存生储两器个 不和利外后部果设:备是计算机系统中重要的硬件资源,因而需要解 决处理机资源管理、存储器分配和回收以及外部设备资源 管理等问题。利用什么理论和机制?
清华大学出版社
3.2 进程的概念
下一 步
程序的并发执行
例1:两个程序A和B共享一个变量 N (当前值为 n)。
该程情序形A说:明程 序┅在并发执行
时N,=由N+于1失; 去 了┅封闭性,其 计并行使程┅p程算发速ri序n序结程度tB(N也有果序:)失关已的;去,与执 可N┅再=现0;性。
在处理机上执行关于N的3条指令,由于并 发性,有理由假定3个可能的执行序列:
S1:a=10; S2:b=a+8; S3:Print(b);
P1
I2
C2
P2
(a)两个程序的前驱图 (单道情况)
S1
S2
S3
(b) 三个语句表示的前驱图
图 3.3 程序的前驱图 清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的顺序执行
考虑时间上关系,可有下面示例,如图 3.4 所示。
5: 6:
1:wcobrlite=egc(i“on座l m位od:m”+ro1w; “排”,col
B“号1”:);
7891:::0:234:::eenlisfdreiocfowbtlre=io=cgrwk1oi;nwe<t[+=r1o;nw][corlo]:w==13;;col=4
程序1:I1
输入:
计算:
输出:
C1 P1 程序2: I2 C2 P2 程序3:I3 C3 P3
I1
I2
I3
C1 P1
C2 P2
C3 P3
9个Δt 结束
t
t0Δt t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
图3.4 三个程序间顺序执行 清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的顺序执行
程序顺序执行具有如下 3 个特点: 顺序性;顺序执行行过程可看作一系列严格按程 序规定的状态转移过程。 封闭性;程序执行得到的最终结果由给定的初始 条件决定,不受外界因素的影响。
可再现性;只要输入的初始条件相同,则无论何 时重复执行该程序都会得到相同的结果。
程序顺序执行的特性为程序员检测 和校正程序错误带来很大的方便!
3.1 多道程序设计 3.2 进程的概念 3.3 进程控制块和状态转换 3.4 进程控制 3.5 线程
清华大学出版社
3.1 多道程序设计
衡量一个系统效率的一个指标就是吞吐率;即
作业道数 吞吐率= 全部处理时间
显然,系统效率与系统资源利用率密切相关,主要涉 及: 处理机、存储器、设备这样一些硬件资源的利 用率问题。如果系统资源利用率高,则单位时间内完 成的有效工作多;所以,提高系统的吞吐量应当提高 系统资源的利用率。下面通过例子说明处理机利用率 与吞吐率的情况,如图图3.1所示。
S0
(a) 结束
程序内部各程序段间是
S2
S3
否具备并发执行是由它们之间 S1 (b)
依赖关系所决定。关于程序并 图3.6 四条语句的前驱图 行性挖掘属于并行研究课题。
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的并发执行
并发性是增强计算机系统的处理能力和提高资源利 用率所采取的一种技术。程序的并发执行通过前面 的分析可分为两种:
的前驱,而pj是pi的直接后继。没有前驱的结点为 初始结点,没有后继的结点为终止结点。
清华大学出版社
清华大学出版社
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
程序的顺序执行
假定用 I、 C和 P分别表示输入、计算和输出操作(也可 以为语句),可以有图 3.3 的前驱图。
I1
C1
清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
多道程序系统中程序执行环境的变化
计算机能够同时处理多个具有独立功能的程序。如 图3.1 所示。多道的执行环境具有如下 3 个特点:
独立性;每道程序都是逻辑上独立的。 随机性;多道程序环境下,特别是多用户环境下, 程序和数据输入与执行开始时间都是随机的。
程序的概念下是无法刻画系统中并发特性的。 清华大学出版社
3.2 进程的概念
3.2.1 前驱图和程序执行
前驱图的定义
前驱图(Procedence Graph)是一个有向无环图 DAG(Directed Acyclic Draph),是用来反映和 研究系统内所发生事件之间的一种关系。
→={(pi,pj) | pi 必须在pj 开始之前完成 }。 如果(pi,pj) ∈→ ,可写成pi → pj ,称pi是pj