操作系统(2)——进程与程序
(04-07讲)
进程:程序在并发环境中的执行过程,是资源分配和独立运行的基本单位。
程序顺序执行的三个特征:顺序性(处理机的操作严格按照程序所规定的顺序执行)、封闭性(程序在封闭环境下执行,结果不受外界因素影响)、可再现性(只要环境和初始条件相同,程序重复执行时总得到相同结果)。
程序并发执行的特征:间断性(共享、合作、制约导致)、失去封闭性(资源状态由多程序改变)、不可再现性(相同环境和初始条件,重复执行结果不同)。
进程的五大特征:
结构特征:PCB(process control block)进程控制块(动态特征的集中反映,与进程同存亡,常驻内存),程序段(描述要完成的功能),数据段(操作对象及工作区)
动态性(最基本的特征):进程由创建而产生,由调度而执行,由撤销而消亡。
并发性:多个进程同在内存中,且能在一段时间内同时运行。
独立性:进程是一个能独立运行、独立分配资源、独立接收调度的基本单位。
异步性:进程按各自独立的、不可预知的速度向前推进。
进程定义:是进程实体的运行过程,是系统进行资源分配和调度的基本单位。
进程和程序的关系:
1、进程是一个动态概念,程序是一个静态概念。
2、进程具有并行特征,程序没有。
3、进程是竞争资源的基本单位。
4、一个程序对应多个进程,一个进程为多个程序服务。(多对多)
进程的三种基本状态 (针对处理机而言):
就绪状态:进程已经分配了除处理机以外的所有必要资源,只要再获得处理机就能够执行的状态。这样的进程可能有多个,通常排成一个队列,称就绪队列。
执行状态:已经获得CPU,正在运行。在单处理机系统只有一个进程处于执行状态,多处理机系统则有多个处于执行状态。
阻塞状态:正在执行的进程由于发生某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态。引起阻塞的事件:请求I/O,申请缓存。
进程基本状态转换:
挂起状态:引入原因——终端用户请求、父进程请求、负荷调节需要、操作系统的需要
有挂起状态的进程状态图:
进程控制块:PCB是OS中最重要的记录型结构;OS用PCB对并发进程进行管理和控制;PCB是进程存在的唯一标志;PCB常驻内存;OS专门开辟PCB区将所有的PCB组织成若干个链表或队列。
PCB中的信息:
1、进程标识符:内部标识符(进程唯一的数字编号,给OS使用),外部标识符(由字母、数字组成,给用户使用)
2、处理机状态:处理机中主要的寄存器,1、通用寄存器 8-32个 暂存信息用;2、指令计数器 要访问的下一条指令地址;3、程序状态字PSW 条件码、执行方式、中断屏蔽标志;4、用户栈指针 用户进程拥有的系统栈,存放过程和系统调用参数及调用地址。
3、进程调度信息:进程状态,进程优先级(整数,数值越大,优先级越高),与调度算法有关信息,事件(如阻塞原因)。
4、进程控制信息:程序和数据地址,进程同步和通信机制,资源清单(除CPU之外的所需资源与已经分配资源清单),链接地址(本进程PCB所在队列的下一个地址)。
PCB的组织方式:
1)、链接方式:把统一状态的PCB,用其中的链接字链接成一个队列。
2)、索引方式:建立就绪索引表、阻塞索引表等。把索引表在内存的首地址放在内存的专用单元中。
引起创建进程的事件:(用户登录,作业调度,提供服务)3个由系统内核创建,应用请求由进程自己创建。
进程的终止过程:从PCB集合中检索出该进程的PCB,从中读取该进程的信息。
进程的创建:1)申请空白的PCB;2)为进程分配资源;3)初始化进程控制块;4)将新进程插入就绪队列。