当前位置: 首页 > Linux

2.进程

时间:2023-04-06 18:56:45 Linux

进程管理的基本概念进程和程序的区别进程控制进程同步进程通信线程进程的基本概念并发环境下一个程序的执行过程资源分配和独立运行的基本单位程序的顺序执行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;S1AndS2可同时执行-》S3-》S4程序并发执行的特点是间歇共享、协作、约束,导致执行->暂停->执行失去关闭资源状态。被多个程序改变,不可复现相同的环境和初始条件,重复执行,结果不同ProgramAL1:N:=N+1gotoL1ProgramBL2:PRINT(N)N:=0gotoL2设置共享的初始值变量N为5,会有3种执行结果:6,6,05,0,15,6,0特性程序段描述待完成的功能数据段操作对象和工作区动态流程最基本的特征是动态流程的生命周期:一个流程由创建产生,由调度执行,由消除。并发性多个进程驻留在内存中,可以并发运行一段时间。独立进程是能够独立运行、独立分配资源、独立接受调度的基本单元。异步进程以独立且不可预测的速度向前推进。进程的定义是一个进程实体的运行过程,是分配资源的系统。和调度的基本单位。进程与程序的关系(1)进程是动态概念,程序是静态概念(2)进程具有并行特性,程序不具有(3)进程是竞争资源的基本单位(4)一个程序对应多个进程,一个进程为多个程序服务。进程的三种基本状态:就绪态、运行态、阻塞态、就绪态,进程已经分配了除处理器以外的所有必要资源,只要获得另一个处理器就可以执行。可以有多个这样的进程,通常在一个队列中,称为就绪队列。Executingstate已获取CPU,运行在单处理器系统上,只有一个进程处于executingstate。多处理器系统有多个处于执行状态。阻塞状态当正在执行的进程因为某个事件暂时无法继续执行时,进入放弃处理器状态,在等待状态也称为导致阻塞的事件:请求I/O,申请缓存。引入挂起状态的原因(1)终端用户请求(2)父进程请求(3)负载调整需要(一般用于实时操作系统)(4)操作系统挂起引起的状态转换到静态状态(挂起状态)活动状态(非挂起状态)引入挂起的概念后,进程原来的三种状态变成了五种:(1)执行(2)主动就绪(3)静态就绪(4)activeblocking(5)Staticblocking进程控制块ProcessControlBlockPCB是OS中最重要的记录结构。OS使用PCB来管理和控制并发进程。PCB是进程存在的唯一标志。分成几个链表或队列结构(structure)例如:一个学生的自然信息(姓名,性别,年龄,生日...)PCB中的信息(1)进程标识符(2)处理器状态(3)进程调度信息(4)进程控制信息进程标识符(1)内部标识符进程的唯一编号,供OS使用(2)外部标识符,由字母和数字组成,供用户使用。寄存器(1)8~32位通用寄存器,用于暂存信息(2)指令计数器要访问的下一条指令的地址(3)程序状态字PSW条件码、执行方式、中断屏蔽标志(4)用户栈指针用户进程拥有的系统栈,存放进程和系统调用的参数和调用地址。进程调度信息进程状态进程优先级和调度算法相关信息事件如:阻塞原因进程控制信息程序和数据地址进程同步和通信机制资源列表:除CPU之外的所需资源和分配的资源列表链接指针:This的下一个地址进程PCB所在队列PCB的组织方式(1)链接方式将处于统一状态的PCB链接起来,形成队列,队列中有链接字。比如就绪队列,阻塞队列(根据阻塞原因不同),空白队列。(2)索引方法建立就绪索引表、阻塞索引表等,将索引表在内存中的首地址放在内存的专用单元中。链接方式索引方式