第三章 进程管理(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
进程管理
{
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 演示文稿
浙江教育学院 信息学院
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同步的概念
并发进程同时访问公有数据和公有变量引出了 互斥的概念.现在研究进程的合作关系.
操作系统练习题三四五章
第三章进程管理练习题一、选择题1.如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()。
A.继续运行 B.进入阻塞态,让出CPUC.进入就绪态,让出CPU D.继续运行,并唤醒S队列头上的等待进程2. 正在运行的进程在信号量S上操作P操作之后,当S<0,进程将进入信号量的()。
A.等待队列B.提交队列C.后备队列D.就绪队列3.在非剥夺调度方式下,运行进程执行V原语后,其状态()。
A.不变B.要变C.可能要变D.可能不变4. 一个进程被唤醒,意味着()。
A.改进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首5.. 系统感知进程的唯一实体是()。
A.JCBB.FCBC.PCBD.SJT6. 一进程在某一时刻具有()。
A.一种状态B.二种状态C.三种状态D.四种状态7. 进程从运行状态变为等待的原因可能是()。
A.输入/输出事件发生B.时间片到C.输入/输出事件完成D.某个进程被唤醒8. 进程创建原语的任务是()。
A.为进程编制程序B.为进程建立PCB表C.为进程分配CPUD.为进程分配所需的各种资源9. 进程被创建后即进入()排队。
A.阻塞队列B.就绪队列C.缓冲队列D.运行队列10.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次。
A)等待活动 B)运行活动 C)单独操作 D)关联操作11.下面对进程的描述中,错误的是。
A)进程是动态的概念 B)进程执行需要处理机 C)进程是有生命期的 D)进程是指令的集合12. 进程和程序的本质区别是( ) 。
A)存储在内存和外存 B)顺序和非顺序执行机器指令 C)分时使用和独占使用计算机资源 D)动态和静态特征13.下列的进程状态变化中,( ) 变化是不可能发生的。
A)运行一就绪 B)运行一等待 C)等待一运行 D)等待一就绪14.一个运行的进程用完了分配给它的时间片后,它的状态变为A)就绪 B)等待 C)运行 D)完成15.在进程管理中,当时,进程从阻塞状态变为就绪状态。
《进程管理》课件
和协作。
进程迁移
02
为了提高系统可靠性和可用性,分布式系统支持进程迁移,确
保关键任务能够持续运行。
负载均衡
03
分布式系统通过负载均衡技术,将任务分配到不同节点上执行
,提高系统整体性能。
THANKS
感谢观看
当系统中存在多个等待资源的进程,且每 个进程都持有至少一个资源并等待获取被 其他进程持有的资源时,就会产生死锁。
通过设置资源分配顺序或限制资源请求量 来避免饥饿。
• 死锁预防
• 死锁避免
通过破坏死锁产生的必要条件来预防死锁 ,例如预先分配资源、设置最大需求量等 。
在分配资源时进行检测和限制,避免产生 死锁,例如银行家算法。
进程的状态及其转换
总结词
阐述进程的三种基本状态及转换关系
详细描述
进程状态分为新建、运行、阻塞和就绪等状态。新建状态是进程被创建时的状态,运行状态是进程获 得CPU并执行的状态,阻塞状态是进程等待某个条件成立而暂时无法执行的状态,就绪状态是进程已 具备运行条件但未获得CPU时的状态。不同状态之间可以相互转换。
进程管理在操作系统中的应用
01
02
03
进程调度
操作系统通过进程调度算 法,合理分配系统资源, 确保进程能够高效地运行 。
进程同步
操作系统提供进程同步机 制,实现多个进程之间的 协同工作,避免资源竞争 和死锁。
进程通信
进程之间通过消息传递、 共享内存等方式进行通信 ,实现数据交换和协同工 作。
多核处理器下的进程管理技术
进程与程序的区别和联系
总结词
比较进是程序的一次执行过程,具有动态特性和独立性。 程序是静态的,而进程是动态的。程序是永存的,进程是暂时的。程序是过程的代码, 而进程是执行这些代码的过程。一个程序可以对应多个进程,但一个进程不能对应多个
第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进程管理
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
L2(操作系统:进程管理1)
应用程序 (系统与用户) 库函数调用 系统库
内核调用
OS 内核 机器指令
硬件
Part 1: Operating System
Lecture2.操作系统引论
I. 硬件接口
a. 中断Interrupt : 外部设备向CPU发出的信号. 中断处理
b.
外部硬件
OS
应用程序 中断处 理 中断t 信号
IV.
常见实时操作系统: Linux, WinCE
⑤
多处理机系统(Multiprocessor Systems) 网格运算、分布式处理等。
Part 1: Operating System
Lecture2.操作系统引论 5. 操作系统特征
① 并发性★
在同一段时间内,同时存在许多活动
② 共享性★
多个程序共享系统资源
③ 单道程序系统下的程序执行具有顺序性、资源独占性(封 闭性)、确定性(可再现性)特点;多道程序系统中程序 执行出现新特点:相互制约性、随机性、资源共享、与速 度有关性
2.
进程管理
① 进程概念 A. 定义: 可以并发执行的程序或程序段在一个数据集合上
的执行过程。 包括程序, 数据,进程控制块(PCB). B. 程序与进程的区别
GUI:.用户图形界面
Windows 各种窗口,按钮,浏览器
Part 1: Operating System
Lecture2.操作系统引论
③ 虚拟机结构
虚拟机结构在裸机上扩展了一层软件,向上提供了若干台虚拟机。 它包含有核心态/用户态、I/O功能、中断以及真实硬件的全部内容。 实际上它是一个具有比裸机更方便、灵活的计算机。
Lecture2.操作系统引论
第三章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. 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. 若系统中只有用户级线程,则处理机调度单位是()。
进程概念、进程控制
3.1 进程的概念
进程的概念是60年代初首先由麻省理工学院 进程的概念是60年代初首先由麻省理工学院 60 MULTICS系统和IBM公司的CTSS/360系统 系统和IBM公司的CTSS/360 的MULTICS系统和IBM公司的CTSS/360系统 引入的。进程有很多各式各样的定义, 引入的。进程有很多各式各样的定义,如: 进程是一个可以并行执行的计算部分 进程是一个抽象实体,当它执行某个任务时, 进程是一个抽象实体,当它执行某个任务时, 将要分配和释放各种资源 进程是一个独立的可以调度的活动 等等
2.进程控制信息: 2.进程控制信息: 进程控制信息
当前状态(就绪态、执行态、等待态) 当前状态(就绪态、执行态、等待态) 进程优先级(priority) 进程优先级(priority) 进程开始地址 运行统计信息, 运行统计信息,进程占有和利用资源的情况 通信信息
27
ห้องสมุดไป่ตู้
3.资源管理信息: 3.资源管理信息: 资源管理信息 有关存储器的信息 使用输入输出设备的信息 有关文件系统的信息等 4.CPU现场保护信息 现场保护信息: 4.CPU现场保护信息: 存储退出执行时的进程现场数据, 存储退出执行时的进程现场数据,当该进 程重新恢复运行时恢复处理器现场。 程重新恢复运行时恢复处理器现场。 •包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容 用户堆栈指针、系统堆栈指针等。 用户堆栈指针、系统堆栈指针等。
25
PCB的内容 不同系统不尽相同) PCB的内容 (不同系统不尽相同)
26
PCB的内容 PCB的内容
1.进程描述信息: 1.进程描述信息: 进程描述信息
进程标识符(process ID,唯一, 进程标识符(process ID,唯一,通常是一个整 数)或进程名 用户名或用户标识符(user 用户名或用户标识符(user ID) 家族关系
操作系统-徐甲同 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的使用率。
第三章 进程管理
进入挂起状态的进程是静止的,反之是活动的。 活动就绪、静止就绪。 活动阻塞、静止阻塞。
执行
起 挂
请 求 I/O
激活 活动 就绪 激活 挂起 静止 就绪
释 放
活动 阻塞
挂起
静止 阻塞
具有挂起状态的进程状态图
释 放
引入挂起状态的原因 (1)用户的请求。 (2)父进程请求。 (3)负荷调节的需要。 (4)操作系统的需要。
创建原语
进程撤消 (1) 该进程已完成所要求的功能而正常终止。 (2) 由于某种错误导致非正常终止。 (3) 祖先进程要求撤消某个子进程。
撤消原语
阻塞原语图
唤醒原语
进程挂起 操作系统将某个进程挂起; 用户进程请求将自己挂起; 父进程将自己的某个子进程挂起
挂起原语的执行过程是: 检查被挂起进程的状态
(3)阻塞状态 正在执行的进程,由于发生某时间而暂时无法执 行时,便放弃处理机而处于暂停状态; 也把这种暂停状态称为等待状态; 引起进程阻塞的典型事件有:请求I/O,申请缓冲 空间等; 通常将处于阻塞状态的进程也排成一个队列; 有的系统则按阻塞原因的不同而将阻塞状态的进 程排成多个队列。
2. 互斥的概念 临界资源 一次仅允许一个进程访问的资源称为临界资源。 许多物理资源:读卡机、打印机等。 许多软件资源:变量、表格、队列等。 临界区 进程中访问临界资源的那段代码。 不允许多个并发进程交叉执行的一段代码。 互斥 一组并发进程中的一个或多个程序段,因共享某 一临界资源,而不允许两个以上的共享该资源的 并发进程同时进入临界区称为互斥。
2. 进程控制原语 创建原语 撤消原语 阻塞原语 唤醒原语 挂起原语 激活原语
三、进程管理
第三章进程管理(一)具体知识点1.进程的引入和定义2.进程状态和转换3.进程产生与终止4.进程的描述5.进程控制6.进程互斥与同步(二)学习要求通过对本章节的学习,理解进程是系统中的基本执行单位,对进程控制块有比较深入的掌握,重点是进程的互斥和同步问题(三)本章节体系1.进程概念及状态迁移程序的一次执行就是一个进程,进程概念和程序概念最大的不同之处在于:●进程是动态的,而程序是静态的。
●进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。
没有建立进程的程序不能作为1个独立单位得到操作系统的认可。
●1个程序可以对应多个进程,但1个进程只能对应1个程序。
进程和程序的关系犹如演出和剧本的关系。
生命期内三种状态:在生命期内,每个进程至少有3种基本状态:●就绪(Ready)状态进程取得了除CPU之外的所有必要的资源,它正在申请处理机资源。
这种情况下的进程处于就绪状态。
●阻塞(Blocked)状态进程放弃对处理机的拥有权,又不具备马上再度申请处理机的条件的情况下,进程处于阻塞状态,又称等待状态、睡眠状态。
●运行状态进程取得了对处理机的拥有权的状态。
注意,进程取得了对系统资源的拥有权,实际上也就取得了对资源的使用权。
但在处理机上真正执行的基本单位是所谓的线程(thread)而不是进程──这是当前操作系统普遍采用的方法。
由进程申请处理机的拥有权,然后由它的线程使用图一:状态变迁图2.进程互斥与同步进程是申请系统资源的基本单位,但由于系统资源数量有限,必然导致诸进程间的资源竞争。
用户进程与系统进程之间,同一用户作业内部各进程之间,不同用户各作业的进程之间,各系统进程之间都存在资源竞争问题,因此进程之间的关系非常复杂。
如果对竞争失控,产生的后果是:要么资源在使用过程中遭到破坏,要么是各进程为争夺资源而形成僵持局面(死锁)。
为了规范竞争,提出了进程互斥、同步与死锁防治的措施。
临界资源与临界段:某些计算机资源固有如下特性:1次仅允许1个进程使用,即本次未使用完之前是不允许别的使用者使用的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学工程系 主讲:何中胜
主要内容
进程的基本概念√ 进程的状态及其转换√ 进程描述√ 进程控制
进程调度√
进程互斥与同步√ 进程通信
死锁√ 线程 Linux的进程与线程机制
2019/2/12
2
3.1 进程的基本概念
3
2019/2/12
为何引入进程概念
11
2019/2/12
S0 Cobegin P1;P2;... Pn Coend Sn 这里,S0,Sn分别表示并发程序段P1,P2,…, Pn开始执行前和并发执行结束后的语句。P1, P2,…,Pn也可以由同一程序段中的不同语句 组成。
12
2019/2/12
语句间并发执行的条件
1966年Bernstein 提出了两相邻语句S1,S2可以并发执行的 条件: 将程序中任一语句Si划分为两个变量的集合R(Si)和W(Si)。其 中 R(Si)={a1 a2 … am},aj(j=1,…,m) 是语句Si在执行期间必须对其进行读写的变量; W(Si)={b1 b2 … bn},bj(j=1,…,n) 是语句Si在执行期间必须对其进行修改、访问的变量; 如果对于语句S1和S2,有 ① R(S1)∩ W(S2)={∮}, ② W(S1)∩ R(S2)={∮}, ③ W(S1)∩ W(S2)={∮} 同时成立,则语句S1和S2是可以并发 执行的。
2019/2/12
19
进程与作业的区别
作业是用户需要计算机完成某项任务时要求计算 机所作工作的集合。进程是已提交完毕程序的执 行过程的描述,是资源分配的基本单位。区别与 关系:
(1) 作业是用户向计算机提交任务的任务实体。在用户 向计算机提交作业之后,系统将它放入外存中的作业 等待队列中等待执行。而进程则是完成用户任务的执 行实体,是向系统申请分配资源的基本单位。任一进 程,只要它被创建,总有相应的部分存在于内存中。 (2) 一个作业可由多个进程组成。且必须至少由一个进 程组成,但反过来不成立。 (3) 作业的概念主要用在批处理系统中。而进程的概念 则用在几乎所有的多道系统中。
作业1 作业2
I1
P1
O1
I2
P2
2019/2/12
O2
5
程序的顺序执行及其特征
我们把一个具有独立功能的程序独占处理机直至最终结 束的过程称为程序的顺序执行。程序的顺序执行具有如 下特点:
(1) 顺序性 程序顺序执行时,其执行过程可看作一系列严格按程序规定的状 态转移过程。 (2) 封闭性 程序执行得到的最终结果由给定的初始条件决定,不受外界因素 的影响。 (3) 可再现性 只要输入的初始条件相同,则无论何时重复执行该程序都会得到 相同的结果。
2019/2/12
25
进程在执行过程中因等待某个事件发生而放弃处 理机进入等待状态。 显然,等待状态可根据等待事件的种类而进一步 划分为不同的子状态,例如内存等待、设备等待、 文件等待和数据等待等。这样做的好处是系统控 制简单,发现和唤醒相应的进程较为容易。但系 统中设置过多的状态又会造成系统参数和状态转 换过程的增加。 根据进程阻塞的原因可将处于阻塞态的进程分为 若干个队列。当相应事件发生时,便可从相对应 的阻塞队形中释放一个进程使其进入就绪状态。
16
2019/2/12
进程的定义及其特征
进程的概念是60年代初期,首先在MIT 的 Multics系统和 IBM 的 TSS/360系统中引用的,是OS中最基本、最重要的 概念。 进程许多各式各样的定义。
(1) 进程是可以并行执行的计算部分(S.E.Madnick,J.T.Donovan); (2) 进程是一个独立的可以调度的活动(E.Cohen,D.Jofferson); (3) 进程是一抽象实体,当它执行某个任务时,将要分配和释放各种资 源(P.Denning); (4) 行为的规则叫程序,程序在处理机上执行时的活动称为进程 (E.W.Dijkstra); (5) 一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以 何种详尽程度来描述进程(Brinch Hansen), 等等。
20
2019/2/12
进程的特征
•
动态性:进程是动态变化的,每个进程都有一个从创 建到消亡的过程,因“创建”而产生,因“调度”而 执行,因“撤销”而消亡 —— 最基本特征
•
并发性: 多道程序中每个进程的执行过程,总是与
其他进程的执行过程并发执行的
——重要特征,也是操作系统的重要特征
• 独立性:多个进程同时存在内存,独立运行,独立进
2019/2/12
18
进程与程序的联系与区别
(1) 进程是一个动态概念,而程序则是一个静态概念。程序 是指令的有序集合,没有任何执行的含义。而进程则强 调执行过程,它动态地被创建,并被调度执行后消亡。 (2) 进程具有并发特征,而程序没有。由进程的定义可知, 进程具有并发特征的两个方面,即独立性和异步性。也 就是说,在不考虑资源共享的情况下,各进程的执行是 独立的,执行速度是异步的。显然,由于程序不反映执 行过程,所以不具有并发特征。 (3) 进程是竞争计算机系统资源的基本单位,从而其并发性 受到系统自己的制约。这里,制约就是对进程独立性和 异步性的限制。 (4) 不同的进程可以包含同一程序,只要该程序所对应的数 据集不同。 (5)程序是进程的一个组成部分。程序、数据集和进程控制 块组成了进程实体(也称为进程映像)
24
2019/2/12
处于就绪状态的进程经调度选中之后进入执行状 态。在单CPU系统中,任一时刻处于执行状态
的进程只能有一个
在某些操作系统中,一个进程在其生命期内的执 行过程中,总要涉及到用户程序和操作系统内核 程序两部分。因此,进程的执行状态又可进一步 划分为用户执行状态和系统执行状态。划分用户 态和系统态最主要的原因是要把用户程序和系统 程序区分开来,以利于程序的共享和保护。显然, 这也是以增加系统复杂度和系统开销为代价的。
行资源分配和调度
• 异步性:各进程按各自独立不可预知的速度向前推进。
从而导致程序执行不可再现性
21
2019/2/12
3.2 进程的状态及其 转换
22
2019/2/12
进程状态
一个进程的生命期可以划分为一组状态,这些状 态刻划了整个进程。系统根据PCB 结构中的状 态值控制进程。在进程的生命期内,一个进程至 少具有三种基本状态,它们是:执行(running)状 态、阻塞blocked(等待)状态和就绪(ready)状态。
17
2019/2/12
以上进程的定义,尽管各有侧重,但在本质上是 相同的。即主要注重进程是一个动态的执行过程 这一概念。 故可以这样定义进程:一个具有独立功能的程序 对某个数据集在处理机上的执行过程和分配资源 的基本单位。 总的来说,进程是指程序的一次执行过程,它可 以和其它进程并发执行。也可以说进程是程序在 一个数据集合上的执行过程,是系统进行资源分 配和调度的独立单位。 进程通常分成两类:用户进程与系统进程
O1
P2
I3
O2
P3
O3
并发计算的先后次序
10
2019/2/
程序的并发执行可总结为:一组在逻辑上互相独 立的程序或程序段在执行过程中,其执行时间在 客观上互相重叠,即一个程序段的执行尚未结束, 另一个程序段的执行已经开始的这种执行方式。 程序的并发执行不同于程序的并行执行。程序的 并行执行是指一组程序按独立的、异步的速度执 行。并行执行不等于时间上的重叠。可以将并发 执行过程描述为:
4
2019/2/12
程序的顺序执行及其特征
一个程序通常是由多个程序段组成,各程序段必 须按照事先规定的次序顺序执行,仅在当前程序 段执行完后才能执行下一个程序段。 例如:进行计算。I:输入操作 P:计算操作 O: 输出操作。在进行计算时,总是先输入用户的程 序和数据,然后进行计算,最后将结果输出来。
7
2019/2/12
程序的并发执行及其特征
什么是程序的并发执行 所谓并发执行,是为了增强计算机系统的处理能力和提 高资源利用率所采取的一种同时操作技术。程序的并发 执行可进一步分为两种:第一种是多道程序系统的程序 执行环境变化所引起的多道程序的并发执行。由于资源 的有限性,多道程序的并发执行总是伴随着资源的共享 与竞争。从而制约各道程序的执行速度。而无法作到在 微观上,也就是在指令级上的同时执行。因此,尽管多 道程序的并发执行在宏观上是同时进行的,但在微观上 仍是顺序执行的;第二种并发执行是在某道程序的几个 程序段中(例如几个程序),包含着一部分可以同时执 行或顺序颠倒执行的代码。例如语句:
程序的顺序执行导致程序独占系统的所有资源,而程序 在其执行的某一时刻不可能同时使用所有这些资源,帮 程序的顺序执行导致系统资源的严重浪费。故引入多道 程序概念
2019/2/12
6
程序的并发执行及其特征
多道程序系统中程序执行环境的变化 在许多情况下,需要计算机能够同时处理多个具有独立功 能的程序。批处理系统、分时系统、实时系统以及网络 与分布式系统等都是这样的系统。这样的执行环境具有 下述三个特点: (1) 独立性 每道程序都是逻辑上独立的,它们之间不存在逻辑上的制 约关系。 (2) 随机性 在多道程序环境下,特别是在多用户环境下,程序和数据 的输入与执行开始时间都是随机的。 (3) 资源共享 资源共享将导致对进程执行速度的制约。
2019/2/12
14
程序的并发执行的特征
程序执行的间断性
–
资源的有限性以及对资源的共享和竞争导致程序执行 速度的改变,使得程序的执行具有间断性,程序间相 互制约,使得程序具有“执行—暂停—执行—暂停…” 的活动规律。 多道程序在并发执行过程中,程序彼此之间有时是完 全孤立的,有时又通过某种方式发生着依赖和制约的 关系,这就失去了顺序程序的封闭 即使初始条件相同,结果也可能不同。运行结果不可 再现