计算机操作系统学习之进程调度时机、切换与过程、方式

文章目录

  • 一.进程调度的时机
    • 1.当前运行进程主动放弃处理机
    • 2.当前运行进程被动放弃处理机
  • 二.不能进行进程调度与切换的情况
  • 三.普通临界区和操作系统内核程序临界区
  • 四.进程调度的方式
  • 五.进程切换与过程
  • 六.小结

一.进程调度的时机

1.当前运行进程主动放弃处理机

  • 进程正常终止
  • 运行过程中发生异常而终止
  • 进程主动请求阻塞(如等待I/O)

2.当前运行进程被动放弃处理机

  • 分给进程的时间片用完
  • 有更紧急的事需要处理(如I/O中断)
  • 有更高优先级的进程进入就绪队列

二.不能进行进程调度与切换的情况

  • 在处理中断的过程中
  • 进程在操作系统内核程序临界区
  • 在原子操作过程中(原语)

三.普通临界区和操作系统内核程序临界区

  • 临界资源:在一个时间段只允许一个进程访问的资源,各进程需要互斥的访问临界资源。

  • 临界区:访问临界资源的那段代码

  • 内核程序临界区:一般用来访问某种内核数据结构的,比如进程的就绪队列(由各就绪进程的PCB组成)

  • 当一个程序处于内核程序临界区并且要访问就绪队列,在访问之前,他会将就绪队列上锁。由于进程调度相关程序也需要访问就绪队列,此时如果要进行进程调度的话,因为就绪队列是上锁的,所以就无法进行进程调度
    在这里插入图片描述

  • 普通临界区访问的临界资源不会直接影响操作系统内核的管理工作,因此在访问普通临界区时可以进行调度与切换

四.进程调度的方式

  • 非剥夺调度方式:又称非抢占方式,即只允许进程主动放弃处理机。在运行过程中即使有更紧迫的任务到达,当前进程依然会继续使用处理机,直到该进程终止或者主动进入堵塞态。
  • 剥夺调度方式:又称抢占方式,当一个进程正在运行时,如果有一个更重要的或更紧迫的进程需要使用处理机,即暂停正在执行的进程,将处理机分配给那个更紧迫的进程。

五.进程切换与过程

  • 狭义的进程调度:从就绪队列选中一个要运行的进程。(这个进程可以是刚刚暂停的,也可能是另外一个进程,后者则需要进程切换
  • 进程切换:一个进程让出处理机,另一个进程占用处理机的过程
  • 广义的进程调度:包含选择一个进程进程切换
  • 进程切换的过程
    1.对原来运行进程各种数据的保存
    2.对新的进程各种数据的恢复
  • 进程切换是有代价的,过于频繁的进行进程切换,会使整个系统的效率减低。

六.小结

  • 进程在操作系统内核程序临界区中,不能进行进程切换
  • 进程在普通临界区中,可以进行进程切换
  • 进程切换是有代价的

你可能感兴趣的:(计算机操作系统,操作系统,内核)