进程管理进程的基本概念进程与程序的区别进程控制进程同步进程通信线程进程的基本概念程序在并发环境中的执行过程资源分配和独立运行的基本单位程序的顺序执行一个有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程序并发执行的特征间断性 共享、合作、制约导致,执行->暂停->执行失去封闭性 资源状态由多程序改变不可再现性 相同环境和初始条件, 重复执行,结果不同程序AL1: N:=N+1goto L1程序BL2: PRINT (N) N:=0goto L2设共享变量N初始值为5,则会产生3种执行结果:6,6,05,0,15,6,0进程的特征结构特征动态性并发性独立性异步性进程的结构功能描述进程控制块(PCB)动态特征的集中反映程序段描述要完成的功能数据段操作对象及工作区动态性进程最基本的特征是动态性进程的生命周期:进程由创建产生,由调度而执行,由撤销而消亡的过程。并发性多个进程同在内存中,且能在一段时间内同时运行。独立性进程是一个能独立运行、独立分配资源、独立接受调度的基本单位异步性进程按各自独立的、不可预知的速度向前推进进程的定义进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。进程和程序的关系(1)进程是一个动态概念,程序是一个静态概念(2)进程具有并行特征,程序没有(3)进程是竞争资源的基本单位(4)一个程序对应多个进程,一个进程为多个程序服务。进程的三种基本状态就绪状态运行状态阻塞状态就绪状态进程已经分配了除处理机以外的所有必要资源,只要再获得处理机就能执行的状态这样的进程可以有多个,通常排成一个队列,称就绪队列。执行状态已经获得CPU,正在运行在单处理机系统中,只有一个进程处于执行状态。多处理机系统则有多个处于执行状态。阻塞状态正在执行的进程由于发生了某事件而暂时无法继续执行时,放弃处理机而进入的状态,又称等待状态引起阻塞的事件:请求I/O,申请缓存。挂起状态引入原因(1)终端用户请求(2)父进程请求(3)负荷调节需要(一般在实时操作系统中使用)(4)操作系统的需要挂起引起的状态转换静止状态(挂起状态)活动状态(非挂起状态)引入挂起概念后,原先的进程的三种状态就变成了5种: (1)执行(2)活动就绪(3)静止就绪(4)活动阻塞(5)静止阻塞进程控制块Process Control BlockPCB是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)索引方式建立就绪索引表、阻塞索引表等。把索引表在内存的首地址放在内存的专用单元中。链接方式索引方式