2进程的描述与控制
process

§3.1
3.1.2 进程的状态
进程的概念
一个进程从创建而产生至撤销而消亡的整个生命周期, 一个进程从创建而产生至撤销而消亡的整个生命周期, 可用一组状态加以刻划, 可用一组状态加以刻划,,按进程在执行过程中的状况至少 定义三种不同的进程状态: 定义三种不同的进程状态: 运行态(Running)是指当前进程已经分配到CPU, 运行态(Running)是指当前进程已经分配到CPU,它的程序 CPU 正在处理机上执行的状态. 正在处理机上执行的状态. 就绪状态(Ready)是指已具备运行条件, 就绪状态(Ready)是指已具备运行条件,但因为其他进程 正在占用CPU,使它暂时不能运行而处于等待分配CPU的状态. 正在占用CPU,使它暂时不能运行而处于等待分配CPU的状态. CPU,使它暂时不能运行而处于等待分配CPU的状态 阻塞状态(Blocked)是指进程因等待某种事件发生( 阻塞状态(Blocked)是指进程因等待某种事件发生(例如 等待I/O操作完成,等待其他进程发来的信号) 等待I/O操作完成,等待其他进程发来的信号)而暂时不能 I/O操作完成 运行的状态,也就是说, 运行的状态,也就是说,处于阻塞状态的进程尚不具备运行 条件,即使CPU空闲它也无法使用. 条件,即使CPU空闲它也无法使用. CPU空闲它也无法使用
和调度的独立单位; 和调度的独立单位;
– 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程 异步性:由于进程间的相互制约,使进程具有执行的间断性,
按各自独立的, 按各自独立的,不可预知的速度向前推进
– 结构特征:进程由程序,数据和进程控制块三部分组成. 结构特征:进程由程序,数据和进程控制块三部分组成.
§3.1
进程的概念
Context) Context)
进程概述

进程的概念和进程的描述8.1 进程的概念8.1.1 程序的并发执行1.程序的顺序执行程序是在时间上按严格次序前后相继的操作序列,是一个静态的概念。
计算机 CPU是通过时序脉冲来控制顺序执行指令的。
一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。
并具有如下特点:(1) 顺序性(2) 封闭性(3) 可再现性2. 多道程序系统中程序的执行多道程序系统计算机能够同时处理多个具有独立功能的程序。
这样的执行环境具有下述三个特点:(1) 独立性每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。
(2) 随机性(3) 资源共享3. 程序的并发执行(1) 程序的并发执行并发执行,是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。
多道程序系统的程序执行环境变化所引起的多道程序的并发执行在某道程序的几个程序段中,包含着一部分可以同时执行或顺序颠倒执行的代码。
例如语句:read (a) ;read (b) ;它们既可以同时执行,也可颠倒次序执行。
程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。
程序的并发执行不同于程序的并行执行。
程序的并行执行是指一组程序按独立的、异步的速度执行。
并行执行不等于时间上的重叠。
程序的并发执行使得其执行结果不再具有封闭性和可再现性,且可能造成程序出现错误。
8.1.2 进程的定义进程的概念是60年代初期,首先在MIT 的 Multics系统和IBM 的 TSS/360系统中引用的。
(1) 进程是可以并行执行的计算部分(S.E.Madnick,J.T.Donovan);(2) 进程是一个独立的可以调度的活动(E.Cohen,D.Jofferson);(3) 进程是一抽象实体,当它执行某个任务时,将要分配和释放各种资源(P.Denning);进程和程序的区别和关系(1) 进程是一个动态概念,而程序则是一个静态概念。
第4章 进程控制

