请说明操作系统作业管理的功能?作业调度算法是指按照什么样的原则来选取作业并投入运行?调度算法的合理性直接影响系统的效率,作业调度算法有哪些?对算法的选择需要考虑哪些问题?
答案说明:本题目答案来自网络整理或转载,最终答案请以官网为准。
答 案:作业调度是操作系统作业管理的主要功能。 作业调度是从预先存放在辅助存储设备中的一批用户作业中按照某种方法选取若干作业为它们分配必要的资源决定调入内存的顺序并建立相应的用户作业进程和为其服务的其他系统进程然后再把这些进程提交给进程调度程序处理的一个过程。作业管理是宏观的高级管理进程管理是微观的低级管理。作业调入内存后已经获得了除CPU所有运行资源但因为未得到处理机分配还不能运行要通过进程调度分配处理机后再运行。这些状态之间完成的作业调度和转接。 操作系统的作业调度算法: (1)先来先服务(FCFS)。它类似于进程调度中的先进先出(FIFO)调度它按照作业到达的先后次序调度作业排队等待时间最长的作业被优先调度。这种调度算法有利于长作业而不利于短作业。一个执行时间非常短的作业也不得不排队等待直到轮到自己运行。 (2)短作业优先(SJF)。它类似于进程调度中的最短CPU运行期优先算法。它按照作业要求运行的时间来调度运行时间短的作业优先调度。自然这种算法有利于短作业且在大多数作业都是短作业的情况具有较大的合理性。但它又忽略了作业等待时间的长短不利于长作业可能会使一个运行时间较长的作业长期得不到调度。 (3)响应比高优先(HRN)。综合上述两者既考虑作业等待时间又考虑作业执行时间求两者时间之比(即相应比)高者优先。它在进行调度时需要首先计算每个作业的响应比。虽然是一种较好的折中但增加了系统的开销因为每次都要计算响应比。 (4)优先级调度。这种算法根据的是为作业所确定的优先级别优先级别高者优先调度。然而影响算法的是优先级的确定因为它并不是算法本身的过程。优先级的确定有许多因素如作业的紧急程度、作业的资源要求、作业的类别等等。这种调度算法往往与其他算法配合使用。 根据不同的应用环境而采用不同的算法。通常对算法的选择可以考虑如下问题 (1)使系统有最高的吞吐率能够处理尽可能多的作业。 (2)使系统达到最高的资源利用率不让处理机空闲。 (3)对各种作业合理调度使各类用户都满意。 (4)不增加操作系统本身开销不使系统过于复杂。
作业调度是操作系统作业管理的主要功能。 作业调度是从预先存放在辅助存储设备中的一批用户作业中,按照某种方法选取若干作业,为它们分配必要的资源,决定调入内存的顺序,并建立相应的用户作业进程和为其服务的其他系统进程,然后再把这些进程提交给进程调度程序处理的一个过程。作业管理是宏观的高级管理,进程管理是微观的低级管理。作业调入内存后,已经获得了除CPU所有运行资源,但因为未得到处理机分配还不能运行,要通过进程调度分配处理机后再运行。这些状态之间完成的作业调度和转接。 操作系统的作业调度算法: (1)先来先服务(FCFS)。它类似于进程调度中的先进先出(FIFO)调度,它按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度。这种调度算法有利于长作业,而不利于短作业。一个执行时间非常短的作业,也不得不排队等待,直到轮到自己运行。 (2)短作业优先(SJF)。它类似于进程调度中的最短CPU运行期优先算法。它按照作业要求运行的时间来调度,运行时间短的作业优先调度。自然,这种算法有利于短作业,且在大多数作业都是短作业的情况具有较大的合理性。但它又忽略了作业等待时间的长短,不利于长作业,可能会使一个运行时间较长的作业长期得不到调度。 (3)响应比高优先(HRN)。综合上述两者,既考虑作业等待时间,又考虑作业执行时间,求两者时间之比(即相应比),高者优先。它在进行调度时,需要首先计算每个作业的响应比。虽然是一种较好的折中,但增加了系统的开销,因为每次都要计算响应比。 (4)优先级调度。这种算法根据的是为作业所确定的优先级别,优先级别高者优先调度。然而,影响算法的是优先级的确定,因为它并不是算法本身的过程。优先级的确定有许多因素,如作业的紧急程度、作业的资源要求、作业的类别等等。这种调度算法往往与其他算法配合使用。 根据不同的应用环境而采用不同的算法。通常对算法的选择可以考虑如下问题, (1)使系统有最高的吞吐率,能够处理尽可能多的作业。 (2)使系统达到最高的资源利用率,不让处理机空闲。 (3)对各种作业合理调度,使各类用户都满意。 (4)不增加操作系统本身开销,不使系统过于复杂。