处理机调度
处理机调度
对于进程的执行,操作系统必须做出三个决定:长程调度,中程调度以及短程调度。
对于短程调度的设计可面向用户,也可面向系统。用户主要关心响应时间,而系统关系吞吐量和处理机利用率。
短程调度的算法有:先来先服务(FCFS),时间片轮转法,最短进程优先,最短剩余时间优先,最高响应比优先,多级反馈队列等。调度算法的选择取决于期望的性能及实际应用。
在多处理机系统中。处理机可共享内存,各调度算法的性能差别不大。
实时进程和任务要与外部事件交互,要满足一定的时限,实时操作系统就是要处理实时进程,关键在于满足时限。
============================================
在一个多道程序系统中,主存同时存在多个进程。每个进程在两种状态之间转换:要么占用处理机,要么等待I/O执行或等等待其他事件发生。处理机忙于执行一个进程而其他进程只有等待。
调度室多道程序的关键。事实上,有4种类型的调度。
名称 | 作用 |
---|---|
长程调度 | 决定增加与执行的进程池 |
中程调度 | 决定增加部分或全部位于主存内的进程数 |
短程调度 | 决定哪个就绪进程被处理机执行 |
I/O调度 | 决定哪个进程完成的I/O请求被可用I/O设备处理 |
处理机调度的目的是使处理机在满足系统要求的响应时间,吞吐量和处理机利用率的前提下及时的运行进程。在许多系统中,调度被分成三种:长程,短程和中程调度。
当产生一个新进程时,就执行长程调度,将新进程加到一组活动进中,中程调度室替换工的一部分,他将一个新进程的部分或全部调入内存以便执行。短程调度真正决定哪一个就绪进程将在下次执行。
由于调度决定了哪些进程将等待哪些进程被执行,所以它直接影响到系统的执行效率。从根本上讲,调度就是要使队列延迟最小,并优化系统的执行效率。
调度算法
短程调度的主要目标是以使系统性能得到优化的方法来分配处理机时间。调度算法需要从各个方面来考虑。
调度标准有以下几个方面:
- 响应时间
- 轮转时间,期限
- 预测性
- 吞吐量,处理机利用率
- 公平性,优先权,资源平衡。
调度策略
分为2类:
- 非抢占式。在这种情况下,只要进程处于运行态,他就一直执行直到终止或I/O阻塞或请求其他的OS服务。
- 抢占式。OS中断当前运行进程,将其便成就绪状态。抢占式的决定可以在到达一个新进程,将则色进程变为就绪状态的中断发生时,或时钟中断期间进行。
抢占策略比非抢占的开销要大,但他哥所有进程提供了更好的服务。因为他防止了一个进程独占处理机时间过长。另外他可以通过有效的现场切换机制(尽量使用硬件)和一个大的主存以容纳多的程序来降低其开销。