文档介绍:第五讲进程表示与进程状态变化
目的与要求:理解进程概念,掌握进程在系统中的表示方法,理解进程的创建及其状态变化。
重点与难点:进程表示与进程创建,状态转换
习题:1, 2, 4, 5
第三章进程与处理机管理
进程描述
进程:是系统中占用处理机及争夺其它系统资源的实体。用户程序必须在进程中运行。
进程的引入:
为了能在作业内某作业步等I/O时,另一逻辑上可并行作业步能使用CPU。引入进程后,逻辑上可并行的作业步可在不同进程中运行。处理机能在进程间切换。
引入进程后原多道程序设计系统中的作业可看成是只有一个进程的作业,作业间可以并发,而作业内作业步间不能并发。而新的作业则可包含多个进程。*
并发与共享的问题:并行程序访问共享数据问题举例:(count为共享变量,初值=300)
Program A: …
N=count
N=N+100
count=N
…
Program B:…
M=count
M=M+200
count=M
…
如果按以下次序占处理机运行:
N=count,N=N+100;
M=count,M=M+200,count=M;
count=N.
结果count=400(应为600)*
1. 进程定义
进程:是一个有独立功能的程序关于某个数据集合的一次运行活动。
特点:
动态性:可动态创建,结束,也可是精灵进程
并发性:可以被独立调度,占用处理机运行
独立性:尽量把并发事务安排到不同的进程
制约性:因访问共享数据或进程间同步而产生制约
组成:操作系统表示/管理进程的PCB表以及
执行程序及处理数据
一片存放程序和数据的地址空间
一个栈区(一个用户栈,一个核心栈)
进程使用的其他系统资源*
2. 进程控制结构
进程映像:进程执行程序、数据、栈。进程映像如何存放在内存取决于存储管理机制
进程控制块PCB:系统管理控制进程运行用的信息集合*
PCB含有以下三大类信息:
进程标识信息。如本进程的标识;本进程的产生者标识(父进程标识);进程所属用户标识
处理机状态信息保存区(栈式结构)。保存进程的运行现场信息:
用户可用寄存器。这是指用户程序可以使用的数据、地址寄存器
控制和状态寄存器。如程序计数器(PC);程序状态字(PS)
栈指针。过程调用/系统调用/中断处理和返回时需要用到它*
进程控制信息
调度和状态信息,用于操作系统调度进程占用处理机
进程间通信信息,与支持进程间通信相关的各种标识、信号、信件等,这些信息存在接收方的进程控制块中
存储管理信息。包含有指向本进程映像存储空间的数据结构
进程所用资源。说明由进程打开、使用的系统资源,如打开的文件等
有关数据结构链接信息,进程可以链接到一个进程队列中,或链接到相关的其它进程PCB *
进程状态
进程的创建与结束等系统调用
:
接收进程运行现场初始值、初始优先级、初始执行程序描述、其它资源等参数
请求分配进程描述块PCB空间,得到一个内部数字进程标识
用从父进程传来的参数初始化PCB表
产生描述进程空间的数据结构,用初始执行文件初始化进程空间,建立程序段,数据段、栈段等*
。造一个进程运行栈帧
,等待时机被调度运行*
:
,设备
,如在UNIX中,将该结束进程的所有子进程链到1号进程,作为1号进程的子进程,并通知父进程自己已结束
(对于虚存来说如:交换区,所占物理页,将页表所占空间返还系统)
(PCB)
*