第三章进程管理-

合集下载

第三章进程管理4(同步和互斥1)

第三章进程管理4(同步和互斥1)

1
进 程 管 理
执行
挂起
激活 活动就绪 挂起 释放 激活 活动阻塞 静止阻塞 释放 静止就绪
挂起
2
进 程 管 理
创建和撤销 阻塞和唤醒 挂起和激活
3
进 程 管 理
3.5 进程的同步与互斥
进程的同步和互斥机制的主要任务:控 制并发执行的诸进程之间能有效地共享 和相互协作,同时使并发执行的程序仍 具有可再现性。 进程互斥 进程同步 利用信号量机制解决具体问题
9
进 程 管 理
一种简便的实现方法是: 一种简便的实现方法是:
lock(x)= begin local v repeat v x until v=1 (临界资源成为可用) 临界资源成为可用) 临界资源成为可用 x 0 end
10
进 程 管 理
不过,这种方法是不能保证并发进程互斥执 不过,这种方法是不能保证并发进程互斥执 行所要求的准则( 行所要求的准则(3)的(只允许一个进程进入 临界区)。为了解决这个问题, )。为了解决这个问题 临界区)。为了解决这个问题,有些机器在硬件 中设置了“测试与设置(test set)指令 指令” 中设置了“测试与设置(test and set)指令”。 此外,有一点需要注意的是: 此外,有一点需要注意的是:在系统试验时锁定 key[S]总是设置在公有资源所对应的数据结构 为key[S]总是设置在公有资源所对应的数据结构 中的。 中的。
23
进 程 管 理
s.value的物理含义
当s.value>0数值时,表示某类可用资源的数量。 而当s.value<0数值时,表示该类资源已分配完。 若有进程请求该类资源,则被阻塞,其绝对值 等于等待该类资源的进程数。 每次的P(s)操作,意味着进程请求分配该类资 源的一个单位资源。相反,执行一次V(s) 操作 意味着进程释放相应资源的一个单位资源。当 值小于等于0时,表明有进程被阻塞,需要唤 醒。

进程管理

进程管理
int i;
{
Flag[i]=FALSE;
}
process i;/*i-0 or i=1*/
……………..
Enter-crtsec(i);/*进入临界区*/
IN CRTICAL SECTION
Leave-crtsec(i);/*离开临界区*/
……………
【解答】
一次仅允许一个进程使用的资源称为临界资源,在进程中对于临界资源访问的程序段称为临界区。从概念上讲,系统中各进程在逻辑上是独立的,他们可以按各自独问题的共行进程,它们之间必须互相排斥,以保证不会同时进入临界区。这种算法是不安全的。因为,在进入临界区的操作Enter-crtsec( )不是一个原子操作,如果两个进程同时执行完其循环(此前两个flag均为FALSE),则这两个进程可以同时进入临界区。
分析:本题的第一部分是检查考生对基本概念的记忆与理解,在本题的分数中占的比较小,是解答本题的基础。题目的第二部分时一个典型的生产者—消费者问题,其中的难点在于PB既是生产者优势消费者,处理不好可能造成同步错误或死锁。
【解答】
P、V操作可用下面的伪码进行描述:
PROCEDUREP(S)
BEGIN
Lock out interrupts;
(3)一个进程可以执行一个或几个程序;反之,同一个程序可能由几个进程同时执行。
(4)进程具有并发性,它能真实地描述并发执行的活动,而程序不具备这种特征。
(5)进程具有创建其它进程的功能,程序不具备这种功能。
(6)进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位
3操作系统中为什么引入进程?
4.唤醒原语(active primitive)
当阻塞队列中的进程等待的事件发生时,都必须调用唤醒原语,以便把等待进程从阻塞中解脱出来获得重新参加调度的资格。

第三章进程管理 - PowerPoint 演示文稿

第三章进程管理 - PowerPoint 演示文稿

浙江教育学院 信息学院
3.6.3用P,V原语操作实现同步

