进程调度
多任务
多任务操作系统就是能同时并发地交互执行多个进程的操作系统。
分类(非抢占式多任务,抢占式多任务)
1.抢占式多任务
在此模式下,由调度程序来决定什么时候停止一个进程的运行,以便其他进程能够得到执行机会。
这个强制的挂起动作就叫做抢占。
进程在被抢占之前能够运行的时间是预先设置好的,叫做进程的时间片。
时间片就是进程能够在处理器上运行的时间。
2.非抢占式多任务模式
除非进程自己主动停止运行,否则它会一直执行。进程主动挂起的
的操作叫做让步。
》缺点
调度程序无法对每个进程该执行多长时间做出统一规定。
Linux的进程调度
原始的叫做O(1)调度器,现在采用CFS(完全公平调度算法)。
CFS以前又叫做“反转楼梯最后期限调度算法”(RSDL)
策略
策略决定调度程序在何时让什么进程运行。调度器的策略往往就决定系统的整体印象,并且,还要负责优化使用处理器时间。无论从哪个方面来看,它都是至关重要的。
I/O消耗型进程:进程的大部分时间用来提交I/O请求或是等待I/O请求。
处理器耗费型进程:进程的时间大多用在了执行代码上。
网友评论