第三章进程管理1
操作系统实验,实验3, 进程管理 (1)
在图形界面上利用终端通过命令“su - ”切换到超级用户,编辑文件 “job”; 按组合键[Ctrl+Alt+F2]切换到第二个虚拟终端(超级用户); 输入命令“at –f job now+1 minute”,设置1分钟后执行at调度内容; 稍等后观察at调度的执行效果,再切换到第一个虚拟终端观察at调度 的执行效果;
切换到第一个虚拟终端观察at调度的执行效果(5分钟后系统将执行重 启调度任务)。
[操作要求2] 设置一个调度,要求1分钟后执行文件job中的作业。 文件job的内容为: find /home/jkx/ -name “*.c” > /home/jkx/fdresult wall user jkx, all code files have been searched out! Please check out. [操作步骤]
续表
守 护 进 程 innd Usenet新闻服务器 功 能 说 明
linuxconf
lpd named netfs network
允许使用本地WEB服务器作为用户接口来配置机器
打印服务器 DNS服务器 安装NFS、Samba和NetWare网络文件系统 激活已配置网络接口的脚本程序
nfsd
portmap postgresql routed sendmail
事件(例如xinetd和lpd)
启动守护进程有如下几种方法
在引导系统时启动 人工手动从shell提示符启动
系统启动script的执行期间 被启动(/etc/rc.d) 任何具有相应执行 权限的用户
使用crond守护进程启动
执行at命令启动
守护进程一般由系统在开机时通过脚本或root
操作系统原理-第三章进程管理习题(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. 若系统中只有用户级线程,则处理机调度单位是()。
进程管理
{
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)
当阻塞队列中的进程等待的事件发生时,都必须调用唤醒原语,以便把等待进程从阻塞中解脱出来获得重新参加调度的资格。
第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
chap3 进程管理-Linux环境高级程序设计-黄茹-清华大学出版社
3
3.1 程序与进程
3.1.1 程序的结构
• 程序→可执行文件 • file
• size 代码区 静态数据区 BSS区
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
4
程序的构成
代码区:存放CPU执行的机器代码。 通常是可共享的、只读的。另外,还 规划了局部变量的相关信息。 静态数据区:包含了在程序中明确被 初始化的全局变量、已经初始化的静 态变量和常量数据。 BSS区:未被初始化数据区。存入的是 未初始化的全局变量和未初始化静态 变量。这些变量在程序开始运行之前, 其中的数据被内核初始化为0或者 NULL。
}
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
17
3.3.1 shell如何运行程序
• 通过ps命令和例1,我们能够看到,shell本身是一个 进程
• exit命令可以退出shell • shell是一个无穷循环,等待执行输入的命令、程序
或脚本 • 执行一条命令的过程:
➢接收输入的命令 ➢新建一个进程,用来运行该命令 ➢将命令对应的程序从磁盘中加载到新进程中执行 ➢等待新进程运行结束
2021/3/23 Linux高级编程 西安邮电大学计算机学院 黄茹
12
2021/3/23
2021/3/23
Linux高级编程 西安邮电大学计算机学院 黄茹
13
3.3 shell
• shell是一个管理进程和运行程序的程序 • 三个功能:
➢运行程序 ➢管理输入输出 ➢可编程
• 关于进程的两个基本系统调用
4
#define TASK_STOPPED
8
ps命令中S对应列为进程状态。
第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章 进程管理
进程队列,进程队列是一种数据结构。 构成队列的方法:
操作系统进程管理
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、一个程序可以作为多个进程的运行程序,一个进程也 可以运行多个程序。
第三章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机构全部或部分常驻内存.
操作系统-徐甲同 2版 习题答案 第三章进程-死锁
计算机操作系统
第三章 进程管理
3.破坏“循环等待”条件 采用资源有序/顺序分配法: 把系统中所有资源编 号, 进程在申请资源时必须严格按资源编号的递增次 序进行,否则操作系统不予分配。打破环。 例如:1,2,3,…,10
计算机操作系统
第三章 进程管理
R1
A
B
此列子表明; 进程竞争资源有可能死锁。 但不一定就会死锁,这取决于各 进程的推进速度和对资源的请求 顺序。 死锁是一种与时间有关的错误。 进程竞争的资源应是互斥
R2
进程死锁例1的环路表示
3.4
计算机操作系统
第三章 进程管理
A r1
死锁的举例 例2:
进 程 A A r2 A r3 A r4 B r1 进 程 B B r2 B r3 B r4 请求 读卡 机请 求打 印机 释放 打卡 机 释放 读卡 机 读卡 机 请求 打印 机 请求 读卡 机 释放 打印 机 释放 读卡 机 打印 机
4、 Ar1 Br1 Ar2 Br2 Ar3 Ar4 Br3 Br4
3.6
计算机操作系统
第三章 进程管理
二、产生死锁的四个必要条件
1) 互斥条件(资源独占): 一个资源每次只能给一个进程使用 2) 不可剥夺条件(不可强占): 资源申请者不能强行的从资源占有者手中夺取资 源, 资源只能由占有者自愿释放 3) 请求和保持条件: (部分分配,占有申请) 在申请新的资源的同时保持对原有资源的占有。 4) 循环等待条件: 存在一个进程-等待资源环形链 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源, P2等待P3占有的资源, …, Pn等待P1占有的资源。
第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.1 为什么要引入进程的概念§3.1.1 从顺序程序设计谈起(1)什么是顺序程序在计算机上运行的程序是众多指令有序的集合,每一个程序只能完成预先规定的任务和操作。
在早期的计算机系统中,只有单道程序执行的功能,也就是说,每次只允许一道程序独立运行。
在这个程序的运行过程中,将占用整个计算机系统资源,而且系统将按照程序步骤顺序执行,其他程序只能处于等待状态。
因此,从宏观上看,各个程序是以线性状态排列并顺序执行的。
(2)顺序程序的特征a. 顺序性CPU单步顺序地执行程序,无论程序下一步操作是否需要等待上一步操作的结果都必须等待上一步操作结束后才能开始,无法实现并发执行。
b. 封闭性资源独占:只有正在执行的程序本身所规定的动作才能改变当前资源状态。
结果封闭:一旦程序开始运行后,其输出结果就不受外因的干扰。
c. 可再现性程序不受外部条件的影响,只要系统资源充足,在给定相同初始条件的情况下,无论程序执行多少次,总能得到相同的执行结果。
§3.1.2 程序的并发执行和资源共享由于单道程序执行过程中浪费了很多系统资源,因此,人们设法在只有一个处理器的系统中让多个程序同时执行。
这里应注意并发执行和多个程序在多个处理器环境下的并行执行。
(1)程序并发执行的定义多道程序在计算机中交替执行,当一道程序不占用处理器时,另一道程序马上接管CPU处理权,大大提高了处理器的使用率。
尽管在每一时刻或者说某一时刻CPU中仍然只有一道程序在执行,但是由于主存中同时存放了多道程序,在同一时间间隔内,这些程序可以交替的进行,从而提高CPU的使用率。
操作系统 第三章 进程管理
第一章 操作系统引论
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过程中发生了错误等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序并发执行过程可以描述为:
Cobegin P1;P2;……Pn Coend
14
第二章 进程管理
• 假设有一个程序由 • S0~Sn+1个语句,
• 其中 S1 ~Sn 语句是并发 执行的,程序如下: • S0;
• • • •
cobegin S1;S2;S3;...;SN coend; Sn+1;
15
21
第二章 进程管理
进程:一个具有一定独立功能的程序
在一个数据集合上的一次动态执行 过程。
(在这里,程序指一组操作序列,而数据 集则是接受程序规定操作的一组存储单 元的内容。 )
22
第二章 进程管理
• 比较进程和程序的区别:
答:1 进程是一个动态的概念,进程的实质是程序的一次执 行过程,动态性是进程的基本特征,同时进程是有一定的 生命期的;而程序只是一组有序指令的集合,本身并无运 动的含义,是静态的。 2并发性,并发性是进程的重要特征,引入进程的目的正是 为了使其程序和其它程序并发执行;而程序(没有建立进 程)是不能并发执行的。 3独立性,是指进程一个能独立运行、独立分配资源和独立 调度的基本单位;凡未建立进程的程序,都不能作为一个 独立的单位参加运行。 4 不同的进程可以包含同一个程序,同一个程序在执行中 也可以产生多个进程。 5.进程有生命周期,有诞生有消亡,短暂的;而程序是相对 长久的
=c+1,判断它 们是否可以并发执行? 解:它们的“读集”和“写集”分别为 R(C=a-b)={a,b};R(D=c+1)={c} W(C=a-b)={c} ;W(D=c+1)={D} R(C=a-b)∩W(D=c+1)={Φ } R(D=c+1)∩W(C=a-b)={c} 所以:两条语句不能并发执行。
2
第二章 进程管理
§3.1 进程基本概念
一、 二、 三、 四、 五、 六、 进程的引入 进程的概念 进程的特征 进程状态及其转换 进程控制块 进程的创建和撤消
3
第二章 进程管理
学习要求
(1) 牢固掌握进程的概念 (2) 深入理解进程最基本的属性是动态性 和并发性 (3) 掌握进程与程序的主要区别 (4) 掌握进程的基本状态及其转换发生的 典型事件 (5) 理解进程的一般组成,应深入理解进 程控制块的作用
18
第二章 进程管理
有的同学发现,同一语句的“读集”和“写 集”的交集是空集。 R(C:=a-b)∩W(C:=a-b)={Φ } W(W:=c+1)∩W(W:=c+1)={Φ } 其实,同一语句的“读集”和“写集”也 可能相同(交集不为空) 例如:计数语句: x=x+1 读集和写集相同R(x=x+1)=W(x=x +1)={x}
第二章 进程管理
程序顺序执行时的特征
– 顺序性:按照程序结构所指定的次序(可能有分
支或循环)
– 封闭性:独占全部资源,计算机的状态只由于该
程序的控制逻辑所决定 – 可再现性:初始条件相同则结果相同。
9
第二章 进程管理
2.程序的并发执行
I1 I2
I3
I4
C1
C2
C3
C4
P1
P2
P3
P4
程序并发执行时的前驱图
的情况了。
–程序本身完全是静态的概念 –程序概念也反映不了系统中的并行特性
6
第二章 进程管理
1、程序的顺序执行
• 一个较大的程序通常都是由若干个程序 段组成。在程序执行时,必须按照某种 先后次序逐个执行,仅当前一操作执行 完后,才能执行后继操作。 例如:在进行计算时,总是先输入用户的 程序和数据,然后才能计算,计算完成 后再将结果打印出来。
7
第二章 进程管理
I1
C1
P1
I2
C1
P2
程序顺序执行时的前驱图
对于一个程序段中的多条语句来说,也有一个执行 顺序的问题。如果对于下述三条语句的程序段: S1: a:=x+y S2: b:=a-5 S3: C:=b+1 (其中S2必须在a被赋值以后才能执行;同样S3也只 能在b被赋值 以后才能执行) 8
23
第二章 进程管理
• 3.1.3 作业和进程的关系 (区别)
1 作业是用户向计算机提交任务的任务实体。在 用户向计算机提交作业之后,系统将它放入外 存中的作业等待队列中等待执行;而进程则是 完成用户任务的执行实体,是向系统申请分配 资源的基本单位。 2 一个作业可由多个进程组成,且必须至少由一 个进程组成,反之不然。 3 作业的概念主要用在批处理系统中,而进程的 概念则用在几乎所有的多道系统中。
16
第二章 进程管理
如果对于语句S1和S2,有 ① R(S1)∩W(S2)={Φ } ② W(S1)∩R(S2)={Φ } ③W(S1) ∩W(S2)={Φ }同时成立
即:R(S1)∩W(S2) ∪W(S1)∩R(S2)∪W(S1) ∩W(S2)={Φ }
则语句S1和S2是可以并发执行的。
前两条保证一个程序的两次读之间数据不变化;最后 一条保证写的结果不丢掉。
10
第二章 进程管理
• 程序并发执行: 一组逻辑上相互独立的程序或程序段 在执行过程中,其执行时间在客观上相 互重叠,即一个程序段的执行,尚未结 束,另一个程序段的执行已经开始的这 种执行方式。
11
第二章 进程管理
程序并发执行时的特征
• 间断性 • 失去封闭性
–是多个程序共享系统中的各种资源,因而 这些资源的状态将由多个程序来改变
19
第二章 进程管理
练习
例:用Bernstein条件判断以下四条语句 是否两两可以并发执行。
S1: a=x+y
S2: b=z+1
S3: C=a-b
S4: w=c+1
20
第二章 进程管理
3.1.2 进程的定义
• 进程有许多各式各样的定义 (1)进程是可以并发执行的计算部分
(2)进程是一个独立的可以调度的活动 (3)进程是一个抽象的实体,当它执行某个任务时, 将要分配和释放各种资源 (4)行为的规则叫程序,程序在处理机上执行的活动 称为进程。 (5)一个进程是一系列逐一执行的操作,而操作的确 切含义则有赖于以何种详尽程度来描述进程。
4
第二章 进程管理
3.1.1 进程的引入
• 程序的顺序执行、程序的并发执行特征比较 程序的顺序执行 程序的并发执行
1 顺序性
2 封闭性
1 间断性
2 失去封闭性
3 可再现性
3 不可再现性
5
第二章 进程管理
进程的引入
• 多道程序系统的特点是并行性。为了充分利用系统资源, 在主存中同时存放多道作业运行 • 各程序由于同时存在于主存中,它们之间必定会存在相 互依赖,相互制约的关系。 (间接制约关系、直接制约 关系) • 在多道程序系统所带来的复杂环境中,程序具有了并行、 制约、动态的特性,原来的程序概念,难以刻画系统中
• 不可再现性
12
第二章 进程管理
• 不可再现性
例如:有两个循环程序A和B,它们共享一个变量n。程 序A每执行一次时都要做n:=n+1操作;程序B每执 行一次时,都要做print(n)操作,然后再将N置成 “0”,程序A和B以不同的速度运行。(假定某时刻变 量n的值为V )
13
第二章 进程管理
程序并发执行的描述
第二章 进程管理
第三章 进程管理
• • • • • • • 3.1 3.2 3.3 3.4 3.5 3.6 3.7 进程基本概念 进程调度 进程同步和互斥 经典的同步、互斥问题 进程通信 死锁 线程
1
第二章 进程管理
重点和难点:
• 进程的定义和特征 • 用信号量机制解决进程同步、互斥 • 死锁及其解决方法
第二章 进程管理
程序并发执行的条件
1966年,Bernstein提出了相邻语句S1,S2可以并 发执行的条件。 • 将程序中任一语句Si划分为两个变量的集合 R(Si)和W(Si) • R(Si)={a1,a2,……am}是语句Si在执行其间 必须对其进行读写的变量 • W(Si)={b1,b2,……bn}是语句Si在执行 其间必须对其进行修改、访问的变量