当前位置:文档之家› OS-02进程,线程和作业

OS-02进程,线程和作业


源分配和调度
异步性:各进程按各自独立不可预知的速度向前推进。从
而导致程序执行不可再现性
其他: 交互性、结构性
§ 2.2 进程的概念
进程和程序既有密切联系又有区别
p34
联系:
程序是构成进程的要素之一,进程执行程序。 一对多关系 • 一个进程可以涉及到一个或几个程序的执行 • 一个程序可以对应一个或多个进程,即同一程序段可
建立模型的系统方法,许多实际的操作系统都是按照这 样的三种状态进行具体构造的
在一个没有使用虚存的系统中,每个被执行的进程必须
完全载入主存,因此,所有队列中的所有进程必须驻留 在主存中
内存的吞噬:
内存被等待队列沾满 导致新进程不能被调入内存,从而使CPU处于空闲状态
进程的挂起状态
解决方法
作业1 t1
I1
作 业
3、1进程的引入
作业2
t2
P1
I2
作业3
t3
O1
P2
I3
t4
O2
P3
t
O3 并行计算的先后次序
§2.1 多道程序设计
并发执行的特点
例:计算交通路口车辆流量的系统中,有这样两个程序段:
A:while(exp1){
A1:N=N+1; }
B: while(exp2){
B1:print(N); B2:N=0;


§2.4 进程的描述
进程控制块队列 实现对进程的统一管理
运行队列
就绪队列 等待队列
每个队列都有一个队列的首指针; 队列末尾的PCB,其队列指针为-1
单一等待队列
就绪队列 允许进入 分派 处理器 超时 等待队列 事件发生
释放
等待事件
(五状态进程) 队列模 型
多条等待队列
就绪队列 允许进入 分派 处理器 超时 事件1队列 事件1发生 事件2队列 事件2发生 释放
有一个挂起状态
允许进入
分派
释放
新建
就绪
超时 激活 事件发生 事件等待
运行
终止
挂起
挂起
等待
有挂起状态的进程状态转换
进程的挂起状态
当操作系统已经执行了一个挂起操作,它可以有两
种方法用于选择一个进程并取到主存中
可以接纳一个新近创建的进程 或调入一个以前被挂起但现在已经解除阻塞的进程
通常比较倾向于调入一个以前被挂起而现在已经处
进程的挂起状态
挂起进程具有以下特点
进程不能立即执行
进程可能正在等待一个事件,也可以不是。 为了阻止进程执行,可以通过代理把这个进程置于挂起状 态,代理可以是进程自己,也可以是父进程或操作系统 除非代理显式地命令系统进行状态转换,否则进程无法从
这个状态中转移
§2.4 进程的描述
为了提高计算机的利用率、运行速度和系统的处
理能力,在计算机中广泛使用并行处理技术
§2.1 多道程序设计
在多道程序设计环境下,若干程序在系统中“同时” 运行,一程序未结束,另一程序又开始
前提:因为在大多数的计算问题中,部分的操作需
要顺序的执行,而另外的一些操作可以并行执行
例如:有一程序完成如下工作:从键盘上读入数据 (I)——对数据进行处理(P)——对结果输出(O)
进程映像:也称进程图像,是进程执行的上下文
环境,包括通用 寄存器的值,内存映像,打开的文件列
表和占用的资源等
进程上下文

进程的物理实体和支持进程执行的运行环境合称为进程 上下文
进程上下文是进程执行过程中顺序关联的静态描述,包 括每个进程执行过的,执行时的以及待执行的指令和数 据,分别称为上文,正文和下文。 进程上下文切换:当发生进程切换时,执行进程上下文 的切换。


B1—A1—B2
a
a+1 0
显然第三个序列的执行结果是错误的。
§2.1 多道程序设计
并发执行的特点
不可再现性 多道程序在并发执行过程中,程序彼此之间有时是完全孤 立的,有时存在 着依赖和制约的关系,这就失去了顺序 程序的封闭性
并发执行程序具有“执行-暂停-执行”的活动规律,程序 开始执行,以及输入输出的序列是随机的,不可预测的
管理,相互关系由用户安排,调度级别低于系统进程
§ 2.2 进程的概念
进程的特征 p32
动态性:进程是动态变化的,每个进程都有一个从创建到 消亡的过程——最基本特征 并发性: 多道程序中每个进程的执行过程,总是与其他
进程的执行过程并发执行的 ——重要特征
独立性:多个进程同时存在内存,独立运行,独立进行资
就绪状态(Ready) 等待处理机的状态。该进程运行所需 要的其他资源都得到满足,但因处理机个数少于进程个数,
该进程不能运行,必须等待分配处理机资源
运行
进程调度程序 把处理机分配给 进程
进程因某事件 (如等待I/O 完成) 变成等待状态
时间片用光
就绪 某事件被解除 (如I/O完成)
等待
进程状态变化图
§ 2.3进程的状态及状态变化
增加两个很有用的状态:新建和退出 新建状态 刚刚创建的进程,操作系统还没有把 它加入到可执行进程组中,通常是还没有加载到
主存中的新进程
终止状态 操作系统从可执行进程组中释放出的
进程,或者是因为它自身停止了,或者是因为某
种原因被取消
允许进入
新建 就绪
分派
运行 超时 事件发生 事件等待
的并行控制
§2.1 多道程序设计
并发执行的特点 资源共享
– 所谓资源,是指计算机处理一个任务或一个作业
时的所有硬设备和软设备
– 所谓资源共享,是指计算机中并发执行的多个程
序交替使用计算机资源
§2.2 进程的概念
多道与单道相比提高了cpu,内存和设备的利用率 同时多道程序设计对操作系统的设计提出了更多的
为什么要引入进程呢?
顺序执行(单道)的程序具有特性

程序严格按照先后次序一个接一个运行。 一次只允许一个程序运行。
作业1
作业2
I1
P1
O1
I2
P2
O2
顺序处理操作的先后次序
§2.1 多道程序设计
顺序执行的程序具有特性
顺序性
资源独占
程序在处理机上执行时,其操作只能严格按照所
程序在执行过程中独占全部资源,资源状态的 程序执行的结果与其执行的速度无关,而
扩充主存以容纳更多的进程,但有缺点:
一、主存的价格问题; 二、程序对存储器空间的要求的增长速度比存储器价格下 降的速度快
引入挂起
把主存中某个进程的一部分或全部移到辅存中。当主存中 没有处于就绪状态的进程时,操作系统就把被等待的进程换 出到磁盘中的“挂起队列”。主存中释放的空间可被调入的 另一个进程使用
规定的顺序执行
改变只与程序本身有关,而与外界环境无关
结果的无关性 不论是连续还是间断地执行;二是只要程序的初始条件不 变,当重复执行时,一定能得到相同的结果
缺点:cpu,设备和内存利用率低
§2.1 多道程序设计
程序的并发执行(多道)及其特性 程序的并发执行是现代操作系统的一个基本特征

A是计数程序段,B是定时将数据归档入库并清零的程序 段,可以知道A和B程序段是并发执行的。
§2.1 多道程序设计
A:while(exp1){ B: while(exp2){ A1:N=N+1; B1:print(N); } B2:N=0; } ① ② 举其中3种可能出现的执行序列(设某时刻N=a) A1—B1—B2 B1—B2—A1 a+1 a a+1 0 0 1
操作系统原理
金 海 溶
blue1879@(MSN) 办公室: JK329
第2章 进程、线程与作业
单道与多道程序设计
进程的概念 进程描述 进程的状态及其切换 进程控制
线程的引入
程序、作业和进程的概念

程序(program):用来描述一个计算机能完成的一个独立功
刻画的活动单元
§ 2.2 进程的概念
进程的定义2
进程(process) 是指程序在给定数据集合上的一次执行过程,是系统进行 资源分配和调度运行的独立单位 p28
• 系统进程:系统进行软硬件资源管理的进程,其相互
关系由操作系统负责协调,是系统资源的实际享有者
• 用户进程:可以独立执行的用户程序段,不插手资源
进程控制块PCB(Process Control Block) p29
PCB-是标志进程存在的数据结构,是系统内描
述和控制进程的运行而定义的
进程控制块是进程存在的标志 进程控制块是进程的唯一代表 操作系统根据进程控制块所提供的信息对进程实行 调度
和管理
进程组成的三要素:程序+数据+PCB
p28
§ 2.3进程的状态及状态变化
运行状态(Run) 进程正在处理机上运行的状态。该进程 已经获得必要的资源,也获得了处理机,用户程序正在处理 机上运行 等待状态(Wait),也叫阻塞状态或睡眠状态 进程等待某 种事件完成 (例如,等待I/O操作完成) 而暂时不能运行的状
态。此时,即使分配给它处理机,它也不能运行
因此,即使初始条件相同,结果也可能不同。运行结果不 可再现
§2.1 多道程序设计
并发执行的特点
制约性
• 间接制约方式 由于竞争相同的资源而引起,得到资源的 程序段可以投入运行,而得不到资源的程序段就暂时等待,
直至获得可用资源时再继续运行。在这种情况下,通常要
操作系统协调,实行并发控制 • 直接制约方式 这通常是在那些逻辑上相关的程序段之间 发生,一般是由于各种程序段要求共享信息引起的,这时, 可以在程序段中使用系统提供的操作,调节各程序段之间
相关主题