3.进程控制

本文深入探讨了进程管理中的核心概念,包括进程控制的基本任务、创建与终止的条件、阻塞与唤醒机制,以及进程间的互斥与同步关系。详细解析了进程控制原语的执行流程,挂起操作,以及临界资源与临界区的概念。
  • 进程管理中最基本的功能是进程控制
  • 进程控制任务:

进程的创建、终止、进程状态的转变等

  • 进程控制一般由OS内核来实现。

引起创建进程的事件

  • 用户登录
  • 作业调度
  • 提供服务
  • 应用请求

(1)(2)(3)由系统内核创建,应用请求由用户自己创建。

进程的创建

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

(1)申请空白PCB

(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操作改变

转载于:https://my.oschina.net/u/1771419/blog/3007497

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值