解:由题意可知,进程PA调用的过程deposit(data)和进 程PB调用的过程remove(data)必须同步执行,因为过 程deposit(data)的执行结果是过程remove(data)的执 行条件,而当缓冲队列全部装满数据时,remove(data) 的执行结果又是deposit(data)的执行条件,满足同步 定义。从而,我们按以下三步描述过程deposit(data) 和remove(data): 1)设Bufempty为进程PA的私用信号量,Buffull为进 程PB的私用信号量; 2)令Bufempty的初始值为n(n为缓冲队列的缓冲区个 数),Buffull的初始值为0, 3)描述:

浙江教育学院 信息学院
信号量和P,V原语

P原语
申请资源的进程如果s<0,进 程自我阻塞,因此进程放弃 了CPU。 图3.12P原语操作功能
浙江教育学院 信息学院
信号量和P,V原语

V原语
释放资源的进程A,如果 有进程B在等待资源,A要 唤醒B进程后再返回原进 程程序执行,如果原进程 程序执行完毕,则把CPU 交给进程调度程序。
浙江教育学院 信息学院
3.7进程通信

进程通信(IPC, Inter-Process Communication)


在进程间传送数据。 操作系统可以被看作是各种进程组成的,例如用户 进程、计算进程、打印进程等。这些进程都具有各 自独立的功能,且大多数被外部需要而启动执行。 一般来说,进程间的通信根据通信的内容可以划分 为两种:
3.6同步的概念

并发进程同时访问公有数据和公有变量引出了 互斥的概念.现在研究进程的合作关系.

第3章-进程管理与调度详解

第3章-进程管理与调度详解
操作系统讲义
孙清
房地产E网 西安财经学院
LOGO
Contents
课程内容安排
第一章 第二章 第三章 第四章 第五章 第六章 第七章
操作系统概述 系统启动及用户界面 进程管理与调度 进程同步 存储器管理 文件管理 设备管理
房地产E网 西安财经学院
管态(核心态):系统态 目态:用户态
状态之间的转换
• 目态→管态:唯一途径是中断 • 管态→目态:设置程序状态字PSW
房地产E网 西安财经学院
LOGO
进程控制块(PCB)
PCB:用于存放管理进程运行的必要信息。 PCB处于核心段,用户不能直接访问和修改PCB。 OS把所有PCB组织在一起,放在固定的内存区域, 构成PCB表。
房地产E网 西安财经学院
LOGO
进程的状态迁移
房地产E网 西安财经学院
LOGO
3.2 进程的控制
进程的控制使用原语实现。
原语(primitive)是在管态下运行,执行期间不 允许被中断。
原语的实现方法是以系统调用方式提供原语接口, 采用中断屏蔽方式来实现原语功能。
进程的控制原语包括:
创建、撤销、阻塞、唤醒、挂起、激活。
房地产E网 西安财经学院
LOGO
1、进程的创建
父进程创建子进程时,系统从空PCB池中取一个 空PCB,并在进程表中增加一项; 为新进程分配地址空间,传递环境变量,构造共 享地址空间; 查找辅存,将新进程正文装到内存;
LOGO
4、进程的唤醒 当进程所等待的事件发生,由系统进程或 事件发生进程调用唤醒原语。
将被唤醒的进程置为就绪态,并将其PCB 加入相关的就绪队列。
房地产E网 西安财经学院

操作系统进程管理

