第二章 操作系统 进程线程PPT课件

合集下载

操作系统-进程和线程 课件

操作系统-进程和线程 课件
第2章 进程和线程
2.1 进 程 概 念 2.2 进程的状态和组成 2.3 进 程 管 理 2.4 线 程 2.5 进程的同步和通信 2.6 经典进程同步问题 2.7 管程 2.8 进程通信 2.9 Linux的进程管理
2.1 进 程 概 念
2.1.1程序的顺序执行和并发执行
• 程序的执行有两种方式:顺序执行和并发执行。
A:
… N=N+1; …
B:
… printf(“%d”,N);
N=0;

3
(1) N=N+1在Print(N)和N=0之前,此时得到的N值分别
为n+1, n+1, 0。
(2) N=N+1在Print(N)和N=0之后,此时得到的N值分别 为n, 0, 1。 (3) N=N+1在Print(N)和N=0之间,此时得到的N值分别 为n, n+1, 0。
序文件中通常也划分了代码段和数据段,而核心段通常就是 OS核心(由各个进程共享,包括各进程的PCB)
8
2.1.2 进程概念
进程和程序的区别 :
• 进程是动态的,程序是静态的:程序是有序代码的集合;
进程是程序的执行。通常进程不可在计算机之间迁移; 而程序通常对应着文件、静态和可以复制。 • 进程是暂时的,程序的永久的:进程是一个状态变化的 过程,程序可长久保存。 • 进程与程序的组成不同:进程的组成包括程序、数据和 进程控制块(即进程状态信息)。 • 进程与程序的对应关系:通过多次执行,一个程序可对
26
}
2.3.3 进程终止
(1)正常终止 (2)异常结束
① 越界错误 ② 保护错 ③ 非法指令 ④ 特权指令错 ⑤ 运行超时 ⑥ 等待超时 ⑦ 算术运算错 ⑧ I/O故障

操作系统学习PPT 第二章 进程1

操作系统学习PPT 第二章 进程1

2.3.2 线程的概念



进程中一个相对独立的执行流。 进程 /线程 进程是资源分配单位 线程是执行单位 多线程优点 切换速度快(地址空间不变)(light weighted) 系统开销小 通讯容易(共享数据空间) 并发性更好
线程控制块



TCB(Thread control block) 标志线程存在的数据结构, 其中包含对 线程管理需要的全部信息. 内容 线程标识、线程状态 调度参数、现场(通用寄存器,PC,SP) 存放位置 用户级线程:目态空间(运行系统) 核心级线程:系统空间
10、多个进程的实体能存在于同一内存中,在 一段时间内都得到运行。这种性质称作进程的 ( )。 A.动态性 B.并发性 C.调度性 D.异步性
11、进程是程序的执行过程,可以处于不同的 状态。这种性质称作进程的( )。 A.动态性 B.并发性 C.调度性 D.异步性
12、某进程由于需要从磁盘上读入数据而处于阻 塞状态。当系统完成了所需的读盘操作后,此 时该进程的状态将( )。 A.从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪

状态转换

就绪运行:进程调度,获得处理机 运行就绪:剥夺处理机(如时间片用完) 运行等待:申请资源未得到 等待就绪:得到资源
进程状态转换图
获得处理机
就绪
剥夺处理机
事件发生
运行
等待事件
等待
2.2.5 进程控制块(PCB)




标志进程存在的数据结构,其中保存系统管 理进程所需的全部信息(记录型结构) OS用PCB对并发进程进行管理和控制。 PCB是进程存在的唯一标志 PCB常驻内存 OS专门开辟PCB区将所有的PCB组成若干 个链表或队列

操作系统课件

操作系统课件

Operating System
22
哈工大计算机科学与技术学院
进程状态转换
在进程执行过程中,其状态会不断变化
运行
一个CPU上正 在执行的进程
就绪
准备运行的进程
Harbin Institute of Technology
Operating System
23
哈工大计算机科学与技术学院
进程状态转换
(1) 就绪 (2) 运行 运行: 该进程被配遣(Dispatch) 就绪: 运行并中断,如时间片用完
将其它资源加以限制后分配给不同的进程
如内存映射: Give each process their own address space 内核/用户模式: Arbitrary multiplexing of I/O through system calls
Harbin Institute of Technology
Harbin Institute of Technology
Operating System
16
哈工大计算机科学与技术学院
进程 vs. 程序
程序: 代码 + 数据
是静态的
int c; int main() { printf(“hello”); }
进程是程序关于某数据集 stack 上的一次运行活动
Harbin Institute of Technology
Operating System
7
哈工大计算机科学与技术学院
并发引出的问题
多个用户对资源的共享
单一的CPU,单一的DRAM,单一的I/O设如何分配 如何让用户(程序员)感觉到是独占机器
操作系统需要协调所有的活动

