1.先来先服务算法
先来先服务算法就是哪个进程先来,先给哪个进程使用CPU。
优点:最简单、最公平的算法
缺点:可能造成短进程一直等待长进程,造成等待时间长的问题。
2.优先级算法
给不同的进程分配不同的优先级。优先级高的进程先执行,优先级低的进程后执行。
优点:适合紧急任务优先执行的场景
缺点:可能会造成优先级低的进程一直等待,产生饥饿问题。
3.时间片轮转调度算法
对CPU的使用时间进行分片。不同的进程轮转使用CPU。
优点:响应时间快,适合交互式系统
缺点:时间片的设置对性能影响比较大。
4.最短作业时间优先调度算法
执行时间短的进程优先使用CPU。
优点:使等待时间最短
缺点:得提前知道每个进程的执行时间
5.优先级反馈队列调度算法
设置优先级队列,进程在不同的队列之间移动,优先级高的队列中的进程优先执行,等待时间太长的进程会被提到优先级较高的队列中。
优点:灵活性高,可以根据进程的需求和行为动态调整优先级
缺点:比较复杂
6.吞吐量最大调度算法
保证单位时间内完成的进程数最多
优点:执行完的进程多
缺点:可能不够公平
7.最高响应比优先调度算法
响应比=等待时间/服务时间,响应比高的优先执行。
优点:平衡了服务时间和等待时间
缺点:得提前知道服务时间
8.最短剩余时间优先调度算法
在所有进程中,最短剩余时间的进程优先执行。
优点:理论上保证了最短的等待时间
缺点:得提前知道剩余的执行时间