操作系统进程管理
第三章 进程管理
Process Management
处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的 分配问题。也就是说把CPU(中央处理机)的使用权分给某个程序。
通常把正准备进入内存的程序称为作业,当这个作业进入内 存后我们把它称为进程。处理机管理分为作业管理和进程管 理两个阶段去实现处理机的分配,常常又把直接实行处理机 时间分配的进程调度工作作为处理机管理的主要内容。
3、系统进程在管态下活动,而用户进程则在用户态 (目态)下活动。
另一种分类:计算进程,I/O进程等 注意:在UNIX系统中没有这样对进程进行分类。
动。 (4)在进程调度中,系统进程的优先级高于用
户进程。
2.5 进程的类型与区别
系统进程与用户进程的区别:
1、系统进程被分配一个初始的资源集合,这些资源 可以为它独占,也能以最高优先权的资格使用。用 户进程通过系统服务请求的手段竞争使用系统资源;
2、用户进程不能直接做I/O操作,而系统进程可以 做显示的、直接的I/O操作。
2.3进程的特征
5)结构特征:为能正确的执行并发,为每一个进程配置
了一个数据结构,称为进程控制块(PCB)。则一个进 程实体就由数据段、程序段、PCB三部分构成。
• 进程实体 = 数据段+程序段+PCB
PCB
私有 数据块
程 序 段
进程的结构
• 程序和进程不一定具有一一对应的关系。
2.4 与程序的区别
2、进程是一个独立的运行单位,能与其它进程并行(并 发)活动。而程序则不是。
3、进程是竞争计算机系统有限资源的基本单位,也是进 行处理机调度的基本单位。
4、一个程序可以作为多个进程的运行程序,一个进程也 可以运行多个程序。

chap进程管理

chap进程管理

3) 初始化进程控制块
初始化标识符信息(填入)、处理机的状态信息(指令指 针, 栈指针)和控制信息(状态,优先级...)
1) 设置相应的链接
如: 把新进程加到就绪队列的链表中
3.25
计算机操作系统
第三章 进程管理
二、 进程的终止(撤消) 1. 进程何时终止? 1) 正常结束 批处理系统中,进程已运行完成遇到 Halt 指令 分时系统中, 用户退出登录 2) 异常结束 本进程发生出错和故障事件 存储区越界、保护性错(如:写只读文件)、特权 指令错、非法指令(如:程序错转到数据区)、算 术运算错、运行超时、等待超过时、I/O 失败、 3) 外界干预 操作系统干预、父进程请求、父进程终止
N的值
1
1
1
3.9
1
2
2
计算机操作系统
第三章 进程管理
资源共享 系统中硬件和软件资源不再为单个用户程序所独占,而
由几个用户程序共同使用。 程序并发执行和资源共享是现代操作系统的基本特性,它 们之间互为依存。 并发的特征 1.程序结果的不可再现性:并发程序执行的结果与其执行 的相对速度有关,是不确定的 2.在并发环境下程序的执行是间断性的:执行——停—— 执行 3.程序和机器执行程序的活动不再一一对应 4.并发程序间的相互制约
End;
end;
int N=1; 是AA和BB都能访问的外部公共变量,这两 个程序在并发执行, N:=N+1;可分解为3条机器指令, 它们的执行顺序不同有可能导致N的值结果不同。
3.8
计算机操作系统
第三章 进程管理
(a) 顺序 执行
时间 程序A
程序B
T0 A←N 1
T0 A←N
T1 A←A+1 1

第三章Operating_System进程管理

第三章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)

第三章进程管理习题一. 单选题1. UNIX操作系统的进程控制块中常驻内存的是()。

A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。

A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。

A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。

A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。

A.进程通过进程调度程序而获得CPU。

B.优先级是进行进程调度的重要依据,一旦确定不能改变。

C.在单CPU系统中,任一时刻都有1个进程处于运行状态。

D.进程申请CPU得不到满足时,其状态变为等待状态。

6.从资源管理的角度看,进程调度属于()。

A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。

A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。

A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。

A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。

A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。

A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