操作系统 第二章 进程线程与作业PPT课件

操作系统 第二章 进程线程与作业PPT课件
10
2.内存资源管理问题
为使多个程序在系统中同时共存,需按某种 原则对内存进行划分,并将其分配给各个程序。
由于程序在内存中的实际存放位置在其装入 系统之前无法确定,且在其运行过程中地址可能 发生变化,因而程序只能使用相对地址。操作系 统负责存储空间的分配与管理,并在硬件支持下 将程序产生的逻辑地址映射到内存物理地址,即 实现程序的重定位。
此外,应防止内存中多道程序之间的相互干 扰或对OS的干扰,即一般不允许一个程序侵犯另 一个程序的地址空间或操作系统空间,为此操作 系统需在硬件支持下实现对存储空间的保护。
11
3.设备资源管理问题 尽管操作系统在选择程序进入系统时可以使进 入系统的程序搭配相对合理,但由于程序使用资源 的不确定性以及程序推进速度的不确定性,内存中 的多道程序在使用设备时经常发生冲突,即多个程 序同时要求使用同一资源,这就要求操作系统确定 适当的分配策略,并据此对资源加以管理。
6
如图2-2所示,t2时刻程序A放弃处理机,但 程序B暂不具备运行条件,t3时刻程序B获得CPU 并运行,t4时刻程序B启动I/O设备2,然后等待 I/O传输完成。
t1
t2 t3
t4 t5
t6
CPU 设备1 设备2
程序A
程序B
程序A
7
比较图2-1与图2-2不难发现: 单道系统中,处理机在t2t5期间内完全被闲 置,而在两道系统中,处理机在t2t5期间内有一 段时间得到利用。可见,与单道程序相比,两道 程序提高了处理机的利用率。 如果增加内存中程序的道数,处理机资源的 利用率可进一步提高。理论上,当内存中程序的 道数充分多时,处理机的利用率可达到100%。 综上分析,多道程序设计可有效地提高系统 资源的利用率,从而提高系统吞吐量。那么内存 的程序数量是否越多越好呢?

操作系统第2章进程和线程(进程)

操作系统第2章进程和线程(进程)
部分
数据 集合
PCB是进程存在的唯一标识
思考题: 为什么PCB是进程存在的唯一标识?
提示:操作系统根据PCB对进程实施控制和管理;
2.1.5 进程队列
进程队列:将具有相同状态的PCB按一定的方式组织起来,构 成的队列。分三种队列:执行队列、就绪队列、阻塞队列。
执行队列头指针
PCB4
就绪队列头指针

2.1.3、进程的状态及其转换
进程的基本状态:就绪态、
运行态、阻塞态。 各状态的相互转换: 就绪——>运行 运行——>阻塞 阻塞——>就绪 运行——>就绪
运行
就绪
所等待事件发生
阻塞
2.1.4、进程控制块
进程组成:进程控制块,程序段,数据集合。
进程控制块 进程标识信息、说明信息、现场信息和管理信息 (进程名、 状态信息、调度优先权、通信信息、现场 保护区、资源供求和分配控制信息、族关系信息等) 程序段 各种基本结构组成的指令集合 PCB 数据集合 程序 各种类型的数据
第二章 进程和线程
进程 2.2 进程的并发性 2.3 进程通信 2.4 线程
2.1
本章目标
理解和掌握进程的定义、状态、进程控制块和 进程队列等知识。 理解和掌握进程的调并发性。 理解线程知识。

2.1 进程管理
2.1.1 程序的执行
1.程序的顺序执行: 程序在机器中严格按顺序执行并独占系统资源; 程序执行的速度与结果无关。 封闭性:程序一旦执行,其结果只取决于程序本 身; 可再现性:机器在同一数据集上重复执行同样的 程序,其结果相同 程序的并发执行:多个程序同时在一台计算机中 运行,各程序不再独自占有所需资源,而是在轮 流使用共享资源时相互制约,执行过程往往是走 走停停,失去了封闭性和可再现性,但是却提高 了资源利用率。

操作系统进程与线程ppt

操作系统进程与线程ppt


补充内容:Instruction Formats Elements of A Machine Instruction Instruction Address Field Format Opcode Format Example of Instruction Format
Instruction Formats (1)

Instruction and Instruction Sequencing (8)

Instruction Execution and Straight-Line Sequencing
Example:
C=A+B C ← [A] + [B] Assume that
The word length is 32 bits The memory is byte-addressable A desired memory address can be directly specified in Load and Store instructions.

The righthand side of an RTN expression always denotes a value, and the left-hand side is the name of a location where the value is to be placed, overwriting the old contents of that location.
Example2:

Add R4, R2,R3
Registers R2 and R3 hold the source operands, while R4 is the destination.

第2章计算机操作系统PPT课件

第2章计算机操作系统PPT课件

