乐趣区

2.进程

进程管理

进程的基本概念
进程与程序的区别
进程控制
进程同步
进程通信
线程

进程的基本概念

程序在并发环境中的执行过程
资源分配和独立运行的基本单位

程序的顺序执行
一个有 4 条语句的程序段:
S1:a:=x+2;
S2: b:=y+4;
S3: c:=a+b;
S4: d:=c+b;
程序顺序执行的特征

顺序性
封闭性
可再现性

顺序性
处理机的操作严格按照程序所规定的顺序执行,即每一个操作必须在下一个操作之前结束。
封闭性
程序在封闭的环境下执行,结果不受外界因素的影响。
可再现性
只要环境和初始条件相同,程序重复执行时总得到相同结果。
程序的并发执行
一个有 4 条语句的程序段:
S1:a:=x+2;
S2: b:=y+4;
S3: c:=a+b;
S4: d:=c+b;
S1 和 S2 可以同时执行 -》S3-》S4
程序并发执行的特征

间断性 共享、合作、制约导致,执行 -> 暂停 -> 执行
失去封闭性 资源状态由多程序改变
不可再现性 相同环境和初始条件,重复执行,结果不同

程序 A
L1:
N:=N+1
goto L1
程序 B
L2:
PRINT (N)
N:=0
goto L2
设共享变量 N 初始值为 5,则会产生 3 种执行结果:
6,6,0
5,0,1
5,6,0
进程的特征

结构特征
动态性
并发性
独立性
异步性

进程的结构
功能描述

进程控制块(PCB)
动态特征的集中反映

程序段
描述要完成的功能

数据段
操作对象及工作区

动态性

进程最基本的特征是动态性
进程的生命周期:

进程由创建产生,由调度而执行,由撤销而消亡的过程。
并发性
多个进程同在内存中,且能在一段时间内同时运行。
独立性
进程是一个能独立运行、独立分配资源、独立接受调度的基本单位
异步性
进程按各自独立的、不可预知的速度向前推进
进程的定义
进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。
进程和程序的关系
(1)进程是一个动态概念,程序是一个静态概念
(2)进程具有并行特征,程序没有
(3)进程是竞争资源的基本单位
(4)一个程序对应多个进程,一个进程为多个程序服务。
进程的三种基本状态

就绪状态
运行状态
阻塞状态

就绪状态

进程已经分配了除处理机以外的所有必要资源,只要再获得处理机就能执行的状态
这样的进程可以有多个,通常排成一个队列,称就绪队列。

执行状态

已经获得 CPU,正在运行
在单处理机系统中,只有一个进程处于执行状态。多处理机系统则有多个处于执行状态。

阻塞状态

正在执行的进程由于发生了某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态

引起阻塞的事件:请求 I /O,申请缓存。

挂起状态
引入原因
(1)终端用户请求(2)父进程请求(3)负荷调节需要(一般在实时操作系统中使用)(4)操作系统的需要
挂起引起的状态转换
静止状态(挂起状态)活动状态(非挂起状态)
引入挂起概念后,原先的进程的三种状态就变成了 5 种:
(1)执行(2)活动就绪(3)静止就绪(4)活动阻塞(5)静止阻塞

进程控制块
Process Control Block

PCB 是 OS 中最重要的记录型结构
OS 用 PCB 对并发进程进行管理和控制
PCB 是进程存在的唯一标志
PCB 常驻内存
PCB 专门开辟 PCB 区将所有的 PCB 组织成若干个链表或队列

结构体(structure)
for example: 一个学生的自然信息(姓名,性别,年龄,生日……)
PCB 中的信息
(1)进程标识符
(2)处理机状态
(3)进程调度信息
(4)进程的控制信息
进程标识符
(1)内部标识符
进程唯一的数字编号,给 OS 使用
(2)外部标识符
由字母、数字组成,给用户使用
处理机状态
处理机中的主要寄存器
(1)通用寄存器 8~32 个,暂存信息用
(2)指令计数器 要访问的下一条指令的地址
(3)程序状态字 PSW 条件码、执行方式、中断屏蔽标志
(4)用户栈指针 用户进程拥有的系统栈,存放过程和系统调用参数及调用地址。
进程调度信息

进程状态
进程优先级
与调度算法有关信息
事件 如:阻塞原因

进程控制信息

程序和数据地址
进程同步和通信机制
资源清单:除 CPU 之外的所需资源与已经分配资源清单
链接指针:本进程 PCB 所在队列的下一个地址

PCB 的组织方式
(1)链接方式
把统一状态的 PCB,用其中的链接字链接成一个队列。如,就绪队列、阻塞队列(根据不同阻塞原因)、空白队列。
(2)索引方式
建立就绪索引表、阻塞索引表等。把索引表在内存的首地址放在内存的专用单元中。
链接方式

索引方式

退出移动版