进程定义:
是有独立功能的程序关于某个数据集合的一次运行活动,占用处理机及争夺其它系统资源的实体。
进程定义特点:
①动态性:可动态创建,结束,也可是精灵进程
②并发性:可以被调度轮流占用处理机运行
③独立性:有独立空间
④制约性:因访问共享数据或进程间同步而产生制约
进程的作用:
①能实现作业的不同作业步并发。在作业某作业步等I/O时,另一逻辑上可并发作业步能使用CPU运行。
②逻辑上可并发的作业步在不同进程中运行。处理机能在进程间切换。
进程组成:
①程序及数据,及存放程序和数据的内存空间。
②执行程序用的栈(含用户栈及核心栈)。
③进程管理信息及运行要用的其他系统资源。
进程与程序的区别:
①相同的程序可以在两个以上的进程中运行。
②程序文件存放在磁盘中,运行时读入内存;而进程是在系统运行期间动态创建的。
③程序只有程序语句及有初值数据变量和无初值变量;而进程一般还要从外部输入数据。
进程控制块PCB与进程映像:
进程控制块PCB:系统管理控制进程运行用的数据结构(含核心栈)。
进程映像:进程执行程序,数据栈(用户栈)。进程映像是进程存放于内存的对象,如何存放在内存取决于存储管理机制。
PCB含有以下三大类信息:
①进程标识信息。如本进程的标识;本进程的产生者标识(父进程标识);进程所属用户标识。
②处理机状态信息保存区(栈式结构)。实质就是核心栈。保存进程进入操作系统内核的运行现场信息。
③进程控制信息。包括:调度和进程状态信息、存储管理信息、进程所用资源信息。
进程的三种基本状态:
①就绪状态:已经分配了除CPU外所有的资源。
②执行状态:已经获取了包括CPU的所有资源,处于正在执行状态。
③堵塞状态:正在运行的进程由于某种原因暂时放弃了CPU而无法继续执行。如:请求I/O、申请缓冲空间。
挂起状态:
定义:使正在执行的进程暂停执行。
引入挂起状态的原因:
①终端用户的请求:当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。
②父进程请求:父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动。
③负荷调节的需要:当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以便系统能正常运行。
④负荷调节的需要:当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以便系统能正常运行。
创建进程的步骤:
①为新进程创建PCB,并填写必要的管理信息。
②把该进程转入就绪状态并插入就绪队列。
终止进程的步骤:
①等待操作系统进行善后处。
②将其PCB清零,并将PCB空间返还系统。
被终止的进程不能再被执行。