所谓进程调度方式,就是指当某个进程正在处理机上执行时,若有某个更为重要或紧迫的进程需要处理,即有优先权更高的进程进入就绪队列,此时应该如何分配处理及。
两种进程调度方式
非剥夺调度方式
又称非抢占方式。非剥夺调度方式是指当一个进程正在处理机上执行时,即使有某个更为重要或紧迫的进程进入就绪队列,仍然让正在执行的进程继续执行,直到该进程完成或发生某种事件而进入阻塞态时,才把处理机分配给更为重要或紧迫的进程。
在非剥夺调度方式下,一旦把CPU分配给一个进程,该进程就会保持CPU直到终止或转换到等待态
优点
实现简单、系统开销小、适用于大多数的批处理系统
缺点
不能用于分时系统和大多数实时系统
剥夺调度方式
又称抢占方式。剥夺调度方式是指当一个进程正在处理机上执行时,若有某个更为重要或紧迫的进程需要使用处理机,即立即暂停正在执行的进程,将处理机分配给这个更为重要或紧迫的进程。
优点
提高系统吞吐率和响应效率
典型的调度算法
先来先服务(FCFS)调度算法
算法每次从后备作业队列中选择最先进入该队列的一个或几个作业,将它们调入内存,分配必要的资源,创建进程并放入就绪队列。
FCFS调度算法属于不可剥夺算法
特点
算法简单,但效率低;对长作业比较有利,但对短作业不利;有利于CPU繁忙型作业,而不利于I/O繁忙型作业。
短作业优先(SJF)调度算法
SJF从后备队列中选择一个或若干估计运行时间最短的作业,将它们调入内存运行