9/17/2024
大学计算机基础
用户接口
用户接口有两种类型: (1)命令接口和图形用户界面 用户 通过交互方式对计算机进行操作。 (2)程序接口 程序接口又称应用程 序接口(Application Programming Interface,API),为编程人员提供, 应用程序通过API可以调用操作系统 提供的功能。
操作系统
计算机硬件
整个计算机系统的层次结构
9/17/2024
大学计算机基础
2.1.2 操作系统的作用和功能
1. 操作系统的作用
(1) 用户和计算机硬件之间的接口 (2) 硬件功能的扩充 为用户提供了 一台功能显著增强,使用更加方便, 安全可靠性更好,效率明显提高的机 器,称为虚拟计算机(Virtual Machine)。 (3) 资源管理器
9/17/2024
大学计算机基础
4.Linux Linux是一套免费使用和自由传播的、
与Unix完全兼容的类Unix操作系统。 Linux最初是由芬兰赫而辛基大学计算
机系的学生Linus Torvalds开发的一个操 作系统内核程序,Linux以其高效性和灵 活性著称,它能够在PC机上实现Unix操作 系统的功能。
9/17/2024
大学计算机基础
实时操作系统
实时操作系统是指系统能及时(或即时)响应外 部事件的请求,在规定的时间内完成对该事件的处理, 并控制所有实时任务协调一致地运行。
根据具体应用领域不同,实时操作系统分两类: (1) 实时控制系统 (2) 实时信息处理系统
9/17/2024
大学计算机基础
2.1.4 典型操作系统简介
9/17/2024
大学计算机基础
图中进程WINWORD.EXE有4个线程, 进程explore.exe有16个线程。

操作系统 进程管理PPT课件

操作系统 进程管理PPT课件

第三章 进程的描述与控制
17
PCB的内容
进程描述信息:
进程标识符(process ID),唯一,通常是一个整数 进程名,通常基于可执行文件名(不唯一) 用户标识符(user ID);进程组关系
进程控制信息:
当前状态 优先级(priority) 代码执行入口地址 程序的外存地址 运行统计信息(执行时间、页面调度) 进程间同步和通信;阻塞原因
一个具有一定功能的程序关于某个数据集合 的一次运行活动。
进程是一个程序与其数据一道通过处理机的 执行所发生的活动
第三章 进程的描述与控制
7
进程同程序的比较
程序是指令的有序集合,其本身没有任何运行的含 义,是一个静态的概念。而进程是程序在处理机上 的一次执行过程,它是一个动态的概念。
程序可以作为一种软件资料长期存在,而进程是有 一定生命期的。程序是永久的,进程是暂时的。
间断性 失去程序的封闭性 不可再现性
第三章 进程的描述与控制
6
2.1.2 进程的定义
进程的概念是60年代初首先由麻省理工学 院的MULTICS系统和IBM公司的CTSS/360 系统引入的。进程有很多各式各样的定义, 如:
行为的一个规则叫做程序,程序在处理机上 执行时所发生的活动称为进程(Dijkstra)
第三章 进程的描述与控制
16
2.1.5 进程控制块(Process Control Block)
为了描述一个进程和其它进程以及系统资源 的关系,为了刻画一个进程在各个不同时期 所处的状态,人们采用了一个与进程相联系 的数据块,称为进程控制块(PCB)。
系统利用PCB来控制和管理进程,所以PCB 是系统感知进程存在的唯一标志 进程与PCB是一一对应的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