挂起某个标识符的进程
1. 挂起原语的方式
将某个指定标识符的进程及其全部或部分子孙挂起.
挂起用以保存N进程的PCB副本的内存区,以备参考.
Procedure suspend(n,a)
Begin
i=get internal name(n);
s=i.status;
if i.status=“running” stop(i); a=copy pcb(i); /* 相应的PCB保留起来以便查看是属于哪一种挂起.
END
2020/11/16
22
第三章 进 程 管 理
2.进程的终止过程
1. 根据被终止进程的标识符,从PCB链表中检索出该进程的PCB,从中读 出该进程的状态。
2. 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标 志为真,用于指示该进程被终止后应重新进行调度。
3. 若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成 为不可控的进程。
进程:一段功能完整的程序在处理机上的执行过程。
2020/11/16
3
第三章 进 程 管 理
3.1.3 进程的定义
进程:是一个具有独立功能的程序对某个数据集在处理 机上的执行过程和分配资源的基本单位.
程序:指一组操作序列.
数据集:接受程序规定操作的一组存储单元的内容.
进程的特征
动态性 并行性 独立性 异步性
2020/11/16
19
第三章 进 程 管 理
3.4.2 . 进程的终止 正常结束
1. 引起进程终止的事件 异常结束
外界干预
Procedure Destroy(n) begin
sched=false; i=获取n进程内部名 kill(i); if (sched) schedure else continue(当前正在执行的进程); end
第三章 进 程 管 理
第三章进程管理-
第三章 进 程 管 理
3.1 进程的基本概念
3.1.1 进程概念的引入
程序A
C


C


程序B
C
时间片用完
中断
2020/11/16
2
可再入程序
第三章 进 程 管 理
3.1.2 进程与程序的区别
① 进程是动态的,程序是静态的 ② 进程是暂时的概念,程序是永久的概念 ③ 进程有自己的数据结构-PCB ④ 进程和程序不是一一对应的。
2020/11/16
4
第三章 进 程 管 理
进程的结构特征:PCB,程序代码段,数据段
PCB
程序
数据
进程的结构特征
2020/11/16
5
第三章 进 程 管 理
2020/11/16
进程与程序的区别与联系
进程
程序
动态
静态
暂时
永久
并行
串行(顺序)
PCB 多个
一个
一个
多个
6
第三章 进 程 管 理
3.2 进程的基本状态
/* 置i的家族指针为空 */
i.progency=i;
/* 把i填入其父进程PCB的家族指针处 */
i.state=RQ;
/* 置i所在状态队列首指针 */
insert(RQ,i);
/* 把i进程插入到RQ对尾 */
End 2020/11/16
21
第三章 进 程 管 理
Procedure kill(i)
原语(Atomic Operation):
系统态下执行的某些具有特定功能的程序段。
2020/11/16
18
第三章 进 程 管 理
3.4.1. 进程的创建
. 创建原语
为此进程分配进程控制块 为此进程分配资源
把此进程插入到就绪队列中,等待CPU的调度
. 引起创建进程的事件
用户登陆 作业调度 提供服务 应用请求
1. 系统态(核心态):具有较高的特权,能执行一切指令,访问 所有的寄存器和存储区.
2. 用户态:具有较低特权的执行状态,只能执行规定的指令, 访问指定的寄存器和存储区.
进程控制:
就是系统使用一些具有特定功能的程序段来创建、撤销进程以及 完成进程状态间的转换,从而达到多进程高效率并发执行和协调 实现资源共享的目的。
begin
if i->status=“running”
begin
stop(i);
sched=true;
end
remove(i->state,i);将被撤销进程i从i.state所指示的队列中去掉.
for all sЄ(i.progency) do kill(s);
for all rЄ(i.mainstoreUi.resoure) do
例:UNIX进程上下文
用户级上下文
寄存器上下文 系统级上下文
2020/11/16
13
第三章 进 程 管 理
*进程的组成
进程=PCB+程序(代码和数据)
进程的表记
PCB
程序
PCB
代码
程序
2020/11/16
14
第三章 进 程 管 理
*PCB的组成方式
在一个系统中,通常可以拥有数十个以及若干个PCB, 为了能对他们进行有效的管理,应当用适当的方式将 他们组织起来。
2020/11/16
25
第三章 进 程 管 理
. 激活原语的激活方式 激活指定标识符的进程
激活某进程及其子孙
Procedure active(n)
Begin
i=get internal name(n);
if i.status=“readys”
i.status=readya
else
பைடு நூலகம்
i.status=blocka;
执行指针 就绪表指针 阻塞表指针
2020/11/16
就绪索引表 阻塞索引表
按索引方式组织PCB
P CB1 P CB2 P CB3 P CB4 P CB5 P CB6 P CB7
17
第三章 进 程 管 理
3.4 进程控制
为了防止OS及关键数据如PCB等,受到用户程序有意或无意的破坏,通 常将处理机的执行状态分为:系统态和用户态.
• 等待态:等待某个事件的完成时进程所处的状态.除了 CPU之外其他的资源也没有得到满足
2020/11/16
8
第三章 进 程 管 理
撤销
进程调度策略
运行
等待某一事件发生
创建
就绪
等待
等待事件结束
进程的三种基本状态及其转换
2020/11/16
9
第三章 进 程 管 理
3.3 进程的描述与管理
• 进程控制块
系统中进程队列分类:就绪队列,等待队列,运行队列。 就绪队列:整个系统一个 等待队列:每一个等待事件一个。 运行队列:单机系统中整个系统一个。
PCB目前常用的组织方式:链接方式;索引方式
2020/11/16
15
第三章 进 程 管 理
1. 链接方式
把具有相同状态的PCB,用其中的链接字链接成一个队列.
及所有设备的有关数据结构指针. 5. 指向文件系统的指针及有关标识符.
11
第三章 进 程 管 理
4) CPU现场保护信息(进程上下文)
当处理机被中断时,各种寄存器的内容都必须保存在 被中断进程的PCB中,以便在该进程重新执行时,能从 断点继续执行.
1. 通用寄存器的用户 2. PC 3. PSW :含状态信息(条件码的执行方式,中断屏蔽标识)。 4. 用户栈指针:为每个用户进程有一个或若干隔与之相关
2020/11/16
7
第三章 进 程 管 理
3.2.1 进程的基本状态
1. 进程状态
• 就绪态:等待系统分配处理机以便执行时 所处的状态. 即获得了除处理机之外的所以资源,一旦由调度 程序选中得到处理机就可以立即执行的状态.
• 运行态:正在处理机上执行时所处的状态. 在单CPU情况下,处于该状态的进程数只有一个.
4. 将被终止进程所拥有的全部资源,或者归还给其父进程, 或者归还给 系统。
5. 将被终止进程(它的PCB)从所在队列(或链表)中移出, 等待其他程序来 搜集信息。
2020/11/16
23
第三章 进 程 管 理
3.4.3 进程的挂起和激活
挂起:让进程暂时不参与资源的竞争
把挂起原语调用者本身挂起,即自己挂起自己
1. 进程的当前信息:指明进程的当前状态,作为进程调度 和对换的依据.
2. 进程优先级:调度依据,是进程占有处理机的重要依据. 3. 程序开始地址:便于执行这段程序. 4. 各种计时信息:记录资源占用的信息. 5. 通信信息:保证进程之间相应的联系.
3) 资源管理信息
2020/11/16
1. 占用内存大小及其管理用数据结构指针. 2. 对换或覆盖用的有关信息. 3. 共享程序的大小及起始地址. 4. I/O设备号,传送的数据长度,缓冲区地址,缓冲区长度
if owner (r) insert(r.semaphore,r.data);
归还属于父进程资源且插入父资源清单.
for all RЄcreated resoure(i) do remove descriptor(R) ;
撤销自己的资源清单并归还系统
remove process control block(i);
2020/11/16
20
第三章 进 程 管 理
.进程创建原语的描述形式
i PCB
create(n,So,Po,Mo,Ro,acc)
Begin
i=get internal name(n);/* 获得内部名*/
相关文档
最新文档