操作系统 day07(进程控制、原语)

进程控制的概念

操作系统 day07(进程控制、原语)_第1张图片

原语

  1. 怎么实现进程控制—用原语实现
    操作系统 day07(进程控制、原语)_第2张图片
  • 如果不能一气呵成,那么会出现操作系统中的某些关键数据结构信息不统一的情况,这会影响操作系统进行别的管理工作,如下图所示:
    操作系统 day07(进程控制、原语)_第3张图片
  1. 原语的原子性怎么实现
  • 正常情况下,CPU每执行完一条指令都会例行检查是否有中断信号需要处理,如果有,则暂停运行当前这段程序,转而执行相应的中断处理程序
    操作系统 day07(进程控制、原语)_第4张图片
  1. 进程控制相关的原语
  • 创建原语
    操作系统 day07(进程控制、原语)_第5张图片

  • 终止原语
    操作系统 day07(进程控制、原语)_第6张图片

  • 阻塞和唤醒原语
    操作系统 day07(进程控制、原语)_第7张图片

  • 注意:阻塞和唤醒原语必须成对使用,因何事阻塞,就应由何事唤醒

  • 进程的切换原语
    操作系统 day07(进程控制、原语)_第8张图片
    操作系统 day07(进程控制、原语)_第9张图片

  • 如何理解运行环境信息

  • 首先,CPU中会设置很多“寄存器”,用来存放程序运行过程中所需的某些数据,需要注意的是,这些“寄存器”并不是某个进程独有的,而是所有进程公用的,如下图所示:
    操作系统 day07(进程控制、原语)_第10张图片

  • 如果当该进程执行完指令3,另一个进程开始上CPU运行,它会覆盖掉这些“寄存器”中的值。解决办法:在进程切换的时候,先在PCB中保存这个进程的运行环境(一些必要的寄存器信息),当原来的进程再次投入运行时,可以通过PCB来恢复它的运行环境

你可能感兴趣的:(操作系统,操作系统)