嵌入式学习小组
直播中

赵敏

7年用户 1082经验值
私信 关注

操作系统是怎样通过一个调度程序来实现调度功能的

操作系统是怎样通过一个调度程序来实现调度功能的?任务调度的时机有哪几种情况?

回帖(1)

赵天湖

2021-12-23 14:22:26
嵌入式系统设计师学习笔记十三:进程管理④

任务调度:

任务调度——调度器

调度用来确定多任务环境下任务执行的顺序和获得CPU资源后能够执行的时间长度。
操作系统通过一个调度程序来实现调度功能。
  ①调度程序以函数的形式存在,用来实现操作系统的调度。
②调度程序本身并不是一个任务,是一个函数调用,可在内核的各个部分进行调用。
调度程序:可以看做CPU的资源管理者。
  ①从就绪队列中选择一个任务去执行
  ②调度算法:调度程序在决策过程中所采用的算法,是在一个特定时刻用来确定将要运行的任务的一组规则。
调度的时机

任务调度的时机,一般来说有5种情形,可能会发生任务的调度。
①任务创建
②任务运行结束
③任务被阻塞
④、⑤发生中断

调度的方式

不可抢占调度方式
①如果一个任务被调度程序选中,就会一直运行下去。
②直到该任务因为某种原因(如I/O操作或任务间的同步)被阻塞了,或者它主动地交出了CPU的使用权。
③调度时机中前三种情况(任务创建、任务运行结束、任务被阻塞),都可能会发生调度。第4、5种情况(即发生中断),不会发生调度。
可抢占调度方式
①当一个任务正在运行的时候,调度程序可以去打断它,并安排其他的任务去运行
②调度时机中的所有五种情况,都可能会发生调度。
  实时操作系统大都采用可抢占调度方式。 使得关键任务能够打断非关键任务的执行,确保关键任务的截止时间能够得到满足。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分