Day 8 中断服务处理机制与分配器

上篇说到排程器的部分,有个地方需要注意的是,如果因为硬体要求中断排程的优先权,此时就会有个中断服务的处理机制(interrupt service routines;简称ISR)出现,当ISR服务出现时,每个任务(task)都要遵循排程来进行中断的指示,等到下个排程时,在继续进行排程的演算(scheduling algorithms)。

排程的演算,是由排程器来决定,kernel通常会有两种排程演算法:
1.根据优先顺序,如果有急迫性,就先排上去。
2.根据时间排序。

每一个排程演算过程中,决定下一步执行哪个任务,是由一个分配器(dispatcher)来决定的,如果拿生活上的例子来说,分配器就是调度人员,最常见的就是货运公司出车的调度人员,由调度人员来指派发车顺序,以便出车流程的顺畅,物流业就最常见到此类逻辑运用的产业,大家可不要轻忽这个逻辑,假设你下订单购物,此时预计三天内发货,这个排程已经依时间顺序排好了,那麽第三天是否有货车帮你出货,这就要由物流公司的调度来安排出车,如果没有调度来分配,届时可能会出现没车出货,或者好几辆车同时要发一个货品,此时就会出现大乱的情况。

所以,我们很清楚的了解,排程排好之後,是程序上的排序,而实际任务的指派,就要以调度的方式来做实际调度,这个逻辑也是协助及时作业系统(RTOS)能够顺利运作的关键所在。


<<:  【Day 04】阿公级的系统分析方法 -- DFD

>>:  Spring Framework X Kotlin Day 17 Reactive

Day30 跟着官方文件学习Laravel-参赛心得

写铁人赛是一个非常有趣的过程,也让我在工作之余会继续接触程序,这次参赛的目的也算是整理自己在工作时需...

Day1 风生水起,观元辰宫-1

第一天为序章 这边以大多数台湾中小企业IT的处境出发,可能很多人以及评审不敢相信IT可以这麽包山包...

D1 (9/1)-全家(5903),统一超(2912)

注:发文日和截图的日期不一定是同一天。 买进全家(5903)、统一超(2912) 今日损益:-7 原...

Day25 NodeJS中的前端框架 I

在开发网站系统时,使用前端框架可以让资料更容易在介面中被使用、也可以建立模组化的介面,可以更有效的提...

那些被忽略但很好用的 Web API / CustomEvent

自己的事件自己决定。 网页最重要的两件事,资讯显示与使用者交互,而使用者交互在页面中所代表的行为就...