通信信息
进程间进行通信时所记录的有关信息
家族联系
指明本进程与家族的联系 占有资源清单
进程的特征
结构特征:进程除了程序段、数据段还 包括PCB 动态性:进程是一个程序的执行,是动 态的,是有生命周期的。 并发性:多个进程实体能同存于内存中, 且在一段时间内同时运行。 独立性:独立运行,独立申请资源,独 立接受调度。 异步性:进程按各自独立的、不可预知 的速度向前前进。 动态性和并发性是进程的最基本特征。
进程等待原语的实现
入口
保护进程的CPU现场到PCB结构中
置该进程为”等待”状态
将该进程PCB结构插入到等待队列中
转进程调度
5. 进程唤醒 进程唤醒原语的形式 当处于等待状态的进程所期待的事件来到时, 由发现者进程使用唤醒原语叫唤醒它。 wakeup(chan) 入口参数chan:进程等待的原因。 进程唤醒原语的功能 当进程等待的事件发生时,唤醒等待该事件的 进程。
响了程序速度。
程序的并发执行使得程序失去了顺序 性,封闭性和可再现性,用“程序” 无法描述这些特征,因此引入了“进 程这个概念”。
4.2 进程的概念 4.2.1进程的定义
1. 进程定义
什么是进程 所谓进程,就是一个程序在给定活动空间和初始环 境下, 在一个处理机上的执行过程。
进程与程序的区别
程序是静态的概念;进程是动态的概念
进程是一个独立运行的活动单位
进程是竞争系统资源的基本单位
一个程序可以对应多个进程;一个进程至少包含一
个程序。
2. 进程的状态
进程的基本状态
运行状态(running)
该进程已获得运行所必需的资源,它的程序正在处理机 上执行。
等待状态(wait)
操作系统课件 第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)进程具有创建其他进程的功能,而程序没有。
第3章 进程控制

UNIX 进 程 描 述
§5 什么是进程(Process、Task)
四 、
例2:当进行中断处理和系统调用时,都将涉及进程上下 文的保存和恢复,此时系统所保存和恢复的是 的上 下文。 A.系统进程 C.不同进程 B.同一个进程 D.其它进程 。
UNIX 进 程 描 述
例3:进程上下文包括如下各项,除了 A.用户打开文件表 C.中断向量 B.PCB D.核心栈
§4 Bernstein条件
例2:已知求值公式(A2+3B)/(B+5A),若A、B已赋值,试画出 该公式求值过程的前趋图。 分析: S1: x1=A*A S2: x2=3*B S3: x3=5*A S4: x4=x1+x2
S5: x5=B+x3 S6: x6=x4/x5
§5 什么是进程(Process、Task)
PCB
§5 什么是进程(Process、Task)
三 、 进 程 控 制 块
例1:在操作系统中, 位。 A. 程序 B.进程 是竞争和分配资源的基本单 C.作业 D.用户 的,
例2(大连理工)进程与程序的主要区别在于进程是 而程序是 的。一个程序可对应 个进程。
进程是动态的概念,而程序是静态的概念。 进程可执行一或多个程序,程序可为多个进程并发执行。 进程是暂存的,而程序可作为资料长期保存。
§2 前趋图
前趋图是描述并发序列时序关系的有向无循环图。 二、前驱(偏序)关系→ 3.前趋图中,没有前趋的结点称作初始结点,没 有后继的结点称作终止结点。
§3 程序并发执行
eg:有一组计算程序。
多道并行
§3 程序并发执行
一、失去连续性,呈现间断性。
多道并行
§3 程序并发执行
操作系统原理知识点总结

