3.进程控制

  • 进程管理中最基本的功能是进程控制
  • 进程控制任务:

进程的建立、终止、进程状态的转变等数据结构

  • 进程控制通常由OS内核来实现。

引发建立进程的事件

  • 用户登陆
  • 做业调度
  • 提供服务
  • 应用请求

(1)(2)(3)由系统内核建立,应用请求由用户本身建立。并发

进程的建立

  • 原语CREAT()按下述步骤建立一个新进程;

(1)申请空白PCBblog

(2)为新进程分配资源队列

(3)初始化进程控制块进程

(4)将新进程插入就绪队列事件

PCB的初始化

(1)初始化标识信息资源

(2)初始化处理机状态信息同步

(3)初始化处理机控制信息登录

引发进程终止的事件

  • 正常结束请求

  • 异常结束

(1)越界错误

(2)保护错(好比对只读文件进行写操做)

(3)非法指令

(4)特权指令

(5)运行超时

(6)等待超时

(7)算数运算错

(8)I/O故障

  • 外界干扰

(1)操做员或OS干涉

(2)被父进程终止

(3)父进程终止(父进程终止,子孙进程必然也终止)

进程的终止过程

  • 从PCB集合中检索出该进程的PCB,从中读出该进程的状态
  • 若处于执行状态,终止该进程的执行,并置调度标志为真,从新调度。
  • 如有子孙进程,将全部子孙进程终止
  • 将进程所有资归还其父进程或系统
  • 将其PCB从所在队列(或链表)中移出

引发阻塞和唤醒的事件

  • 请求系统服务
  • 启动某种操做
  • 新数据还没有到
  • 无新工做可作

注意

  • BLOCKWAKEUP是一对做用相反的原语
  • 若是在某进程中调用了阻塞原语,则必须在与之相合做的另一个进程中或其余相关的进程中,安排唤醒原语,以能唤醒阻塞进程;不然,被阻塞进程将会因不能被唤醒而长久地处于阻塞状态,从而再无机会继续运行。

进程的挂起

  • 挂起原语:SUSPEND()
  • 挂起原语的执行过程

检查被挂起进程的状态,若处于活动就绪状态,改成静止就绪;若处于活动阻塞状态,则改成静止阻塞;若正在执行,则转向调度程序从新调度。

进程的两种制约关系

  • 间接制约:进程间因为共享某种系统资源,而造成的相互制约。
  • 直接制约:进程间因为合做而造成的相互制约

进程的两大关系

  • 互斥

互斥是并发执行的多个进程因为竞争同一资源而产生的相互排斥的关系。

  • 同步

同步是进程间共同完成一项任务时直接发生相互做用的关系。

同步进程间具备合做关系,在执行时间上必须按必定的顺序协调进行。

临界资源

一次仅容许一个进程使用的共享资源,如:打印机、磁带机、表格。

临界区

在每一个进程中访问临界资源的那段程序。

进程必须互斥进入临界区(即5个链接在同一个打印机上的打印程序,必须依次一个一个执行)

同步机制遵循的原则

(1)空闲让进

(2)忙则等待

(3)有限等待

(4)让权等待

信号量机制

信号量

  • 信号量是一种数据结构
  • 信号量的值与相应资源的使用状况有关
  • 信号量的值仅由P、V操做改变
相关文章
相关标签/搜索