第3章 进程管理
第3章 计算机操作系统答案 进程管理
第三章进程管理一、选择题:1、下面过于程序的描述,正确的是()A. 程序执行的最终结果受到外界因素的影响,跟初始条件无关B. 程序执行的最终结果跟速度有关C. 程序是按前后次序相继地进行计算机操作序列集合,是一个静态的概念;D. 程序只能通过顺序执行2、程序的顺序执行有以下特点()A. 顺序性、封闭性、独立性B. 顺序性、封闭性、可再现性C. 顺序性、封闭性、随机性D. 顺序性、随机性、独立性3、程序A、B共享变量N,执行次A都要操作变量N,N=N+1,每执行次B都要print(N),N=0,初始值为N=0。
若执行顺序为先A后B,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 14、如上题13所述,执行先B后A,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 15、如上题所述,执行为A在B中间,起结果为.()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 1 16、下面关于进程描述完全的是()A. 进程是可以并发执行的计算部分;B. 进程是一个独立的调度活动.C. 进程是一个抽象实体.D. 进程是并发执行的过程中分配和管理资源的基本单位。
7、现代操作系统的特点()A. 程序的并发执行;B. 系统所拥有的资源被共享;C. 用户随机地使用系统资源;D. 以上三者都是。
8、进程和程序的区别是()A. 进程是一个动态的概念,而程序则是一个静态的概念;B. 进程具有并发性而程序没有;C. 进程是一个独立的调度活动.D. A和B都正确。
9、多道程序系统中的程序执行的特点为()A. 独立性、随机性、资源共享性;B. 顺序性、封闭性、可再现性;C. 顺序性、封闭性、随机性;D. 顺序性、随机性、独立性;10、描述信息所包括的下列描述不正确的是()。
A. 进程名B. 用户名C. 家族关系D. 用户资源11、现代oc的3个特点不包括()。
A. 程序并发执行B. 进程优先级C. 系统所拥有的资源共享D. 用户随即使用系统资源12、与进程优先级有关的PCB表项不包括()。
第3章进程管理PPT教学课件
2020/12/12
6
进程的特性
并发性:系统中同时存在着若干进程。 动态性:进程状态不断变化。 独立性:进程是分配资源的独立单位。 交往性:与其它进程交换信息。 异步性:以不可预知的速度向前推进。 结构性:一个进程包括三个部分:程序,
数据,进程控制块。
2020/12/12
9
进程状态及其转换
➢ 进程基本状态
➢ 就绪:拥有了除CPU之外的所有资源。 ➢ 运行:进程在CPU上运行。 ➢ 等待:进程等待某事件发生,如:读磁盘,打印、读
文件等等。
➢ 进程状态之间的转换
➢ 创建一个进程时,进程处于就绪状态。 ➢ 随着拥有(或等待)的资源不同,进程在不同的状态
4、哪些状态的转换是可能的,哪些是不可能 的。如:等待运行()。
5、一个完整的进程由程序、数据、进程控制
快组成。进程的任何状态变化都在PCB之中
反映出来。
2020/12/12
12
进程队列
处在就绪状态和等待状态的进程不止一个。 (但在任一时刻,处在运行状态的进程最多 只有一个)。
引起进程状态变化的原因也很多。
2020/12/12
7
进程控制块(PCB)
定义:描述进程外部特性的数据结构。
内容:
标识信息:进程标识符;特征;当前状态。
说明信息:拥有资源和等待资源。内存地址、 I/O设备、外存、数据区等。
管理信息:进程优先数;队列指针。
现场信息:记录进程释放处理机时的现场信 息,PSW、通用寄存器等。
作用:PCB是进程存在的唯一标志。进程 的动态、并发特性通过PCB表现出来。
2020/12/12
8
第3章进程管理
唤醒,运行等。
控制进程实现 状态的转换
第3章 进程管理
操作系统基础 19
3.4 进程控制
• 2、原语(是一段功能程序) 系统所提供的为实现上述对进程控制的各个功能程
序称为原语。 3、进程的族系
系统内只有进程才能建立进程,这种进程的父子关 系所形成的进程间的层次(家族)体系,称为进程族系, 或称进程树。
• 2、进程与程序的区别 !进程是程序的执行(动态),程序是指令集合。 !进程有生命周期,程序是永久的。 !进程含有程序,数据和状态。 !一个程序可与多个进程相对应。 !一个进程可以包括多个程序。 进程是动态的, 程序是静态的。
第3章 进程管理
操作系统基础 7
3.2 进程的状态
• 3.2.1 进程的状态及其变化
P1
•
父进程
第3章 进程管理
建立
P2
子进程
……
操作系统基础 20
3.4 进程控制
• 4、建立进程原语
1)建立进程原语:用于父进程建立子进程,即实现:
建立子进程的PCB
初始化PCB(填入参数)
分配存储空间
将子进程PCB插入就绪队列
2)建立进程原语的PASCAL语言描述:
见pp48程序
第3章 进程管理
由于系统内进程的并发(相互制约)性,将使进程的状
态发生变化。
这些约束条件为:
其上是否有正在运行的进程
1、CPU是否空闲
进程已进入内存了吗?
2、进程是否已具备了被执行的条件 外设忙则需等待
3、进程有无外部设备的要求或数据要求
4、进程间有无顺序性或制约性等
一个进程是否在另 一进程后运行?
第3章 进程管理
进程队列,进程队列是一种数据结构。 构成队列的方法:
第三章Operating_System进程管理
作业的概念主要用于批处理操作系统;而进程 的概念几乎用于所有的多道系统中。
5. 进程的组成
程序:描述进程要完成的功能。 数据:程序执行时需要的数据。 进程控制块(PCB):存储有关进程的
各种信息,操作系统根据它来控制和管 理进程。
6 进程控制块 (PCB, process control block)
进程控制信息:
– 当前状态; – 优先级(priority); – 代码执行入口地址; – 程序的外存地址; – 运行统计信息(执行时间、页面调度); – 进程间同步和通信信息;阻塞原因
资源管理信息:虚拟地址空间的现状、打开文件列 表
CPU现场保护结构:寄存器值(通用、程序计数器 PC、状态PSW)
进程与程序的组成不同:进程的组成包括程序、数据和 进程控制块(即进程状态信息)。
进程具有并发特征(独立性和异步性) ;而程序没有。 进程与程序的对应关系:通过多次执行,一个程序可对
应多个进程;通过调用关系,一个进程可包括多个程序。
4.作业与进程的区别
作业是用户向计算机提交任务的实体,被提交 后进入外存的作业等待队列。而进程是完成用 户任务的执行实体,被创建后,总有相应部分 常驻内存;
分配处理机资源;
2. 转换
进程创建(Enter):系统创建进程,形成 PCB,分配所需资源,排入暂停进程表 (可为一个队列);
调度运行(Dispatch):从暂停进程表中选 择一个进程(要求已完成I/O操作),进入 运行状态;
暂停运行(Pause):用完时间片或启动I/O 操作后,放弃处理机,进入暂停进程表;
顺序执行的特征
– 顺序性:按照程序结构所指定的次序(可能有分支或循环)
三章节进程管理1
1. 进程的当前信息:指明进程的当前状态,作为进程调度 和对换的依据.
2. 进程优先级:调度依据,是进程占有处理机的重要依据. 3. 程序开始地址:便于执行这段程序. 4. 各种计时信息:记录资源占用的信息. 5. 通信信息:保证进程之间相应的联系.
3) 资源管理信息
2020/1/15
1. 占用内存大小及其管理用数据结构指针. 2. 对换或覆盖用的有关信息. 3. 共享程序的大小及起始地址. 4. I/O设备号,传送的数据长度,缓冲区地址,缓冲区长度
1. 系统态(核心态):具有较高的特权,能执行一切指令,访问 所有的寄存器和存储区.
2. 用户态:具有较低特权的执行状态,只能执行规定的指令, 访问指定的寄存器和存储区.
进程控制:
就是系统使用一些具有特定功能的程序段来创建、撤销进程以及 完成进程状态间的转换,从而达到多进程高效率并发执行和协调 实现资源共享的目的。
进程:是一个具有独立功能的程序对某个数据集在处理 机上的执行过程和分配资源的基本单位.
程序:指一组操作序列.
数据集:接受程序规定操作的一组存储单元的内容.
进程的特征
动态性 并行性 独立性 异步性
2020/1/15
4
第三章 进 程 管 理
进程的结构特征:PCB,程序代码段,数据段
PCB
程序
数据
进程的结构特征
PCB,感知该进程的存在,故亦称PCB是进程存在的标志. 感知进程的存在
PCB的作用: 记录进程的状态或有关信息
通常在一个实际系统中,PCB的总数是固定的,该数目规定了系 统所允许拥有的进程数目,同时将所有的PCB形成一个结构数 组(或称PCB表),存放在系统的数据区中. 一个进程的PCB机构全部或部分常驻内存.
精品文档-计算机操作系统教程(第二版)(徐甲同)-第3章
第3章 进程管理 图 3.1 程序的顺序执行
第3章 进程管理
显然,程序的顺序执行具有如下特性: (1) 当顺序程序在处理机上执行时,处理机严格地顺序执行 程序规定的动作。每个动作都必须在前一动作结束后才能开始。 除了人为的干预造成机器暂时停顿外,前一动作的结束就意味着 后一动作的开始。程序和机器执行程序的活动严格一一对应。 (2) 一个程序在机器中执行时,它独占全机资源,除了初始 状态外,只有程序本身规定的动作才能改变这些资源的状态。
第3章 进程管理
2. 程序和机器执行程序的活动不再一一对应 程序和机器执行程序的活动是两个概念。程序是指令的有序 集合,是静态的概念;而机器执行程序的活动是指指令序列在处 理机上的执行过程,或处理机按照程序执行指令序列的过程。通 常把机器执行程序的活动称为“计算”。显然,“计算”是一个 动态的概念。
程序和数据集合两部分是进程存在的物质基础,即进程的实 体。
第3章 进程管理
进程控制块(或任务控制块)包含了进程的描述信息和控制信 息,是进程的动态特性的集中反映。不同的操作系统其进程控制 块的内容及信息量也不同。在小型机、微型机等比较简单的操作 系统中,PCB只占用十几个单元;而在一些大、中型机的操作系 统中,PCB的内容可能占用几十甚至上百个单元。
第3章 进程管理
直接制约关系通常是在彼此之间有逻辑关系的两个并发执行 的程序之间发生的。例如,一个正在执行的程序段需要另一程序 段的计算结果,只有当另一程序段在某一时刻送来计算结果时, 正在执行的程序段才能继续执行下去。否则它就一直等待,无法 执行。两个并发程序段以间接方式发生制约关系是由竞争使用同 一资源引起的。得到资源的程序段可以继续执行,得不到资源的 程序段就只好暂停等待。
第3章 进程管理
第3章 进程管理
引入进程带来的问题
• 增加了空间开销:为进程建立数据结构。 • 额外的时间开销:管理和协调、跟踪、 填写和更新有关数据结构、切换进程、 保护现场。 • 更难控制:协调多个进程竞争和共享资 源如何预防;解决多个进程因为竞争资 源而出现故障。 • 处理机的竞争尤为突出。
进程的定义(二)
• 进程是具有独立功能的可并发执行的程 序在一个数据集合上的运行过程,是系 统进行资源分配和调度的独立单位。或 者说,“进程”是进程实体的运行过程。
进程的概念
• 定义:可并发执行的程序,在一个数据集合上 的运行过程。 • 进程是系统进行资源分配的基本单位,又是可独 立运行的基本单位。 • 申请/拥有资源 • 程序:静态概念,是指令和数据的集合,可长 期存储。 • 进程与程序的对应关系:一个程序可以对应一 个进程或多个进程。一个进程可以对应一个程 序,或者一段程序。
S1
例
S4 • 例如,有语句如下: S3 S1: a=x+y; S2: b=z+1; S2 S3: c=a-b; S4: w=c+1; • 它们的读集和写集分别如下: R(S1)={x,y},W(S1)={a} R(S2)={z},W(S2)={b} R(S3)={a,b},W(S3)={c} R(S4)={c},W(S4)={w} • 可见S1和S2两条语句满足Bernstein条件,它们可以并发执行。而 S1和S3则不满足条件,因为R(S3)∩W(S1)={a},所以不能并发执 行。S2和S3也不能并发执行,因为W(S2)∩R(S3)={b};同理,S3 和S4也不能并发执行,因为R(S4)∩W(S3)={c}。这4条语句的前趋 图
进程的特征
• 动态性:进程是程序的一次执行过程,因此,动态性 是进程最基本的特性。动态性还表现为:“它由创建 而产生,由调度而执行,因得不到资源而暂停执行, 以及由撤销而消亡”。 • 并发性:这是指多个进程实体同存于内存中,能在一 段时间内同时运行。并发性是进程的重要特征。 • 独立性:这是进程实体是能独立运行的基本单位,同 是也是系统中独立获得资源和独立调度的基本单位。 • 异步性:这是指进程按各自独立的、不可预知的速度 向前推进。 • 结构特征:从结构上,进程实体是由程序段、数据段 及进程控制块三部分组成,有人把这三部分统称为 “进程映像”
高中信息技术 第3章进程管理课件
返回本节目录
3.6.2 进程调度算法
• • • • 1.先来先服务 2.轮转调度 3.分级轮转法 4.优先数法
下一页
• 1.先来先服务
• 这种调度算法按照进程进入就绪队列的先 后顺序来调度进程,到达得越早,其优先 数越高。获得处理机的进程,未遇到其他 情况时,一直运行下去,系统只需具备一 个先进先出的队列,在管理优先数的就绪 队列时,这种方法是一种最常见策略,并 且在没有其他信息时,也是一种最合理的 下一页 策略。
返回本节目录 4.系统开销:由于在创建或撤消进程时,系统都 要为之分配或回收资源,如内存空间、I/O设备等。
•
•
3.5.3 用户级线程和内核支持线 程
• 比较两种线程的优缺点 : • 1.线程的调度与切换速度:内核支持线程的调度和 切换与进程的调度和切换十分相似。 • 2.系统功能调用:当传统的用户进程调用一个系统 功能调用时,要由用户态进入核心态,用户进程将被 阻塞。当内核完成系统调用而返回时,才将该进程唤 醒,继续执行。 • 3.线程执行时间 :对于只设置了用户级线程的系统 ,调度是以进程为单位进行的。在采用轮转调度算法 时,各个进程轮流执行一个时间片,这对诸进程而言 似乎是公平的。
进程的概念 进程的实体、状态及状态的演变
进程的控制与调度
进程之间的关系协调
进程的通信
死锁问题及解决
返回本章首页
3.1 引言
• 处理机管理是操作系统的基本管理功能之一, 它所关心的是处理机的分配问题。也就是说把 CPU(中央处理机)的使用权分给某个程序, 通常把这个正准备进入内存的程序称为作业, 当这个作业进入内存后我们把它称为进程。处 理机管理分为作业管理和进程管理两个阶段去 实现处理机的分配,常常又把直接实行处理机 时间分配的进程调度工作作为处理机管理的主 要内容。
操作系统 第3章 进程管理 PV操作专题
例4:桌上有一只盘子,最多可以容纳M 只水果,每次只能放入或取出一个水果。爸爸 专向盘子中放苹果(Apple),妈妈专向盘子 中放桔子(Orange),两个儿子专等吃盘子中 的桔子,两个女儿专等吃盘子中的苹果。用P、 V操作来实现爸爸、妈妈、儿子、女儿之间的 同步与互斥关系。
解答:设信号量place、apple、 orange 和mutex分别表示盘子里能放水果的数目、盘 子里已放入的苹果数目和盘子里已放入的桔子 的数目和对盘子的互斥访问,其初值分别为m、 0、0和1,其同步与互斥关系描述如下: int place=m; int apple=0; int orange=0; int mutex=1;
解法1: (1)因阅览室有100个座位可容纳100个读 者同时阅读,基于这种并行性,因此可为每一 个读者设立一个进程。因为任何读者进出阅览 室都做相同的工作(登记阅读和取消登记)。 所以对于100个读者进程可以共同对应一个程 序。此程序功能是入室时查表登记,入室阅读 和离室时查表取消登记。
(2)设置信号量(S位)来表示空座位个 数,初值为100,用来控制进入阅览室的读者 进程个数不超过100。 设置信号量(S表)来 表示被共享的登记表这一临界资源。初值为1, 用来防止两个以上读者进程同时查表。 每个进程和其他进程之间的同步关系如下:
monkeygroup2( ) { while(1) {P(m2mutex); if m2count=0 then P(waymutex); m2count=m2count+1; V(m2mutex) …… P(m2mutex); m2count=m2count-1; if m2count=0 then V(waymutex); V(m2mutex) } }
int empty1=m; int empty2=n; int full1=0; int full2=0; int mutex1=1; int mutex2=1; main() { PA(); PB(); PC(); }
第三章进程管理6(死锁问题、线程)-精品文档
进程死锁
4、解除死锁: 与检测死锁相配套,用于将进程从死锁状态
解脱出来。 常用的方法是撤消或挂起一些进程。以回收
元个数。 Full—消费者信号量,记录产品个数。 Mutex—互斥信号量。
进程死锁
deposit( data)
remove (data)
begin
begin
p(avail)
p(full)
p(mutex)
p(mutex)
送数据入缓冲区某
取缓冲区中某单元
单元
数据
v(full)
v(avail)
v(mutex)
vቤተ መጻሕፍቲ ባይዱmutex)
end
end
进程死锁
在前述若pv操作使用不当,会引起死锁。把生产 者进程两个p操作次序调换一下,先执行P (mutex),后执行P(avail)
P(mutex) 互斥
P(avail) 判断 缓冲区满,不能送,从消费者 执行。
那么当缓存区满且消费者此时不再临界区中, 执行到互斥P(mutex)后,消费者进程想进 入临界区,但被阻塞在外。
注:如果死锁发生,会浪费大量系统资源,甚至 导致系统崩溃
进程死锁
产生死锁的原因
1 竞争资源。当系统中供多个进程所共享的资 源,不足以同时满足它们的需要时,引起它们 对资源的竞争而产生死锁;
2 进程推进的顺序不当 。进程在运行过程中, 请求和释放资源的顺序不当,导致进程的死锁。
进程死锁
竞争资源
1 竞争非剥夺性资源:
进程死锁
2、避免死锁: 不事先采取限制去破坏产生死锁的条件,
而是在资源的动态分配过程中,用某种 方法去防止系统进入不安全状态,从而 避免死锁的发生。
操作系统 第三章 进程管理
第一章 操作系统引论
3)
在PCB中还存放一些与进程调度和进程对换有关的信 息,包括: ① 进程状态,指明进程的当前状态, 作为进 程调度和对换时的依据;② 进程优先级,用于描述进程使 用处理机的优先级别的一个整数, 优先级高的进程应优先 获得处理机; ③ 进程调度所需的其它信息,它们与所采 用的进程调度算法有关,比如,进程已等待CPU的时间总 和、 进程已执行的时间总和等;④ 事件,是指进程由执 行状态转变为阻塞状态所等待发生的事件,即阻塞原因。
3.1.4 进程的特征与状态
1. 进程的特征和定义 1) 结构特征 2) 动态性 3) 并发性 4) 5) 异步性
第一章 操作系统引论
(1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系 统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统OS中的 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位”。
第一章 操作系统引论
4)
进程控制信息包括:① 程序和数据的地址, 是指进 程的程序和数据所在的内存或外存地(首)址,以便再调度 到该进程执行时,能从PCB中找到其程序和数据;② 进程 同步和通信机制,指实现进程同步和进程通信时必需的机 制, 如消息队列指针、信号量等,它们可能全部或部分地 放在PCB中; ③ 资源清单,是一张列出了除CPU以外的、 进程所需的全部资源及已经分配到该进程的资源的清单; ④ 链接指针, 它给出了本进程(PCB)所在队列中的下一个 进程的PCB的首地址。
第一章 操作系统引论
2)
在进程运行期间,由于出现某些错误和故障而迫使进程 终止。这类异常事件很多,常见的有:① 越界错误。这是指 程序所访问的存储区,已越出该进程的区域; ② 保护错。进 程试图去访问一个不允许访问的资源或文件,或者以不适当 的方式进行访问,例如,进程试图去写一个只读文件; ③ 非 法指令。程序试图去执行一条不存在的指令。出现该错误的 原因,可能是程序错误地转移到数据区,把数据当成了指令; ④ 特权指令错。用户进程试图去执行一条只允许OS执行的指 令; ⑤ 运行超时。进程的执行时间超过了指定的最大值; ⑥ 等待超时。进程等待某事件的时间, 超过了规定的最大值; ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如, 被0除;⑧ I/O故障。这是指在I/O过程中发生了错误等。
第3章 进程管理习题
一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在()进行的。
A . 同一时刻B. 同一时间间隔内C. 某一固定时刻D. 某一固定时间间隔内2、引入多道程序技术后,处理机的利用率()。
A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了3、顺序程序和并发程序的执行相比,()。
A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B. 多道程序C.并发程序D. 并行程序5、进程和程序的本质区别是()。
A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。
进程具有[1]、[2]、调度性、异步性和结构性等基本特征。
进程是一次执行过程,具有生命期体现了进程的[1]特征。
进程由程序段、[3]、[4]组成,其中[4]是进程在系统中存在的唯一标识。
供选择的答案:[1][2] A、动态性B、静态性C、共行性D、并发性E、可执行性F、易用性[3] A、过程B、数据C、进程标识符D、函数[4] A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1]进入[2]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3],这个过程是由[4]来完成。
供选择的答案:[1][2][3] A、就绪状态B、静止状态C、阻塞状态D、运行状态[4] A、进程控制程序B、资源分配程序C、进程调度程序D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的()系统,根据它而感知进程的存在。
A.进程状态字B. 进程优先数C.进程控制块D. 进程起始地址9、下列进程状态的转换中,哪一个是不正确的()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明了某些程序段必须在其它程序段之前完成, 此外从图中可以看出: I2和C1;I3和C2和P1;I4和C3和P2;是重叠的。 程序的并发执行: 指两个以上的程序要么同时,要么相互穿插地执行,它们在执行的时间 上是重叠的。 2. 资源共享
所谓资源共享是指系统中的硬件资源和软件资源不再为单个用户程序
2. 细分的进程调度状态
超过时限 低优先 运行 5 00 ms 级就绪 运行 缺页 因页面 阻 塞
s
运 行
运 10 0 行 ms
50 m
中优先 级就绪
I/O 完 成
因盘带 阻 塞
高优先 级就绪
I/O 完 成 I/O 完成
因 I/O 阻 塞
事件到达 活跃 就绪 活跃 阻塞
度 完 调 用 片 间 时
配和调度的一个独立单位。
(5)进程是进程实体的一次活动。
我国1978年在庐山召开的全国OS研讨会 上将“进程”定义为:
进程是一个具有一定独立功能的程序关于某个数据集合的 一次运行活动。
一个程序为实现不同的任务可以同 时 有多次运行活动,每个运行活动分 别 作为不同的进程
3、系统化定义:
具有特定功能的程序段关于某个数据集合在处理机上的一次动态执ຫໍສະໝຸດ 3.2.2 进程的调度状态
1. 进程的基本调度状态 (1) 就绪状态。
调 度
运行
I/O 求 请 时 间 片 用 完
(2)运行状态。 (3)阻塞状态。
就绪 I/O 完成
阻塞
运行状态:获得资源正在处理机上运行的进程;
就绪状态:获得了除处理机之外的所有资源,一旦得
到处理机即可运行。
阻塞状态:运行中的进程因等待某一事件而停止运行。
observer begin L1;…… observe next car; count∶=count+1; go to L1 end reporter begin L2: …… print count; count∶=0 go to l2 end coend end
操作系统原理
The Principle of Operating System 西安石油大学计算机学院
操作系统原理课程组
Xi’an ShiYou University School of Computer Science September 2015
第三章 进程管理
学习要点
■ 进程概念---------------------------------------基础
■程序的执行结果与其执行速度无关。 上述三点概述为封闭性和可再现行。
3.1.2 程序的并发执行和资源共享
1.程序的并发执行
i1
c1
p1
i2
c2
p2
i3
c3
p3
t
t
t
t
t
理论上执行时间缩短为5 t 。 在该例中 I1先于C1和I2; C1先于P1和C2; P1先于P2;
I2先于C2和I3……。
(5)进程资源清单:
(6)进程优先级: (7)进程同步与通信机制:
(8)进程所在PCB的链接字 :
(9)与进程有关的其他信息:
③ 进程的组成
(1)程序:完成特定功能的指令序列; (2)数据:程序执行时所用到的数据集; 以上是进程存在的物质基础,即进程的实体。
(3)进程控制块(PCB):进程的标识和存在的标志。
2.定理
如果两个程序P1和P2满足下述条件,它们便能并 发执行,否则不能。
(P1)∩W(P2)∪R(P2)∩W(P1)∪W(P1)∩W(P2)={}
即当两个程序的读集与写集的交集以及写集与写集的 交集都为空集时,它们可以并发执行,否则不行。该定理 是程序并发执行的条件,是 Bernstein 在 1966 年提出的,故 称Bernstein条件。
它是进程实体的一部分,是进程存在的唯一标志,也是操作系统中最重
要的结构体类型的数据结构。
PCB中存放着操作系统所需的用于描述进程的当前情况以及控制进程运
行的全部信息。
①.PCB的作用
标识进程的存在:系统创建进程时,就为之创建一个PCB;进程
结束时,系统又回收其PCB,进程便随之消亡。
为系统提供可并发执行的独立单位:PCB使一个在多道程序环
概念;而机器执行程序的活动是指指令序列在处理机上的执行过程,或处理机按
照程序执行指令序列的过程。 通常把机器执行程序的活动, 称为“计算”。 3. 并发程序间的相互制约 资源共享和程序的并发执行(或称并发活动)使得系统的工作情况变得相当错综 复杂,尤其表现在系统中并发程序间的相互依赖和制约方面。 两种制约方式: ① 直接制约:有逻辑关系的两个并发程序因一个等待另一个的结果; ② 间接制约:由竞争使用同一资源而引起,得到者运行,得不到者等待。
3.2 进程的表示和调度状态
3.2.1 进程的表示
1. 进程的组成
PCB 程序 程序 PCB 共 享 程序段
数据
数据
(a )
(b )
图 3.3 进程的表示
2、进程控制块——PCB
(Process Control Block)
PCB是系统为了描述和控制进程的运行而为进程定义的一种数据结构,
由于观察者和报告者各自独立地并行工作, count∶=count+1 的 操作,既可以在报告者的print count和count∶=0 操作之前,也可以 在其后,还可以在print count和count∶=0 之间。即可能出现以下三 种执行序列: ■ count∶=count+1; print count; count∶=0; ■ print count; count∶=0; count∶=count+1; ■ print count; count∶=count+1, count∶=0。
挂 起
等 待 事 件
挂 起
激 活
运行
创建
静止 就绪
挂 起
静止 阻塞
激 活 活 跃 静 止
事件到达
3.3 进 程 的 控 制 3.3.1 进程的控制机构
1.操作系统的内核
通常将一些与硬件密切相关的模块,例如,中断处理程序、各 种常用设备的驱动程序,以及运行频率较高的模块等安排在紧靠硬件 的软件层中,并将它们常驻内存,以提高操作系统运行效率,并对它
作,要么全不作。
即:原子操作是不可分割的,它是机器指令的延伸。
现代操作系统常采用屏蔽中断的方法来保证原语在执行时的 不可分割性,这种原子性对于解决进程同步互斥问题是非常 重要的。
(2)进程管理
进程管理的全部或大部分功能都在内核中,这主要是因为这些功能模
块的运行频率较高,例如,进程调度与分派、进程的创建、进程的撤 消等,或是因为它们为多种功能模块所调用,例如,实现进程的同步
设有观察者和报告者并行工作。在一条单向行驶的公路上经常有卡 车通过。观察者不断观察并对通过的卡车计数。报告者定时地将观察者
的计数值打印出来,然后将计数器重新清“0”。此时我们可以写出如下
程序,其中Cobegin和Coend表示它们之间的程序可以并发执行。 begin count∶integer; count∶=0; cobegin
们加以特殊的保护。上述这一部分程序称为操作系统内核。
操作系统的内核是计算机硬件扩充的第一层软件,是在核心态运 行的操作系统程序。
2.内核中与进程控制有关的机构
(1)原语操作: 原语本身是由若干条指令构成、用于完成特定功能的一个过程。 原子操作:一个操作中的所有动作,与一般过程的区别:要么全
■ 进程的表示和调度-------------------------------平台
■ 进程控制---------------------------------------核心 ■ 进程通讯---------------------------------------载体 ■ 死锁-------------------------------------------结果
和进程通信的原语等。此外,内核中的进程管理,还需要管理好进程
假设在开始某个循环之前,count的值为n,则在完成一个循环后,对上述 三个执行序列打印机打印的count值和执行后的count值如下表所示: 其中前两个未丢失信息,而第三个丢失了信息。
执行序列 打印的值 执行后的值
(1)
(2)
(3)
n+1
0
n
1
n
0
2. 程序和机器执行程序的活动不再一一对应 程序和机器执行程序的活动是两个概念。程序是指令的有序集合,是静态的
学习重点
■ 进程的概念和组成 ■ 进程调度 ■ 原语及进程控制
■ 进程的同步与互斥
■ 死锁对策 熟悉进程概念,了解进程组成,掌握调度算法,熟练死锁处理。
3.1 为什么要引入进程的概念
3.1.1 从顺序程序设计谈起
结构化程序有三种基本结构 : 顺序结构 分支结构 循环结构
i1 c1 p1 i2 c2 p2 i3 c3 p3
所独占, 而由几道用户程序共同使用。 程序并发执行和资源共享之间互为依存条件。一方面, 资源共享是以
程序并发执行为条件的,因为若系统不允许程序并发,也就不存在资源共
享问题;另一方面,若系统不能对共享资源进行有效的管理,也就降低了 程序并发执行的效果。
3.1.3 程序并发执行的特性
1. 失去了程序的封闭性
境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与 其他进程并发执行的进程。没有为之建立PCB的程序是不能并发执行 的。
为系统控制和管理进程提供所需的一切信息。
②PCB中的信息