操作系统(day05)-- 进程调度、调度算法

进程调度(低级调度)

进程调度的时机

需要进行进程调度与切换的情况:

  • 当前进程主动放弃处理机
    • 进程正常终止
    • 进程主动请求阻塞(如等待I/O)
    • 运行过程中异常而终止
  • 当前进程被动放弃处理机
    • 分给进程的时间片用完
    • 有更加紧急的事需要处理(如I/O中断)
    • 有更高优先级的进程进入就绪队列

不能进行进程调度的情况:
1.在处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换。
2.进程在操作系统内核程序临界区中
3.在原子操作中(原语)

临界资源:一段时间内只允许一个进程使用的资源(访问内核数据结构,打印机等),各进程需要互斥的访问
临界区:访问临界资源的那段代码

问题:
进程在操作系统内核程序临界区中不能进行调度与切换

原因:
因为临界区分为内核程序临界区以及普通临界区
内核程序临界区一般是用来访问某种内核数据结构的(比如进程的就绪队列),即cpu在运行内核程序临界区(代码),功能是为了查看队列的一些信息,因此该进程在此期间不能被调度。
普通临界区,如访问打印机,那么该进程允许被调度。

进程调度的方式

  • 非剥夺调度方式
  • 剥夺调度方式
    在这里插入图片描述
    课后思维导图总结
    在这里插入图片描述

调度算法的评价指标

在这里插入图片描述

FCFS,SJF,HRRN调度算法

先来先服务(FCFS)

按照作业/进程到达的先后顺序进行服务
这里的作业是指程序需要被运行就作业需要被加载,作业排队的的队列叫做后备队列
先来先服务一般是非抢占式的算法
在这里插入图片描述
在这里插入图片描述

短作业优先(SJF)

  • 非抢占式的短作业优先算法(SPF)(默认情况下 SJF就是指SPF)
    每次调度时选择当前已到达且运行时间最段的作业/进程
  • 抢占式的短作业优先算法
    抢占式的短作业优先又叫“最短剩余时间优先算法(SRTN)
    每当有进程加入就绪列表改变时就需要调度(进程切换),如果新到达的进程运行时间要比当前运行的进程的剩余时间更短,则有新进程抢占处理机,当前运行进程重新回到就绪队列。一个进程运行完也需要调度在这里插入图片描述

高响应比优先(HRRN)

响应比 = 等待时间+运行时间 / 运行时间
相等等待时间, 运行时间越短的进程响应比越高,越优先执行
相等运行时间,等待时间越久的进程响应比越高,越优先执行
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值