您现在的位置:学赛首页 > 研究生院 > 软件学院 > 正文
操作系统课程第三章-进程和线程的描述与控制[3]
http://www.educity.cn 作者:研究生院 来源:学赛网 2008年4月16日 发表评论 进入社区

  栈指针:每进程有多个与之相关的栈,用于保存调用参数。

  进程调度和状态信息

  进程调度和状态信息用于存放与进程调度及对换有关的信息。包括:

  进程状态:指明进程当前状态。

  进程优先级:描述进程使用处理机的优先级别。

  进程调度的其他信息:取决于进程调度算法,如等待时间。

  等待事件:进程处于等待状态的原因。

  进程控制信息

  进程控制信息:包括:

  程序和数据地址:指出进程的程序及数据在内存的地址。

  进程同步及通讯机制:如信号量、消息队列等。

  资源清单:记录进程所需的资源和已分配资源。

  链接指针:处于同一状态的进程组成一个队列,链接指针指向队首。

  进程特权:确定进程可以访问的内存空间及可以执行的指令类型。

  3.3 进程控制

  进程控制的职能是对系统中的所有进程实施有效的管理。

  常见的进程控制功能有进程创建、撤消、阻塞与唤醒等。这些功能一般由操作系统内核来实现。

  1.进程控制的有关概念

  为了保护操作系统,将处理机的状态分为:

  用户态:是用户程序执行时机器所处的状态。

  核心态:是操作系统内核运行时机器所处的状态。

  原语是由若干条机器指令构成的,用以完成特定功能的一段程序,这段程序在执行期间不可分割。

  进程图

  进程图又称进程树或进程家族树,是描述进程家族关系的一棵有向树。图中的结点表示进程,若进程A创建了进程B,则从结点A有一条边指向结点B,说明进程A是进程B的父进程,进程B是进程A的子进程。

  进程图例

  2. 进程创建

  导致进程创建的原因有:

  用户登录:用户登录后,若合法则为用户创建一个进程。

  作业调度:为调度到的作业分配资源并创建进程。

  OS服务:创建服务进程。

  应用需要:应用程序根据需要创建子进程。

  进程创建的方法

  引导程序以特殊方式创建系统进程。如UNIX系统中的0进程。

  由作业调度程序创建进程。

  由父进程创建子进程。

  创建原语的主要功能

  进程创建原语的主要功能是为被创建进程建立一个PCB。其算法思想如下:

  在PCB总链中查找同名进程,若有则出错返回;

  向系统申请一个空闲PCB结构,若没有则出错返回;

  初始化新进程的PCB:填写进程名、标识符、状态、程序地址等;

  将进程PCB插入相应队列:插入就绪队列及PCB总链。

  3. 进程终止

  引起进程终止的原因有:

  正常结束

  异常结束:超时、内存不足、地址越界、算术错、I/O故障、非法指令等。

  操作员或系统干预:因某种原因需要操作员或系统终止进程。

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]