第二章进程管理

合集下载

操作系统课件 第2章 进程

操作系统课件 第2章 进程

第二章 进 程 管 理
对于具有下述四条语句的程序段: S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b 请画出前趋关系图。
S1 S3 S2 S4
第二章 进 程 管 理
2.2 程序并发执行时的特征
1) 间断性 相互制约性)-后面的模块等待前面的模块 间断性(相互制约性 - 相互制约性 传来的结果,然后才执行(如打印模块等待 计算模块完成)。走走停停。 2) 失去封闭性 :多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变, 致使程序的运行已失去了封闭性。 结果是一个程序运行时会受到另一个程序的 结果是 影响。 3) 不可再现性 :程序在并发执行时,由于失去了封 闭性,也将导致失去其可再现性
第二பைடு நூலகம் 进 程 管 理
新进程
接纳
就绪 时间片完 I/O完成 进程调度
阻塞 I/O请求
执行
完成
结束
图 2-5 进程的三种基本状态及其转换
(教材讲5种)
第二章 进 程 管 理
作业调度
作业后备队列
阻塞队列
外存
进程就绪队列
一些 阻塞队列
内存
处理器 (CPU)
第二章 进 程 管 理
3.7五状态 五状态进程模型 五状态
第二章 进 程 管 理
3.4进程与程序的区别 进程与程序的区别
程序是静态的, 1)程序是静态的 进程是动态的; 是根本区别) 1)程序是静态的,进程是动态的;(是根本区别) 程序是有序代码的集合;进程是程序的执行。 程序是有序代码的集合;进程是程序的执行。 2)进程和程序不是一一对应的 2)进程和程序不是一一对应的 ; • 一个程序可对应多个进程 即多个进程可执行同一程序 ; 一个程序可对应多个进程,即多个进程可执行同一程序 • 一个进程可以执行一个或几个程序 3)进程是暂时的 程序的永久的:进程是一个状态变化的过程, 进程是暂时的, 3)进程是暂时的,程序的永久的:进程是一个状态变化的过程, 程序可长久保存。 程序可长久保存。 4)进程与程序的组成不同 进程的组成包括程序、 进程与程序的组成不同: 4)进程与程序的组成不同:进程的组成包括程序、数据和进程 控制块(即进程状态信息)。 控制块(即进程状态信息)。 5)进程具有创建其他进程的功能 而程序没有。 进程具有创建其他进程的功能, 5)进程具有创建其他进程的功能,而程序没有。

计算机操作系统 第二章 进程管理(2)

计算机操作系统 第二章 进程管理(2)

