操作系统学习资料-第三章 进程管理(1)

  • 格式:pptx
  • 大小:1006.22 KB
  • 文档页数:156

下载文档原格式

  / 156
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 程序的并发执行
(1)定义 程序的并发执行是指一组在逻辑上互相独立的程序或程
序段在执行时间上客观上互相重叠,即一个程序或程序段 的执行尚未结束,另一个程序(段)的执行已经开始的执 行方式。
3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行
(2)并发与并行区别 ① 并发:在一段时间内的同时并行 ② 并行:在同一物理时刻的同时
提交
3.1 概述
4 进程与程序的区别 (3)进程与程序的组成不同:进程的组成包括程序、数 据和进程控制块(即进程状态信息)。 (4)进程与程序的对应关系:通过多次执行,一个程序 可对应多个进程;通过调用关系,一个进程可包括多个 程序。
3.1 概述
5. 进程与程序的区别
(5)进程具有并发 /并行特征,程序没有。进程具有独立 性和异步性 (6)进程是竞争计算机资源的基本单位。
低地址 top
3
void reladdr(blk)
{
4
2.1 top top-1; 5
2.2 s[top] blk;
}
t
1.3 return (r) 2.2 s[top] blk
blk
ttoopp
a ……
高地址 栈底
3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行(案例分析) 例子说明
3.1 概述
3. 进程的特征 (4)异步性:每个进程都以其相对独立的不可预知的速 度向前推进 (5)结构化:进程 = 代码段 + 数据段 + PCB
单选题 1分
一个进程是( )。
A 由协处理机执行的一个程序 B 一个独立的程序+数据集 C PCB结构与程序和数据的组合 D 一个独立的程序
提交
多选题 1分
① 程序的执行不再具有封闭性和结果的可再现性。 getaddr()和reladdr()的并发执行,产生了错误的结果,不同执行顺
序得到不同的结果。 ② 原因:对公共变量(堆栈或堆栈指针)的共享引起的。 ③ 为了获得结果的可再现性,程序的并发执行是需要条件的。
3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行
3.2.5 进程的状态及其转换 2、划分用户态和系统态的原因
(1)把用户程序和系统程序分开,以利程序的保护和共享; (2)但增加了系统复杂度和系统开销。
3.2.5 进程的状态及其转换
3. 进程的三种基本状态
(1)就绪态(Ready) :一个进程已经具备运行条件,但由 于无CPU暂时不能运行的状态(当调度给其CPU时,立即可 以运行。“万事俱备,只欠东风”。位于“就绪队列”中);
3.2.2 进程控制块PCB
1、功能
(1)PCB是由OS维护的用来记录进程相关信息和管理进 程而设置的一个专门的数据结构 (2)PCB是进程动态特性的集中反映
系统通过PCB感知进程的存在,通过PCB中所包含的各 项变量的变化,掌握进程的状态以达到控制进程活动的 目的
3.2.2 进程控制块PCB
2、特征
2. 程序的并发执行
(4)不加控制的并发执行所带来的影响 例:利用堆栈管理一块内存区中各数据块的使用情况。
① 用getaddr(top) 从栈顶取出相应的内存块的地址。 ② 用reladdr(blk)将数据块的地址(以bkl为地址)放入堆栈

