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

一.进程调度的时机

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

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

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

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

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

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

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

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

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

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

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

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

四.进程调度的方式

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

五.进程切换与过程

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

六.小结

  • 进程在操作系统内核程序临界区中,不能进行进程切换
  • 进程在普通临界区中,可以进行进程切换
  • 进程切换是有代价的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值