第一章绪论1、操作系统是一组控制和管理计算机硬件和软件资源、合理的对各类作业进行调度以方便用户的程序集合※2、操作系统的目标:方便性、有效性、可扩展性、开发性※3、操作系统的作用:作为计算机硬件和用户间的接口、作为计算机系统资源的管理者、作为扩充机器4、单批道处理系统:作业处理成批进行,内存中始终保持一道作业(自动性、顺序性、单道性)5、多批道处理系统:系统中同时驻留多个作业,优点:提高CPU利用率、提高I/O设备和内存利用率、提高系统吞吐量(多道性、无序性、调度性)6、分时技术特性:多路性、交互性、独立性、及时性,目标:对用户响应的及时性7、实时系统:及时响应外部请求,在规定时间内完成事件处理,任务类型:周期性、非周期性或硬实时任务、软实时任务※8、操作系统基本特性:并发、共享、虚拟、异步性并行是指两或多个事件在同一时刻发生。
并发是两或多个事件在同一时间间隔内发生。
互斥共享:一段时间只允许一个进程访问该资源同时访问:微观上仍是互斥的虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
异步是指运行进度不可预知。
共享性和并发性是操作系统两个最基本的特征※9、操作系统主要功能:处理机管理、存储器管理、设备管理、文件管理、用户管理第二章进程的描述和控制※1、程序顺序执行特征:顺序性、封闭性、可再现性※2、程序并发执行特征:间断性、失去封闭性、不可再现性3、前趋图:有向无循环图,用于描述进程之间执行的前后关系表示方式:(1)p1--->p2(2)--->={(p1,p2)| p1 必须在p2开始前完成}节点表示:一条语句,一个程序段,一进程。
(详见书P32)※4、进程的定义:(1)是程序的一次执行过程,由程序段、数据段、程序控制块(PBC)三部分构成,总称“进程映像”(2)是一个程序及其数据在处理机上顺序执行时所发生的活动(3)是程序在一个数据集合上的运行过程(4)进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程特征:动态性、并发性、独立性、异步性由“创建”而产生,由“调度”而执行;由得不到资源而“阻塞”,由“撤消”而消亡※5、进程与程序关系※6、进程的三种状态:就绪、阻塞、执行转换:增加挂起:7、进程控制块(PCB)的作用:进程存在的唯一标志。
2-进程管理
CH2 进程管理CPU即处理机的一种,为方便见,以后我们不再区分。
进程是处理机内运行的一个实体,处理机管理核心是调哪个进程到处理机内运行,所以OS把处理机管理纳入进程管理范畴。
在OS 中, 进程管理与存储器管理是最重要的两部分, 也是最接近内核的两层. 在现代OS中, 进程是作为资源分配和独立运行的基本单位. 我们合并第二、三两章,主要内容有:§1 中断#1 中断概念#2 中断功能#3 中断处理§2 多道程序设计§3 进程引入#1 程序的顺序执行及其特征#2 程序的并行执行及其特征#3 进程定义及其特征#4 进程三态及其演变(就绪/执行/阻塞)#5 进程描述(PCB)及其组织(队列/索引)§4 进程控制#1 内核与原语#2 创建与撤消(Create/Destroy)#3 ★挂起与激活(Suspend/Active)#4 阻塞与唤醒(Blocked/Wakeup)§5 进程调度#1 概念(级别, 方式, 术语)#2 调度算法(FIFO/最短时间/最高优先级/轮转/多级反馈)#3 引起调度的原因和实现§6 进程同步#1 概念#2 信号量机制(概念/实现)#3 信号量应用(互斥/同步)#4 经典进程同步问题----例子#5 ★信号量集和管程§7 进程通信#1 类型(内存共享/消息机制/文件共享)#2 直接通信方式(一般模型/应答式/链路)#3 ★直接通信应用(消息缓冲)§8 死锁#1 原因及必要条件#2 预防#3 避免(教材称为预防不恰当)#4 检测#5 解除与书不同处: 处理机调度纳入进程调度;CH7的§1并发进程纳入进程引入一节;进程控制单独列一节§1 中断一、中断概念1、中断:CPU对系统中发生的异步事件的响应处理。
2、中断引入的目的是提高CPU的利用率和系统实时性能。
3、中断是多道程序设计实现的基点。
《计算机操作系统》第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.4 线
程
2.4.1 线程概念 现代操作系统中,进程只作为资源拥有者, 而调度和运行的属性赋予新的实体——线 而调度和运行的属性赋予新的实体——线 程。 线程(Thread)是进程中实施调度和分派 线程(Thread)是进程中实施调度和分派 的基本单位
2.4.1 线程概念
1.线程的组成 每个线程有一个 thread结构,即 thread结构,即 线程控制块,用 于保存自己私有 的信息,主要由 以下4 以下4个基本部 分组成:
2.4.1 线程概念
4.线程和进程的关系 ① 一个进程可以有多个线程,但至少要有一个线程; 而一个线程只能在一个进程的地址空间内活动。 ② 资源分配给进程,同一进程的所有线程共享该进 程的所有资源。 ③ 处理机分配给线程,即真正在处理机上运行的是 线程。 ④ 线程在执行过程中需要协作同步。不同进程的线 程间要利用消息通信的办法实现同步。
程同时访问和操纵相同的数据时,最后的执行结 果取决于进程运行的精确时序。
竞争条件(Race Condition),即两个或多个进 Condition),即两个或多个进
2.5.2 临界资源和临界区
1.临界资源和临界区 一次仅允许一个进程使用。我们把这类共 享资源称为临界资源( 享资源称为临界资源(Critical Resource)。 Resource)。 在每个进程中访问临界资源的那段程序叫 临界区( Section),简称CS区。 做临界区(Critical Section),简称CS区。
2.3.3 进程终止
(1)正常终止 (2)异常终止 (3)外部干扰
2.3.3 进程终止
终止进程的主要操作过程如下: 找到指定进程的PCB 找到指定进程的PCB 终止该进程的运行 回收该进程所占用的全部资源 终止其所有子孙进程,回收它们所占用的 全部资源。 将被终止进程的PCB从原来队列中摘走 将被终止进程的PCB从原来队列中摘走
OS02进程概念.
2019/6/10
第二章 进程管理
33
七状态进程模型
活动
挂起 事件 发生
活动
挂起 调度
超时
事件 发生
等待 事件
释放
挂起
2019/6/10
第二章 进程管理
34
进程增加了两个新状态
挂起就绪态(ready suspend):进程具 备运行条件但目前在二级存储器中,当它 被对换到主存才能被调度执行。
第二章 进程管理
37
挂起进程具有如下特征(1)
该进程不能立即被执行。 挂起进程可能会等待事件,但所等待事件是独
立于挂起条件的,事件结束并不能导致进程具 备执行条件。 进程进入挂起状态是由于操作系统、父进程或 进程本身阻止它的运行。 结束进程挂起状态的命令只能通过操作系统或 父进程发出。
2019/6/10
第二章 进程管理
3
结点:一个程序段、进程或一条语句; 有向边:两个结点之间的前趋关系; 重量:结点所含有的程序量或执行时间; 直接前驱、直接后继、开始结点、终止结点
2019/6/10
第二章 进程管理
4
以上前趋图,存在的前趋关系:
P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6, P4→P7,P5→P8,P6→P8,P7→P9,P8→P9;
2019/6/10
第二章 进程管理
29
终止态:等待操作系统进行善后,然后,退
出主存。
进入终止态的进程不再执行,但依然临时保 留在系统中等待善后。一旦其他进程完成了 对终止态进程的信息抽取之后,系统将删除 该进程。
2019/6/10
第二章 进程管理
30
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.2 进程的基本状态及转换
1.进程的三个基本状态
进程的三个基本状态分别是:就绪状态、运行状态、阻塞状态。 进程的三个基本状态之间的转换,可用最基本的三态模型来描述, 如图2.1所示。
图2.1 进程的三个基本状态及其转换
2.1.2 进程的基本状态及转换(续)
就绪状态(ready) 进程在内存中已经具备执行的条件,等待分配处理器。 一旦被分配处理器,进程立刻执行。一个进程在创建后处 于就绪状态。如果一个系统有多个进程都处于就绪状态, 这些处于就绪状态的进程以队列方式进行组织,这样的队 列为就绪队列。 运行状态(running) 进程已经被分配处理器并正在执行。在单处理器系统中, 一个时刻只有一个进程处于运行状态。 阻塞状态(blocked) 当正在运行的进程由于发生某事件,如:请求并等待输 入/输出过程的完成、等待进程通信之间的进程到来或进 程同步之间的进程到来等,而受到阻塞不能继续执行时, 便需要放弃处理器,从运行状态转换到阻塞状态。如果一
2.1.3 具有挂起功能的进程状态和转换(续)
在操作系统中引入进程挂起后,进程的状态发生了变化。进程 的状态有:新建状态、就绪状态、挂起就绪状态、运行状态、阻 塞状态、挂起阻塞状态、结束状态,如图2.3所示。
图2.3 引入挂起后的进程状态转换
2.1.3 具有挂起功能的进程状态和转换(续)
如果就绪状态的进程被挂起,则进程的状态转换为 挂起就绪状态。处于挂起就绪状态的进程一旦被激活, 从挂起就绪状态转换为就绪状态。 如果阻塞状态的进程被挂起,则进程的状态转换为 挂起阻塞状态。如果挂起阻塞状态的进程被激活,则进 程的状态转换为阻塞状态。如果挂起阻塞状态的进程到 阻塞的事件或I/O过程完成,被唤醒,则进程的状态转 换为挂起就绪状态,仍然被挂起。 引入挂起后,当进程新建后,如果内存足够,则进 入就绪状态;如果没有足够的内存空间,则转入到挂起 就绪状态。 所有被挂起的进程只有被激活后才能由外存到内存,
I1
C1 P12.1.1 进程的引入(续)
• 程序顺序执行特征: 顺序性:程序各程序段严格按照规定的顺序执行。 封闭性:程序运行时独占全部资源,机内各资源只受该程序控 制而改变,执行中和执行的结果不受外界因素影响。 可再现性:只要程序执行环境和初始条件相同,程序多次执行, 可获得相同结果。
2.1.2 进程的基本状态及转换(续)
进程的基本状态是对进程动态过程的简单描述。为了更加详细 的描述进程状态,需要考虑进程的创建和终止两个状态。具有创 建和终止状态的进程状态及状态转换如图2.2所示。
图2.2 具有创建和结束状态的进程状态及其转换
2.1.2 进程的基本状态及转换(续)
新建状态 新建状态是指操作系统创建进程时,进程所处的状态。 进程相关的管理表格都初始化好了,但对应的程序在外存 中,没有在内存为分配空间。 终止状态 进程达到了结束点或进程出现了严重的错误时,会被操 作系统终止或被其他有终止权的进程终止。 进入终止状态的进程不再被执行,等待操作系统完成进 程终止处理。当操作系统完成进程终止处理后,操作系统 会删除进程,收回进程所占用的资源。
2.1.2 进程的基本状态及转换(续)
进程状态之间的转换有如下几种形式: 就绪状态→运行状态:当处理器空闲时,操作系统的进程调 度程序会从就绪队列中选中一个就绪进程并分配给处理器, 此时,进程的状态便从就绪状态转换到运行状态。
运行状态→阻塞状态: 当正在运行的进程由于需要等待某些 事件的发生时,其状态需要从运行状态转换为阻塞状态。
2.1.1 进程的引入(续)
四个上述三个程序段类的作业并发执行的前趋图如下图所示:
I1
I2
I
3
I
4
C
1
C
2
C
3
C
4
P
1
P
2
P
3
P
4
T
. t1
. t2
. t3
. t4
. t5
. t6
例:观察者/报告者
观察者: begin repeat wait a car go through N=N+1;
until end 初始N=n时不同执行序列: N=N+1; Print N; Print N ; N=0 ; N=0 ; N=N+1 ; 结果各不相同: 打印n+1,N=0; 打印n,N=1;
内容
本章的主要内容如下: 进程描述 进程控制 前趋图与进程 UNIX操作系统的进程描述与控制 线程的描述与控制 Solaris操作系统中的线程
2.1 进 程 描 述
2.1.1 进程的引入
(1) 程序顺序执行与特征
• 一个较大的程序通常都由若干个程序段组成,程序在执行 时,各程序段必须按照先后次序逐个执行。程序各程序段 先后执行次序关系可用前趋图表示。 • 前趋图是一个有向无循环图,图由结点和结点间有向边组 成,结点代表各程序段操作,而结点间的有向边表示两程 序段操作之间存在的前趋关系(“→”)。两程序段Pi和 Pj的前趋关系表示成Pi → Pj,Pi是Pj的前趋,Pj是Pi的 后继。下图两个程序顺序执行,每个程序分3个功能段
2.1.1 进程的引入(续)
(3)进程的引入 • 为什么引入进程
通道技术 中断技术 多道程序设计技术
程序并发执行
并发执行出现新的特征,沿用程序的概念已经无法 分析、处理和解释这些现象
2.1.1 进程的引入(续)
•
基于上述原因,所以必须引入新的概念-进程来描述程 序的并发执行。进程这一术语最早由麻省理工学院著名 的操作系统MULTICS中提出。 • 进程定义:“可并发执行的、具有独立功能的程序在 一个数据集合上的运行过程,是操作系统进行资源分配 和调度的基本单位”。 • 进程的特征(进程与程序的区别): 动态性:动态性是进程的最基本特征,它是程序执行过程, 它是有一定的生命期。它由创建而产生、由调度而执行, 因得不到资源而暂仃,并由撤消而死亡。而程序是静态 的,它是存放在介质上一组有序指令的集合,无运动的 含义。
阻塞状态→就绪状态: 当处于阻塞状态的进程,由于等待的 事件到来而不需要再等待时,进程状态便从阻塞状态转换到 就绪状态。 运行状态→就绪状态:正被处理运行的进程会被其他进程中 断,如分时系统中,运行的时间片到,当系统采用抢占式 调度算法时,若有一个优先级比现运行进程高的进程进入 就绪状态时,而放弃处理器,进程状态从运行状态转换到就
2.1.1 进程的引入(续)
并发性:并发性是进程的重要特征,同时也是OS的重要特 征。并发性指多个进程实体同存于内存中,能在一段时 间内同时运行。而程序是不能并发执行。 独立性:进程是一个能独立运行的基本单位,即是一个独 立获得资源和独立调度的单位,而程序不能作为独立单 位参加运行、获取资源。 异步性:进程按各自独立的不可预知的速度向前推进,即 进程按异步方式进行,正是这一特征,将导致程序执行 的不可再现性,因此OS必须采用某种措施来限制各进程 推进序列以保证各程序间正常协调运行。 结构特征:从结构上,进程实体由程序段、数据段和进程 控制块三部分组成,UNIX中称为“进程映象”。 生命特征:进程有一个生命周期,有一个从创建到消亡的 过程,而程序作为一种软件资源可以长期保存。 另外,通过多次执行,一个程序可对应多个进程;通过调 用关系,一个进程可包括多个程序。
报告者: begin repeat delay a time Print N ; N=0 ; until end
Print N ; N=N+1 ; N=0 ;
打印n,N=0;
2.1.1 进程的引入(续)
• 程序并发执行特征:
间断性:程序在并发执行时,由于它们共享资源或为完成同一 项任务而相互合作,使在并发程序之间形成了相互制约的关 系。相互制约将导致并发程序具有“执行-暂仃-执行”这种 间断性活动规律。 失去封闭性:程序在并发执行时,是多个程序共享系统中的各 种资源,因而这些资源的状态将由多个程序来改变,致使程 序的运行已失去了封闭性。 不可再现性:程序在并发执行时,由于失去了封闭性,也将导 致失去结果的可再现性。即程序经过多次运行,虽然其各次 的环境和初始条件相同,但得到的结果却各不相同。 程序与程序的执行不再一一对应:一个程序可能对应多个执行 中的程序。反之亦然。
(2)程序并发执行与特征
在计算机系统支持并行操作时,如采用多道程序设计技 术,则内存中多道程序处于并发执行状态。如上述有三个程 序段的作业类,虽然每个作业有前趋关系的各程序段不能在 系统CPU和输入输出各部件并行执行,但一个作业没有前趋关 系的程序段或不同作业的程序段可以分别在CPU和各输入输出 部件上并行执行。
2.1.3 具有挂起功能的进程状态和转换
1.进程挂起及挂起的原因
对大多数操作系统来说,用创建、就绪、运行、阻塞、 结束五个状态来描述进程状态及其变化,还不能满足系统 管理的需要,还需要对进程实施“挂起”。 “挂起”是把内存中暂时不能或不需要运行的进程从 内存对换到外存,从而引起进程状态变化的过程。进程可 以在就绪状态被挂起,也可以在阻塞状态被挂起,还可以 在运行状态被挂起。 引起进程挂起的原因是多方面的,引起进程挂起的主要 原因有以下几点。 (1)系统资源的需要 当系统中所有的进程均处于阻塞状态时,没有就绪进程, 处理器处于空闲。如果这时内存空间已经被进程占满,不
2.1.4 进程的描述(续)
(1)进程标志信息 每个进程都有两种标志符:内部标志符和外部标志符。 内部标志符是操作系统为进程设置的一个唯一数字标志, 操作系统管理进程时使用进程的内部标志符。 外部标志符由字母和数字组成,是进程创建者提供的进 程名。用户访问进程时使用进程的外部标志。 进程创建时,用户给出进程的外部标志,操作系统给出进 程的内部标志。 (2)处理机状态信息 处理机状态信息是处理机的通用寄存器、指令寄存器、 程序状态字寄存器和用户堆栈指针寄存器中的内容。这些 内容反映了进程在处理机中运行时的情况,也是进程推进 的依据。当进程切换时,操作系统会将处理机中的这些信 息保留到被切换进程的进程控制块中,以便下次再被处理 机运行时使用。因此,每次进程切换,操作系统都能够保 证进程可以从上次执行处继续执行。一旦进程被分配处理