第二章 2.2 进程的控制

进程控制的基本过程:1)进程的创建 2)进程的终止 3)进程的阻塞与唤醒 4)进程的挂起与激活

系统中运行的进程并不都是孤立的,有的进程运行后,会调用其他进程来执行,这样就组成了进程间的父子关系
  • 可用 “进程图”描述一个进程的家族关系,该图实际就是一种有向树
  • 进程间的父子关系关系着资源的继承。创建和撤销进程时,其父、子进程要相应的被影响

进程的创建过程:( 过程不能被打断 )

  • 申请空白PCB
  • 为新进程分配资源
    - 主要是内存资源的处理
  • 初始化进程控制块
    - 标识符(包括父进程的)、程序计数器指向程序入口地址,就绪态、优先级等信息的填写。
  • 将新进程插入就绪队列
原语是由若干指令构成的原子操作过程,作为整体实现功能,不可被打断
  • OS通过调用进程创建原语Creat()创建新进程
  • 其他各控制工作也都是由OS内核以“原语”的方式实现,以保证不被打断

进程的终止:

  • 引起终止的事件
    • 正常结束
    • 异常结束
      - 内存越界错误
      - 保护错(权限错,如修改只读文件等)
      - 非法指令(不存在的指令,程序异常转向而把数据当指令)
      - 特权指令错(用户态程序试图执行只有OS可执行的指令)
      - 运行超时、运算错、i/o故障等
    • 外界干预
      - 操作员或操作系统干预(死锁时,可人为结束)
      - 父进程请求终止子进程
      - 父进程终止,子孙进程也跟着终止
  • 终止过程:(对上述事件,OS调用内核终止原语,执行下列过程)
    - 根据进程标示符,检索出该进程PCB,读其状态
    - 归还全部资源至其父进程或系统
    - 将该进程PCB从所在队列或链表中移出

进程的阻塞与唤醒:( 引起进程阻塞和唤醒的事件 )

  • 请求系统服务的满足情况
  • 启动某种需等待(I/O)操作
  • 合作需要的新数据尚未到达
  • 执行某功能的进程暂时无新工作可做(如发送数据进程)

阻塞与唤醒的过程:

  • 由进程调用阻塞原语阻塞自己,是主动行为
    - 将PCB中的状态改为阻塞
    - 该PCB加入到阻塞队列中
    - 转进程调度,将处理机分配给另一进程
    - 进行进程切换,即根据两切换进程的PCB,保护与重新设置处理机状态
  • 阻塞与唤醒原语作用相反,成对使用(阻塞进程等待的事件发生时,有关进程(如放弃该资源的进程)调用唤醒原语把等待该事件的进程唤醒)
    - 把阻塞进程从等待该事件的阻塞队列中移出
    - 将其PCB中的现行状态改为就绪
    - 将PCB插入到就绪队列中

进程的挂起与激活:( 挂起原语将指定进程或阻塞进程挂起 )

  • 检查被挂起进程的状态,活动就绪则改为静止就绪,活动阻塞则改为静止阻塞
  • 将该PCB复制到内存(方便检查)/外存(对换)指定区域
  • 若挂起的进程是执行态,则需重新进行进程调度
    • 注意:进程只能挂起自己或其子孙进程
激活原语的执行过程:
  • 若挂起进程在外存上,将其调入内存
  • 检查进程状态,若处于静止就绪,则改为活动就绪,若处于静止阻塞,则改为活动阻塞

2.3 进程同步:

进程同步的主要任务:使并发执行的诸进程之间能有效地 共享资源相互合作 ,从而使程序的执行具有 可再现性

临界资源:一次仅允许一个进程使用的资源

互斥:在操作系统中,当一个进程进入临界区使用临界资源时,另一个进程必须等待,直到占用临界资源的进程退出临界区,我们称进程之间的这种相互制约关系为“互斥”
同步:多个相互合作的进程,在一些关键点上可能需要互相等待或互相交换信息,这种相互制约关系称为进程同步关系。可理解为“有序”

临界区:每个进程中访问临界资源的 那段代码 叫临界区

同步机制遵循的规则:

  • 空闲让进:资源使用最基本原则
  • 忙则等待:保证互斥
  • 有限等待:合适时被唤醒防止死等
  • 让权等待:能主动释放CPU防止忙等
同步控制的关键:不应被打断(原语,OS核心态运行),不被打断的进行标志值的判断和修改

硬件同步机制:( 进入临界区往往跟其标志有关,可将标志看做一个锁,“锁开”进入并关锁,“锁关”必须等待,初始时锁是打开的 )

  • 关中断:( 进入锁测试前关闭中断,直到完成锁测试并上锁后才能打开中断。进程在临界区执行期间,系统不响应中断,从而不引发调度 )
    - 滥用风险
    - 关中断时间过长会影响效率,限制CPU交叉执行能力
    - 不适用于多CPU系统
  • Test-and-Set 指令
  • Swap 指令

猜你喜欢

转载自blog.csdn.net/qq_40199634/article/details/82858819