2.1 进程的基本概念:
2.11 程序的顺序执行及其特征
程序的顺序执行->必须按某种先后次序顺序执行,仅当前操作执行完后,才能进行后续操作。
程序顺序执行时的特征:
•顺序性
•封闭性(独占全机资源)
•可在现性
2.12 前驱图(Precedence Graph)
前驱图是一个有向无环图DAG,用于描述进程之间执行的先后关系。
→ = { (pi, pj) | pi must complete before pj may start }; (前驱关系集合)
Initial Node : 初始结点; Final Node : 终止结点;
Weight : 表示该节点所含有程序量或结点的执行时间。
2.13 程序的并发执行及其特征
•间断性(共享系统资源,相互制约导致:执行---暂停---执行)
•失去封闭性(不再独占资源,受其他程序影响)
•不可再现性(由于失去了封闭性,其计算结果已与并发程序的执行速度相关)
进程概念的出现 : 因程序并发执行的不可再现性,使程序的运行失去意义,通常的程序是不能参与并发执行。
引入“进程”的概念是
为了使程序并发,且对并发执行的程序加以描述和控制。
进程的特征
•结构特征
进程实体 -> 程序段 + 相关数据段 + PCB(进程控制块Process Control Block)
•动态性 ( 进程最基本的特征 )
“它由创建而产生,由调度而执行,由撤销而消亡”
程序-静态;进程-动态;
进程的实质:进程实体的一次性执行过程;
•并发性
多个进程实体同存于内存中,且能在一段时间内同时运行。
•独立性
独立运行、独立分配资源、独立接受调度的基本单位。(凡未建立PCB的程序不能作为独立的单位参与运行)
•异步性
各自独立,以不可预知的速度向前推进。
进程的几种典型定义
•进程是程序的一次执行。
•进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
•进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程的三种基本状态:
挂起状态。
进程的创建过程
•申请空白PCB。
•新进程分配资源。
•初始化进程控制块。
•将新进程插入就绪队列。
进程的终止过程:(通过进程终止原语来终止进程)
•查找对应的PCB
•终止该进程及子孙进程
•释放资源
•回收PCB(终止进程的实质)
2.15进程控制块PCB
1)进程控制块的作用
PCB的作用:OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB是进程存在的惟一标志。
PCB由进程创建时创建、结束时回收。
常驻内存、系统将所有PCB组织成若干个链表(或队列)- 存放在操作系统专门开辟的PCB区内。
2)PCB的信息
a.进程标识符
内部标识符 - 方便系统调用(惟一的数字标识符)
外部标识符 - 用户(进程)在访问进程时使用(字母、数字)。
•家族关系 - 父进程标识、子进程标识。
b.处理机状态
由各种寄存器中的内容组成
•通用寄存器(暂存信息)
•指令寄存器(下一条指令的地址)
•程序状态字PSW(状态信息 如执行方式、条件码等)
•用户栈指针(系统栈,存放系统调用参数、调用地址。栈指针指向栈顶)
c.进程调度信息
•进程状态
•进程优先级
•进程调度所需的其他信息(进程等待和使用 CPU 的时间总和 - 与调度算法相关)
•事件(执行态->阻塞态的等待事件, 阻塞原因)
d.进程控制信息
•程序和数据的地址
•同步和通信机制
•资源清单(进程所需资源 及 已分配资源清单)
•链接指针(本进程(PCB)所在队列中下一个PCB的首地址)
3)进程控制块的组织方式
a.链接方式
b.索引方式
概念补充:
并行与并发的概念区别:
并行(Parallel)
•同一时刻,两个事物均处于活动状态
•示例:CPU中的超流水线设计和超标量设计
并发(Concurrency)
•宏观上存在并行特征,
微观上存在顺序性:即
同一时刻,只有一个事物处于活动状态
•示例:分时操作系统中多个程序的同时运行
进程同程序的比较:
•
进程是动态的,程序是静态的:进程是程序的一次执行过程;程序是有序代码的集合。
•
进程是暂时的,程序是永久的:进程是一个状态变化的过程,是有一定生命期的;
而程序可以作为一种软件资料长久保存。
•
进程与程序的组成不同:进程是由程序和数据、进程控制块三部分组成的。
•
进程与程序的对应关系:一个程序可对应多个进程,反之亦然。
进程具有创建其它进程的功能,而程序不能形成新的程序。