目录
一、引言
二、CPU调度的直观想法
------>2.1、FIFO
------>2.2、Priority
------>2.3、调度矛盾
三、各种CPU调度算法
------>3.1、FCFS(First Come,First Served)
------>3.2、SJF(Short Job First,短作业优先)
------>3.3、RR算法(按时间片来轮转调度)
一、引言
我们知道,程序需要获得CPU的资源才能被调度和执行,那么当一个进程由于某种原因放弃CPU然后进入阻塞状态,下一个获得CPU资源去被调度执行的进程会是谁呢?下图中,进程1因为阻塞放弃CPU资源,此时,进程2刚IO操作结束,可以获得CPU资源去被调度,进程3的时间片轮转结束,也同样可以获得CPU资源去被调度,那么,此时的操作系统应该安排哪个进程去获得CPU资源呢?这就涉及到我们操作系统的CPU调度策略了。
本文深入探讨了Linux内核的进程管理,重点关注CPU调度的三种策略:FIFO(先进先出)、Priority(优先级调度)以及RR(时间片轮转)。文章分析了各种策略的优缺点,例如FIFO可能导致小任务等待时间过长,Priority面临执行时间预测难题,而RR通过时间片平衡响应时间和周转时间。同时,文章还讨论了调度策略中的矛盾,如吞吐量与响应时间、前台任务与后台任务的需求差异,以及IO约束型任务与CPU约束型任务的特性。
订阅专栏 解锁全文
739

被折叠的 条评论
为什么被折叠?



