简介
调度信息池是指需要调度的进程或作业有关信息的汇集。调度信息池的建立方便调度程序对有关调度信息的管理,调度程序通过比较调度信息池的有关信息选择下一个要运行的作业或进程。
调度概述
调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。调度一般可以分为进程调度和作业调度。
作业调度。作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配运行所需的资源(首先是分配内存)。在将它们调入内存后,便分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并按照一定的算法将它们插入就绪队列。
(2) 进程调度。 进程调度的任务是从进程的就绪队列中, 按照一定的算法选出一个进程,把处理机分配给它,并为它设置运行现场,使进程投入执行。值得提出的是,在多线程 OS中,通常是把线程作为独立运行和分配处理机的基本单位,为此,须把就绪线程排成一个队列,每次调度时,是从就绪线程队列中选出一个线程,把处理机分配给它1。
调度程序进行调度工作的程序叫做调度程序,也称调度器。调度器通常的实现使得所有计算资源都处于忙碌状态(在负载均衡中),允许多位用户有效地同时共享系统资源,或达到指定的服务质量。调度是计算自身的基础,同时也是编程语言计算模型固有的部分。调度器使得在单处理器上通过多任务处理,从而让执行多个进程成为可能。调度器可能会针对不同的目标设计,例如:吞吐率最大化、响应时间最小化、最低延迟2、或最大化公平。
调度信息池的内容优先级优先级是指计算机分时操作系统在处理多个作业程序时,决定各个作业程序接受系统资源的优先等级的参数。各个作业在输入计算机之前,都要按一定的要求对它指定优先级。例如要按程序的性质或其长度,或是按作业的来源等,指定其优先级。然后计算机根据各作业程序优先级的高低,来决定处理各程序的先后次序。甚至在处理过程中,还能允许优先级较高的程序中断优先级较低的程序。进程是有优先级的。如果即将被运行的进程的优先级比正在运行的进程的优先级高,则系统可以强行剥夺正在运行的进程的CPU,让优先级高的进程先运行。
高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务的现象叫做优先级反转。 此时高优先级任务和中等优先级任务之间没有任何共享资源但执行顺序却发生了倒置,这种情况称为优先级反转,而高优先级任务因为等待低优先级任务释放资源而阻塞的情况则不称为优先级反转
内存需求内存需求是指进程或作业被调入内存运行,运行所需要的最小内存。如果最小内存需求都不能满足,进程或作业将会推迟运行。