1.进程的概念
为了更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性
进程控制块(Process Control Block,PCB):为了更好地描述进程的基本情况和运行状态,进而控制和管理进程。
PCB是进程存在的唯一标志。
进程的一些典型定义:
进程是程序一次执行过程;
进程是一次程序及其数据在处理机上顺序执行时所发生的活动;
进程是具有独立功能的程序在一个数据集合上运行的过程,是资源分配和调度的独立单位。
2.进程的特征
动态性:一次执行有一系列过程,具有生命周期,是最基本特征。
并发行:多个进程同时存在,让程序和程序能并发执行。
独立性:进程是独立获得资源和独立接受调度的基本单位。
异步性:进程相互制约,具有执行的间断性。
结构性:配置了一个PCB对其进行描述。结构上进程实体是由程序段、数据段和进程控制块组成。
3.进程的状态与转换
状态分为:运行态、就绪态、阻塞态、创建态、结束态。
就绪态获得处理机进入运行态。
运行态进程时间片用完后让出处理机进入就绪态。
运行态请求其他资源,运行态进入阻塞态。
阻塞态其他资源操作结束时,或中断结束进入就绪态。
进程的控制
4.进程的创建
分配进程标示号,申请PCB
为进程分配资源,为程序和数据以及用户栈分配必要的内存空间
初始化PCB,包括初始化标志信息、初始化处理机状态信息、初始化处理机控制信息、设置进程的优先级
若进程就绪队列可以接纳新进程,进程就进入就绪态
5.进程的终止
结束可以分为正常结束、异常结束、外界干预。
结束过程
根据终止进程的标识符,检索PCB,读取进程状态
若进程处于运行态,终止运行,剥夺处理机
终止进程之下的子进程
该进程拥有的全部资源返还父进程或操作系统
将PCB从队列移除
6.进程的阻塞和唤醒
阻塞原语执行过程:(阻塞是进程自身的一种主动行为)
找到要被阻塞进程标示号对应的PCB
若处于运行态,保护现场,转为阻塞态,停止运行
将PCB插入相应时间的等待队列
唤醒原语的执行过程:(资源达到后有关进程调用唤醒原语)
找到等待队列中进程相应的PCB
将其从等待队列中移除,置其状态为就绪态
将PCB插入就绪队列,等待调度程序调度
7.进程切换
进程切换是在内核态下完成的
过程:
保存处理机上下文,包括程序计数器和其他寄存器
更新PCB信息
把进程的PCB移入相应的队列,如就绪、在某事件阻塞等队列
选择另一个进程执行,更新其PCB
更新内存管理的数据结构
恢复处理机上下文
8.进程的组织
进程是一个独立的运行单位,也是操作系统进行资源分配和调度的基本单位
包括进程控制块、程序段、数据段
进程控制块有进程描述信息、进程控制和管理信息、资源分配清淡、处理机相关信息
程序段有能被进程调度程序调度导CPU执行的程序代码段
数据段有进程对应的程序加工处理的原始数据或者程序执行时产生的中间或者最重结果
进程的组织方式有链接方式和索引方式。
链接方式按照进程状态将PCB分为多个队列,操作系统持有指向各个队列的指针。
索引方式根据进程状态的不同,建立几张索引表,操作系统持有指向各个索引表的指针。
网友评论