缺点:
(1)进程在等待进入临界区时也要耗费处理器时间, 不能实现“让权等待” (2)可能出现进程“饥饿”
2.3.2 信号量机制
新的同步工具——信号量和P、V操作。
信号量:是一种数据结构,代表可用资源实 体的数目。
信号量只能通过初始化和两个标准的原语: P(wait(S))、V((signal(S))来访问。 P原语相当于进入区操作,V原语相当于退 出区操作。
AND同步机制
AND同步机制的基本思想是:进程运行时所 需要的所有资源,要么全部分配给它,使用完 毕后一起释放;要么一个都不分配给它。实现 时,采用原子操作:要么全部分配到所有资源, 要么一个也不分配到。 称AND型信号量P原语为:
Swait(Simultaneous wait)
V原语为Ssignal(Simultaneous signal)。
SP原语描述
Swait(S1,S2,„,Sn) /* SP原语描述 */ {while(1) {if(S1>=1&&S2>=1&&„&&Sn>=1) {for(i=1;i<=n;i++) Si--; /* 先确信可满足所有资源要求再减1操作 */ berak; } else /* 资源不够时 */ {将进程放入第一个信号量小于1的阻塞队列Si.sqeue; 将PC中的地址回退到SP开始处; 阻塞进程; } } }
第二章 进程管理(2)
2.3 进程同步
多进程并发执行时,由于资源共享或进程合 作,使进程间形成间接相互制约和直接相互制 约关系,这需要用进程互斥与同步机制来协调 两种制约关系。 进程同步的主要任务:协调进程执行次序, 使并发执行的诸进程间能有效地共享资源和相 互合作,使程序的执行具有可再现性。

第2章 进程管理习题及答案

第2章 进程管理习题及答案

第二章进程管理习题及答案一、填空题1.进程的静态描述由三部分组成:①、②和③。

【答案】①PCB、②程序部分、③相关的数据结构集【解析】PCB是系统感知进程的唯一实体。

进程的程序部分描述了进程所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。

后两部分是进程完成所需功能的物质基础。

2.进程存在的标志是。

【答案】进程控制块PCB【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。

3.①是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了②这一概念。

【答案】①程序的并发执行,②进程【解析】程序的并发执行和资源共享是现代操行系统的基本特征。

程序的并发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。

在程序并发执行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来描述程序并发执行所具有的特点。

4.给出用于进程控制的四种常见的原语①、②、③和④。

【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目的。

把那些在管态下执行的具有特定功能的程序段称为原语。

5.进程被创建后,最初处于①状态,然后经②选中后进入③状态。

【答案】①就绪,②进程调度程序,③运行【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。

被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。

6.进程调度的方式通常有①和②方式两种。

【答案】①可剥夺、②非剥夺【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程的优先级的进程存在时,便立即发生进程调度,转让处理机。

而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。

第2章 进程管理课后习题解答

第2章 进程管理课后习题解答

第题中,如果修改问题中的同步算法,要求 对写进程优先,即一旦写进程到达,后续的读者进程必须等待, 而无论是否有读者进程在读文件。写出相应进程的程序段。 semaphore fmutex=1, rmutex=1, wmutex=1;que=1;
int rcount=0, wcount=0; void main() { parbegin(reader, writer); }
12
void reader { while(1) { wait(que); wait(rmutex); if(0==readcount) wait(fmutex); readcount++; signal(rmutex); signal(que); …. begin to read wait(rmutex); readcount--; if(readcount==0) signal (fmutex); signal(rmutex); } }
读者—写者问题(读优先) 读者 写者问题(读优先) 写者问题 semaphore rmutex=1,wmutex=1; int readcount=0; = void main() { parbegin(reader,writer); }
读者进程: 读者进程: void reader() { while(1) { wait(rmutex); if (readcount==0) wait(wmutex); readcount++; signal(rmutex); … 读操作 wait(rmutex); readcount--; if (readcount==0) signal(wmutex); signal(rmutex); } }
18
chopstick[ ={1 semaphore chopstick[5]={1,1,1,1,1}; viod main() { parbegin(P0(),P1(),P2(),P3(),P4()); parbegin(P0(),P1(),P2(),P3(),P4()); } Pi() /*i=0,1,2,3,4*/ { while(1) { wait(chopstick[i]); [ ] wait(chopstick[(i+1)%5]); [ ] eating; … signal(chopstick[i]); [ ] signal(chopstick[(i+1) %5]); [ ] thinking; } }

chap2 进程管理

chap2 进程管理

2· 2 进程的状态及转换
状态及其转换 静止就绪状态:表明进程具备运行条件但目前在二级存储器中,当它被 对换到主存才能被调度执行 静止阻塞状态:表明进程正在等待某一事件且在二级存储器中 ①运行或活动就绪→静止就绪,活动阻塞→静止阻塞 通过挂起操作(suspend)。 ②静止就绪→活动就绪, 静止阻塞→活动阻塞 通过激活操作(activate)。 ③静止阻塞→静止就绪: 当等待的事件发生时。 挂起进程的特征: (1)该进程不能立即执行。(2)挂起进程可能会等待事件,但所等待 事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。 (3)进程进入挂起状态是由于操作系统、父进程或进程本身阻止它 的运行。(4)结束进程挂起状态的命令只能通过操作系统或父进程 发出。
题目:
4、进程执行时的间断性,决定了进程可能具有多种状态。进程的基 本状态有三种,在分时系统中,当一个进程拥有的时间片到时, 则该进程即由[1]进入[2]。如果出现因某种原因使得处理机空闲时, 则需要从就绪队列中选择一进程,并将处理机分配给它,此时该 进程进入[3],这个过程是由[4]来完成。 供选择的答案: [1][2][3] A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态 [4] A、进程控制程序 B、资源分配程序 C、进程调度程序 D、处理机分配程序 5、下列进程状态的转换中,哪一个是不正确的( )。 A. 就绪->运行 B. 运行->就绪 C. 就绪->阻塞 D. 阻塞->就绪 6、一个进程被唤醒意味着( )。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首
2· 2 进程的状态及转换
3、细分5种状态的进程状态及其转换 新建、就绪、运行、阻塞、终止 新建:对应进程刚被创建的状态,为一个新进程 创建必要的管理信息,它并没有被提交运行, 而是等待操作系统完成创建进程的必要操作。 终止:进程已完成执行就变为终止状态。进入终 止态的进程不再执行,但依然临时保留在系统 中等待善后。一旦其他进程完成了终止进程的 信息抽取后,系统将删除该进程。

操作系统原理第二章进程管理

操作系统原理第二章进程管理

2.1 前趋图和程序执行
例:有7个结点的前趋图。
P = { P1,P2,P3,P4,P5,P6,P7 } → = {(P1,P2),(P1,P3),(P1,P4), (P2,P5),
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
2
1 3
4
5
7 6
2.1 前趋图和程序执行
➢ 程序的顺序执行
打印三项操作。其程序段并发执行的前趋图:
I1 → I2 → I3 → I4 →
↘↘↘↘
C1 → C2 → C3 → C4 →
↘↘↘↘
P1 → P2 → P3 → P4 →
2.1 前趋图和程序执行
例2.Begin integer N:=0;
Cobegin
Program A : begin
Program B : begin
void popaddr (top) { top --; r=*top; return (r) }
void pushaddr(blk) { *top = blk; top++;
}
先执行 popaddr 的top--,接着执行pushaddr的*top=blk
2.1 前趋图和程序执行
➢ 程序并发执行过程及条件 (Bernstein条件)
果必相同。
2.1 前趋图和程序执行
➢ 程序的并发执行
➢ 程序执行环境
➢ 独立性,逻辑上是独立的。 ➢ 随机性:输入和执行开始时间都是随机的。 ➢ 资源共享:资源共享导致对进程执行速度
的制约。
2.1 前趋图和程序执行
➢ 程序的并发执行
并发执行是指两个程序执行时间上是重叠 的。凡是能由一组并发程序完成的任务,都 能由相应的单个程序完成。 例1:有一批程序,而每个程序需输入,计算,

《计算机操作系统》第2章 进程管理

《计算机操作系统》第2章  进程管理

2.1.3 进程的状态模型
新建
准许
准许
挂起
静止就绪
事件 发生
静止阻塞
激活 挂起
激活 挂起
活动就绪
事件 发生 活动 阻塞
分派 超时
运行
等待 事件
释放
退出
பைடு நூலகம்
图2-8 有挂起态的七状态模型
在新的状态模型中,比较重要的新转换如下: ►(1)活动阻塞→静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞
态进程就会被挂起。
分派
进入
非运行
运行
退出
暂停 图2-3 两状态模型
2.1.3 进程的状态模型
2. 三状态模型
三状态模型中进程的三种基本状态如下:
►(1)就绪状态(Ready)。一个进程获得了除处理机之外所需的一切资源,一 旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一 个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。
2.1.3 进程的状态模型
3. 五状态模型
新建态
进入就 绪队列
运行态
被调 度 时间片
用完
就绪态
事件
发生
退出态 等待事件 阻塞态
图2-6 五状态模型图
►为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建 的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还 没有加载到内存中的新进程。
►同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所 处的状态,我们称为退出态。
2.1.3 进程的状态模型
五状态模型中的状态转换:
►(1)空→新建:创建一个程序的新进程。

第2章 进程管理3

第2章 进程管理3
第二章 进程管理
第二章 进程管理
2.1 前趋图和程序执行 2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信 2.7 线程
湖南理工学院计算机学院
第二章 进程管理
掌握内容: 掌握生产者-消费者问题、读者-写者问 题、哲学家就餐问题的P、V操作实现方法。 掌握进程同步和互斥问题的P、V操作实现 过程。
湖南理工学院计算机学院
第二章 进程管理
parend end
湖南理工学院计算机学院
第二章 进程管理
在生产者—消费者问题中应注意: (1)在每个程序中用于实现互斥的 wait(mutex) 和signal(mutex)必须成对地出现; (2) 对资源信号量 empty 和 full 的 wait 和 signal 操作,同样需要成对地出现,但它们分别处于 不同的程序中。 (3)在每个程序中的多个wait操作顺序不能颠 倒。应先执行对资源信号量的wait操作,然后再 执行对互斥信号量的wait操作。
湖南理工学院计算机学院
第二章 进程管理
假定这些生产者和消费者相互等效,只要缓 冲池未满,生产者便可将消息送入缓冲池;只要 缓冲池未空,消费者便可从缓冲池中取走一个消 息。对生产者—消费者问题可描述如下: Var mutex, empty, full:semaphore∶=1,n,0; buffer:array[0, …, n-1] of item; in, out: integer∶=0, 0; begin parbegin
湖南理工学院计算机学院
第二章 进程管理
第i位哲学家的活动可描述为: repeat wait(chopstick[i]); wait(chopstick[(i+1) mod 5]); … eat; … signal(chopstick[i]); signal(chopstick[(i+1) mod 5]); … think; until false;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11
C1
P1
I2
C2
P2
§2.1 进程
(3)结果的再现性:程序执行时,只要初始条件和执行环
境相同,最终执行结果不变。程序的执行结果与其执 行速度无关。
缺点:由于资源的独占性,系统资源的利用率非常低。
§2.1 进程
多道程序设计环境下, 资源独占性、执行的顺序性、结果的再现性 举例:
均被打破
§2.1 进程
“进程”是指一个程序在给定数据集合上的一次执行过程 ,是系统进行资源分配和运行调度的独立单位。
§2.1 进程
系统进程与用户进程的区别: 1 系统进程间的相互关系由操作系统负责协调,用户进程间 的相互关系由用户通过系统提供的协调方式进行协调。 2 用户进程不能参与资源的管理,由系统进程对软、硬件资 源直接进行管理。 3 系统进程的优先级高于用户进程
2.2 进程控制块
3)管理信息:记录了进程的优先级、队列指针等。进 程优先级是系统分配处理机的重要依据。 4)说明信息:反映进程的现行情况。它包括程序和数 据的地址、进程当前所处的状态等。
2.2 进程控制块
PCB所包含的信息
2.2 进程控制块
位 移
0 2



TPC TAC0


保护指令计数器内容
2)进程具有生命周期,由“创建而产生,由调度而运行, 由撤消而消亡”。
3)并发性。多个进程同时存于内存中,且能在一段时间内 同时执行;而程序不能并发执行。
§2.1 进程
5)进程间会相互制约。由于进程是系统中资源分配和运行 调度的单位,因此在对资源共享和竞争中,必然会相互 制约,影响了各自向前推进的速度。
§2.2 进程控制块
2.2 进程控制块 2.2.1 进程的三个组成部分
进程由三个部分组成:程序、数据集合、进程控制块(PCB ) ,其中PCB是进程存在的唯一标志
§2.1 进程
进程的不同表示
§ 2.2 进程控制块
2.2.2 进程控制块的内容(PCB)
进程控制块的作用: 1) PCB包含了进程的标识信息、说明信息、现场信息 以及管理信息等,是进程动态特征的集中反应。 2)创建一个进程时首先创建其对应的PCB,当一个进程 结束以后,系统释放其PCB,进程也随之消亡。 3)系统根据PCB感知进程的存在,掌握进程所处的状态。 系统通过修改PCB相应项的值来控制进程的活动。 PCB是进程存在的唯一标志。
§ 2.2 进程控制块
进程控制块中的信息 1)标识信息:它用于唯一地标识一个进程。它有外 部标识符(由字母和数字组成,供用户使用)和内 部标识符(由整数组成,为方便系统管理而设置) 两种。 2)现场信息(处理机状态信息):它由处理机各种 寄存器(通用寄存器、指令计数器、程序状态字PSW、 用户栈指针等)的内容所组成,该类信息使进程被中断 后重新执行时能恢复现场从断点处继续运行。
(1) 阻塞 (2)就绪 (3) 1,0 ,9,0, 10,0
§2.1 进程
判断下面的因果变迁是否一定发生,如果是,在什么条 件下会发生? (1)一个进程从运行状态变为就绪状态,一定会引起 另一个进程从就绪状态变为运行状态。 (2)一个进程从运行状态变为阻塞状态,一定会引起另 一个进程从运行状态变为就绪状态。 (3)一个进程从阻塞状态变为就绪状态,一定会引起另 一个进程从就绪状态变为运行状态。
1)链接方式:把同一状态的PCB链接成一个队列,这样就 形成了就绪队列、阻塞队列等。
2)索引方式:将同一状态的进程组织在一个索引表中,索 引表的表项指向相应的PCB ,不同状态对应不同的索引 表。
2.2 进程控制块
2.2.3 进程控制块队列
当采用链接方式对进程进行组织和管理时,需要: 将相同状态进程的PCB通过各自的队列指针链接起来, 形成一个个队列。每个队列设立一个头指针,指向对首 进程的PCB,队尾进程的PCB的指针项内容特征
1) 程序是静态的概念,可以作为一种软件资源长期保存。 进程是动态的概念,进程是程序的运行实体。没有程 序,也就没有进程。 2)不同进程可以执行同一个程序。同一程序同时运行于 若干个数据集合上,它将属于若干个不同的进程,即同 一程序可以对应多个不同的进程。
§2.1 进程
2.2 进程控制块
运行队列头指针
就绪队列头指针
阻塞队列 1 头指针
阻塞队列 2 头指针
举例:进程PCB队列
2.3 进程的调度与管理
2.3 进程的调度与管理
进程调度(低级调度、短程调度、微观调度):按某种策略 ,从进程就绪队列中选择一个进程,并将处理机分配给它 ,并让它投入运行的过程。 注意:
(1)进程调度是OS中最基本的调度。
CPU
I/O
先来先服务调度算法示意图
2.3 进程的调度与管理
问:若在就绪队列中依次到达三个进程A,B,C,其中运行A进 程需要24ms,运行B和C各需要3ms,如果按照先来先服务 调度算法进行调度,求进程的平均等待时间。
解:进程的调度顺序为A,B,C。其中A等待0ms,B等待24ms, C等待27ms,故平均等待时间为17ms
第二章 处理机管理
§2.1 进程 §2.2 进程控制块 §2.3 进程的调度与管理 §2.4 作业调度
§2.1 进程
2.1.1 多道程序设计
单道程序环境下,系统具有的特点: (1)资源独占性
§2.1 进程
(2)执行的顺序性:在任何时刻,处理机只执行一个操作, 只有在前一个操作执行完成后,才能执行后继操作。 例如一般程序包括输入(I)、计算(C)、输出(P)三部分,这 三个程序段的执行顺序如下:
2.3 进程的调度与管理
短进程优先调度算法
短进程优先调度算法的基本思想:从就绪队列中选出一 估计运行时间最短的进程,将处理机分配给它。可采用 抢占(剥夺)或者非抢占(非剥夺)调度方式。
2.3 进程的调度与管理
问:若在就绪队列中依次到达三个进程A,B,C,其中运行A进 程需要24ms,运行B和C各需要3ms,如果按照短进程优先 非抢占调度算法进行调度,求进程的平均等待时间。
而阻塞态――>运行态和就绪态――>阻塞态这二种状态转换不可能
§ 2.1 进程
运行状态
调度该程序
时间片用完 等待某事件发生
就绪状态 某事件发生
阻塞状态
进程的三种基本状态及其转换
§ 2.1 进程
在一个多道程序设计的系统中,各进程状态转换会互相影响 例如系统中一个运行态的进程A发生I/O请求后要等待I/O 完成,它的状态也由运行态转换为阻塞态,此时进程调度 程序就会按照一定的算法,在就绪队列中选一个进程B, 将处理机分给它,该B进程的状态也由就绪态转换为运行 态。
新分配给另一进程。
有利于处理紧急任务,故实时与分时系统中常采用。
2.3 进程的调度与管理
进程调度的时机 (1) 正在执行的进程执行完毕 (2) 执行中的进程提出I/O请求后被阻塞 (3) 执行中调用了某种原语操作 (4)当就绪队列中某进程的优先级高于当前执行进程的 优先级 (5)新到达的进程比正在执行的进程明显短 (6) 在分时系统中时间片用完
(2)调度频率非常高,一般几十毫秒一次。
2.3 进程的调度与管理
进程调度要解决的问题: WHEN:何时分配CPU --------进程调度的时机 WHAT:按什么原则分配CPU --------进程调度算法 HOW:如何分配CPU --------进程的上下文切换
2.3 进程的调度与管理
操作系统设计了一个进程调度程序来解决竞争CPU的问 题 . 进程调度程序按照某种调度算法从就绪队列中选 择一个进程,让它占有CPU. 其工作过程如下: (1)记录系统中所有进程的相关情况 (2)按照某种算法选择进程 (3)完成处理机的分配 (4)处理机的回收
2.3 进程的调度与管理
2.3.1进程的调度算法
对于不同的系统和系统目标,可以采用不同的进程调度 算法。常见的进程调度算法有以下一些: 先来先服务调度算法 短进程优先调度算法 时间片轮转调度算法
优先数调度算法
多级反馈队列调度算法
2.3 进程的调度与管理
先来先服务调度算法
先来先服务调度算法的基本思想:以到达就绪队列的 先后次序为标准来选择占用处理机的进程。
§2.1 进程
由于系统中的活动以及活动之间的相互关系非常复杂,“ 程 序”这个静态的概念已不能如实地反映系统中的活动情况 。
为此,现在操作系统引入了“进程”的概念。
§2.1 进程
2.1.2 进程的定义
从如下三个方面来描述进程: (1)进程是程序的一次运行活动。 (2)进程的运行活动是建立在某个数据集合之上的。 (3)进程在获得资源的基础上从事自己的运行活动。
“结果的再现性”被打破 举例1
假如X=0; A: … X=X+1;
R=X R=R+1 X=R
Printf(“x=%d\n”, x);
R=X R=R+1 X=R Printf(“x=%d\n”, x);
B: … X=X+1;
由于A、B交替执行,打印结果可能是: (X=1,X=2)或者(X=1,X=1) 结果不唯一!
§2.1 进程
“结果的再现性”被打破 举例2
结果不唯一!
§2.1 进程
多道程序设计环境下,系统具有的特点: 1)相互的制约性:程序在并发执行时,由于它们共享资源或 为完成某一项任务而合作,致使在并发程序之间存在相 互制约的关系。
2)执行的并发性:逻辑上相互独立的程序,在执行时间上相 互重叠,一个程序的执行还没有结束,另一个程序的执 行已经开始。 3)状态多变性:内存中每一个程序的状态总处于不断变化 之中。
§ 2.1 进程
三个基本状态之间可能转换和转换原因如下:
1 就绪态――>运行态:当处理机空闲时,进程调度程序必将处理 机分配给一个处于就绪态的进程 ,该进程便由就绪态转换为运行态 。 2 运行态――>阻塞态:处于运行态的进程在运行过程中需要等待 某一事件发生后(例如因I/O请求等待),才能继续运行,则该进 程放弃处理机,从运行态转换为阻塞态。 3 阻塞态――>就绪态:处于阻塞态的进程,若其等待的事件已经发 生,于是进程由阻塞态转换为就绪态。 4 运行态――>就绪态:处于运行状态的进程在其运行过程中,因分 给它的处理机时间片已用完,而不得不让出(被抢占)处理机,于是 进程由运行态转换为就绪态。
相关文档
最新文档