3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行 (案例分析)
3.2.3 进程上下文
3、类型
(3)系统级上下文 ① 静态部分(PCB和资源表格) ② 动态部分:核心栈(核心过程的栈结构,不同进程 在调用相同核心过程时有不同核心栈)
3.2.3 进程上下文 4、进程上下文结构
各种 控制表 指针 PCB
各种寄存器
正文集 数据集 栈区
3.2.4 PCB的组织方式
3.2.2 进程控制块PCB
3、进程控制块的内容
(2)进程控制信息 ① 当前状态 ② 优先级(priority) ③ 代码执行入口地址 ④ 程序的外存地址
3.2.2 进程控制块PCB 3、进程控制块的内容
(2)进程控制信息 ⑤ 运行统计信息(执行时间、页面调度) ⑥ 进程间同步和通信
3.2.2 进程控制块PCB
int getaddr(top)
{
分析getaddr(top) 与reladdr(blk)的并发执行
int r; 1.1 r s[top];
0
1.2 top top+1; 1
1.3 return (r);
}
2
2.1 top top-1
什1么.1原r因?s[top] 说1明.2什t么op问题t?op+1
(5)并发执行的条件 达到封闭性和可再现性 并发执行失去封闭性的原因是共享资源的影响,去掉这种
影响就行了。
3.1.1 程序的顺序执行和并发执行
2、并发执行
(5)并发执行条件
任意两个程序P(i)和P(j)可并发的条件:
① R(i)W(j)=
② W(i)R(j)= ③ W(i)W(j)=
现在的问题是 这个条件不好检查。
3.1 概述
7 进程与作业关系
用户 作业
由用户创建
作业步
由用户指定
….. 作业步
进程 ….. 进程
由系统创建
线程 ….. 线程
3.1 概述 7. 进程与作业关系
(1)作业是用户向计算机提交任务的实体;进程则是完 成用户任务的执行实体,是向系统申请分配资源的基本单 位
3.1 概述
7. 进程与作业关系 (2)一个作业可由多个进程组成,且必须至少由一个进程 组成,但反过来不成立。 (3)作业的概念主要用在批处理系统中;而进程的概念用 在几乎所有的多道系统中。
1、定义:对进程执行活动全过程的静态描述。 2、组成内容
① 进程的用户地址空间内容 ② 硬件寄存器内容 ③ 核心数据结构(正文段、数据集、堆栈)
3.2.3 进程上下文
3、类型
① 用户级上下文:进程的用户地址空间,包括用户正文 段、用户数据段和用户栈;
② 寄存器级上下文:程序寄存器、处理机状态寄存器、 栈指针、通用寄存器的值;
3.1 概述
3.1.1 程序的顺序执行和并发执行
程序的两种执行方式:顺序执行和并发执行。 ① 顺序执行是单道批处理系统的执行方式,也用于简
单的单片机系统 ② 现在的操作系统多为并发执行,具有许多新的特征。
引入并发执行的目的是为了提高资源利用率
3.1.1 程序的顺序执行和并发执行
1. 程序的顺序执行
进程所具有的基本特征包括( )。
A 动态性 B 顺序性 C 并发性 D 封闭性 E 异步性
提交
3.1 概述
4 进程与程序的区别 (1)进程是动态的,程序是静态的:
炒菜 菜谱 (2)进程是暂时的,程序的永久的:进程是一个状态 变化的过程,程序可长久保存。
单选题 1分
进程和程序的本质区别是()。
A 存储在内存和外存 B 顺序和非顺序执行机器指令 C 分时使用和独占使用计算机资源 D 动态和静态特征
对应多个不同的index表
各状态的进行形成不同的索引表:就绪索引表、阻塞索引表
Ready
PCB Table
Ready
Index Table
PCB Table
Blocked
Blocked
ቤተ መጻሕፍቲ ባይዱ
3.2.5 进程的状态及其转换
1. 核心态和用户态
(1)用户执行状态,又称用户态,进程的用户程序段执行时, 该程序处于用户态。用户态时不可直接访问受保护的OS代码; (2)系统执行状态,又称系统态,核心态,进程的系统程序执 行时,该进程处于系统态。核心态时可以执行OS代码,可以访 问全部进程空间。
额外的空间和时间开销,增加了OS 的复杂性
3.1 概述
3. 进程的特征 (1)动态性
① 进程对应程序的执行 ② 进程是动态产生:创建--〉运行--〉消亡 ③ 进程在其生命周期内,在三种基本状态之间转换
3.1 概述
3. 进程的特征
(2)独立性 各进程的地址空间相互独立,除非采用进程间通信手段
(3)并发性:任何进程都可以同其他进程一起向前推进
① 程序 完成所要求的功能时,所应采取的顺序步骤,是执行指 令的有序集合。
② 顺序执行特点 具有独立功能的程序独占CPU直至得到最终结果的过程
3.1.1 程序的顺序执行和并发执行
1 程序的顺序执行
(1)顺序执行的特征 ① 顺序性:按照程序结构所指定的次序(可能有分支或 循环) ② 封闭性:独占全部资源,计算机的状态只由于该程序 的控制逻辑所决定 ③ 可再现性:初始条件相同则结果相同。
3、进程控制块的内容
(2)进程控制信息 ⑦ 资源占用信息:虚拟地址空间的现状、打开文件 列表 ⑧ CPU现场保护结构:寄存器值(通用、程序计数 器PC、状态PSW,地址包括栈指针)
单选题 1分
进程的控制信息和描述信息存放在( )。
A JCB B PCB C TCB D STACK
提交
3.2.3 进程上下文
单选题 1分
一个进程执行过程中不可能对应( )。
A 一个PCB B 一个JCB C 多个PCB D 一个程序
提交
3.1 概述
6 进程举例
① 正在运行的Web浏览器是一个进程,正在运行的Windows资源 管理器是一个进程,正在运行的Visual C++编程环境也是一个 进程
② 在计算机中处于运行状态的任何一个程序都是一个进程,一个 进程拥有内存、CPU时间等一系列资源
3.2.4 PCB的组织方式
2、组织方式(链表)
空 PCB 运行态 就绪态 等待 1 等待 2
PCB1
6
PCB2
7
PCB3
10
PCB4
PCB5
PCB6
5
PCB7
......
PCBn
15
3.2.4 PCB的组织方式
2、组织方式
(2)索引表
同一状态的进程归入一个index表(由index指向PCB),多个状态
3.2 进程的描述
3.2.1 进程的组成
进程 = 程序 + 数据 + 进程控制块PCB ① 程序是进程的不可缺少的组成部分; ② 数据是进程处理的对象; ③ 进程控制块是进程的控制结构
3.2 进程的描述
3.2.1 进程的组成
进程控制块 包含了进程的描述信息、控制信息和资源信息以及现
场保护区,是进程的唯一标识,系统通过PCB管理和控制 进程。
3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行
(3)并发执行的特征
① 间断(异步)性:“走走停停”,一个程序可能走到中途停下来, 失去原有的时序关系;
② 失去封闭性:共享资源,受其他程序的控制逻辑的影响。 ③ 失去可再现性:失去封闭性 ->失去可再现性
3.1.1 程序的顺序执行和并发执行
第三章
进程管理
1
本章内容
为了描述程序在并发执行时对系统资源的共 享,我们需要一个描述程序执行时动态特征 的概念,这就是进程。本章将讨论进程概念、 进程控制和进程间关系。
本章内容
1. 概述 2. 进程的描述 3. 进程控制进程互斥和同步(重点) 4. 进程间通信 5. 死锁问题(难点) 6. 进程其他方面的举例 7. 线程及编程
怎么办?
3.1.2 进程的定义
1、定义 一个具有一定独立功能的程序在一个数据集合上
的一次动态执行过程。简言之,进程是程序的一次 执行活动。
3.1 概述
2、引入进程意义
① 进程描述了程序的动态执行过程; ② 它对应虚拟处理机、虚拟存储器和虚拟外设等资源的
分配和回收;
3.1 概述
2、引入进程意义
③ 反映系统中程序执行的并发性、随机性和资源共享 ④ 引入多进程,提高了对硬件资源的利用率,但又带来
1、 PCB表
(1)系统把所有PCB组织在一起,并把它们放在内存 的固定区域,就构成了 PCB表; (2)PCB表的大小决定了系统中最多可同时存在的进 程个数,称为系统的并发度。
3.2.4 PCB的组织方式
2、组织方式
(1)链表 ① 同一状态的进程其PCB成一链表,多个状态对应多个 不同的链表 ② 各状态的进程形成不同的链表:就绪链表、阻塞链表
3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行
目的 ① 提高计算机的处理能力 ② 提高资源利用率
3.1.1 程序的顺序执行和并发执行
2. 程序的并发执行
(1)形式 ① 多道程序环境下的多道程序的并发执行 ② 在某道程序的几个程序段中,包含可同时执行或可 颠倒顺序执行的代码。
3.1.1 程序的顺序执行和并发执行
① PCB结构的全部或部分常驻内存; ② PCB随进程的创建而填写,随进程的撤消而释放; ③ 系统利用PCB来控制和管理进程,所以PCB是系统感知进
程存在的唯一标志 ④ 进程与PCB是一一对应的
3.2.2 进程控制块PCB
3、进程控制块的内容
(1)进程描述信息: ① 进程标识符(process ID),唯一,通常是一个整数 ② 进程名,通常基于可执行文件名 ③ 用户标识符(user ID) ④ 进程组关系(process group)