fprintf(stderr, "Fork Failed");
exit(-1);
}
else if (pid == 0) { /* child process */
execlp( "/bin/ls", "ls",NULL);
}
else {/* parent process */
/* parent will wait for the child to complete */
3.进程的基本特征
(1)动态性 (2)并发性 (3)调度性
6
2.2 进程的状态和组成
2.2.1 进程的状态及其转换
1.进程的基本状态

运行状态(Running)

ห้องสมุดไป่ตู้
就绪状态(Ready)

阻塞状态(Blocked

新建状态(New)

终止状态(Terminated)
7
运行 状态
就绪 状态
所等待事件发生 (如I/O完成)
阻塞 状态
8
2.进程状态的转换
图2-2 进程的5种基本状态及其转换
9
2.2.2 进程描述
1.进程映像
• 进程映像由它的
(用户)地址空间 内容、硬件寄存器 内容和与该进程有 关的核心数据结构 组成。
图2-3 进程映像模型
10
2.2.2 进程描述
2.进程控制块的组成
• 进程控制块(PCB)有时也称进程描述块
程的所有资源。 ③ 处理机分配给线程,即真正在处理机上运行的是
线程。 ④ 线程在执行过程中需要协作同步。不同进程的线
程间要利用消息通信的办法实现同步。
29
2.4.1 线程概念
5.引入线程的好处
① 易于调度。 ② 提高并发性。 ③ 开销少。 ④ 利于充分发挥多处理器的功能。
3
2.1.2 进程概念
1.引入:用程序这个静态概念已经不 能如实反映程序并发执行过程中的这 些特征。
2.进程概念
• 进程最根本的属性是动态性和并发性。 • 进程定义为:程序在并发环境中的执行过

4
2.1.2 进程概念
进程和程序的区别 :
(1)动态性 (2)并发性 (3)非对应性 (4)异步性
5
2.1.2 进程概念
全部资源。
• 将被终止进程的PCB从原来队列中摘走
21
2.3.4进程阻塞
进程阻塞的过程如下:
• 立即停止当前进程的执行 • 现行进程的CPU现场保存 • 现行状态由“运行”改为“阻塞” • 转到进程调度程序
22
2.3.5 进程唤醒 • 唤醒原语执行过程如下:
① 把阻塞进程从相应的阻塞队列中摘下。 ② 将现行状态改为就绪状态,然后把该进程
• 2.3.1 进程图
进程图(Process Graph)是描述 进程族系关系的 有向树
图2-7 进程创建的层次关系
17
2.3.2 进程创建
• 引发创建进程的事件通常是调度新的批作业,交
互式用户登录,操作系统提供服务和现有进程派 生新进程。
• 创建新进程时要执行创建进程的系统调用(如
UNIX/Linux系统中的fork),其主要操作过程有 如下四步: (1)申请一个空闲的PCB (2)为新进程分配资源 (3)将新进程的PCB初始化 (4)将新进程加到就绪队列中
插入就绪队列中。 ③ 如果被唤醒的进程比当前运行进程的优先
级更高,则设置重新调度标志。
23
2.4 线 程
2.4.1 线程概念
• 现代操作系统中,进程只作为资源拥有者,
而调度和运行的属性赋予新的实体——线程。
• 线程(Thread)是进程中实施调度和分派
的基本单位
24
2.4.1 线程概念
1.线程的组成
(Process Descriptor),它是进程组成 中最关键的部分,其中含有进程的描述信 息和控制信息,是进程动态特性的集中反 映,是系统对进程施行识别和控制的依据。
11
进程控制块的组成
• 进程名 • 特征信息 • 进程状态信息 • 调度优先权 • 通信信息 • 现场保护区 • 资源需求 • 进程实体信息 • 族系关系 • 其他信息
18
下面这个C程序展示了UNIX系统中父进程创建子进程及各自 分开活动的情况
#include <stdio.h> void main(int argc,char *argv[]) {
int pid;
/* fork another process */
pid = fork();
if (pid < 0) { /* error occurred */
• 每个线程有一个
thread结构,即 线程控制块,用 于保存自己私有 的信息,主要由 以下4个基本部 分组成:
图2-8 thread结构示意图
25
2.4.1 线程概念
• 线程必须在某个进程内执行 • 一个进程可以包含一个线程或多个线程
图2-9 单线程和多线程的进程模型
26
2.4.1 线程概念
2.线程的状态
wait(NULL);
printf( "Child Complete" );
exit(0);
}
}
19
2.3.3 进程终止
(1)正常终止 (2)异常终止 (3)外部干扰
20
2.3.3 进程终止
终止进程的主要操作过程如下:
• 找到指定进程的PCB • 终止该进程的运行 • 回收该进程所占用的全部资源 • 终止其所有子孙进程,回收它们所占用的
• 运行状态: • 就绪状态: • 阻塞状态: • 终止状态:
27
2.4.1 线程概念
3.线程的管理
• 线程创建 • 线程终止 • 线程等待 • 线程让权
28
2.4.1 线程概念
4.线程和进程的关系 ① 一个进程可以有多个线程,但至少要有一个线程;
而一个线程只能在一个进程的地址空间内活动。 ② 资源分配给进程,同一进程的所有线程共享该进
12
2.2.2 进程描述
3.进程控制块的作用
• 每个进程有惟一的进程控制块
13
2.2.3 进程队列
1.线性方式
图2-4 PCB线性队列示意图
14
2.2.3 进程队列
2.链接方式
图2-5 PCB链接队列示意图
15
2.2.3 进程队列
3.索引方式
图2-6 PCB索引结构示意图
16
2.3 进 程 管 理
第2章 进程和线程
内容提要: 2.1 进 程 概 念 2.2 进程的状态和组成 2.3 进 程 管 理 2.4 线 程
1
2.1 进 程 概 念
2.1.1 多道程序设计
1.顺序程序活动的特点
• 顺序性 • 封闭性 • 可再现性
2.多道程序设计
2
2.1.1 多道程序设计
3.程序并发执行的特征 ① 失去封闭性。 ② 程序与计算不再一一对应。 ③ 并发程序在执行期间相互制约。
相关文档
最新文档