第2章作业管理和用户接口 本章主要从用户使用和系统管理两方面出发,讨论作业的概念以及操作系统为用户提供 的编程接口、命令接口和相关题解。 2.1内容辅导 2.1.1用户与操作系统之间的接口 为了使用户能方便地通过操作系统使用计算机,0S向用户提供了″用户与操作系统的接 口"。该接口通常以命令和系统调用的形式呈现在用户面前,而命令接口又可根据其对作业的 控制方式进一步分为联机命令接口和脱机命令接口两种。为了进一步方便用户使用计算机,20 世纪90年代初推出的操作系统中增加了一种基于图像的图形用户接口。在90年代后期,为了 便于计算机上网,又在计算机中配置了一种面向网络的网络用户接口。 1.命令接口 按命令接口对作业控制方式的不同,又可将命令接口分为联机命令接口和脱机命令接口。 (1)联机命令接口 联机命令接口又称交互式命令接口,它由一组键盘操作命令组成。用户通过控制台或终端 键入操作命令,向系统提出各种服务要求。用户每输入完一条命令,控制就转入命令解释程序, 然后命令解释程序对键入的命令解释执行,完成指定的功能。之后,控制又转回到控制台或终 端,此时用户又可以键入下一条命令 在微机操作系统中,通常把键盘命令分成内部命令和外部命令两大类: ●内部命令:这类命令的特点是完成命令功能的程序短小,使用频繁。它们在系统初 始启动时就被引导到内存且常驻内存。 ●外部命令:完成这类命令功能的程序较长,各自独立地作为一个文件驻留在磁盘上, 当需要它们时,再从磁盘上调入内存运行 (2)脱机命令接口 脱机命令接口也称批处理命令接口。它由一组作业控制命令(或称作业控制语言)组成 脱机用户是指不能直接干预作业运行的用户,他们应事先用相应的作业控制命令写成一份作 业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序 对作业说明书上的命令或作业控制语句逐条解释执行 2.程序接口 程序接口由一组系统调用命令〈简称系统调用〉组成。用户通过在程序中使用这些系统 调用命令来请求操作系统提供的服务。对于用汇编语言编写程序的用户,在程序中可以直接使 用这组系统调用命令向系统提出各种服务要求,如使用各种外部设备,进行有关磁盘文件的操 作,申请分配和回收内存以及其他各种控制要求等。对于使用高级语言的用户,则可以在程序 中使用过程调用语句。它们通过相应的编译程序将其翻译成有关的系统调用命令,再去调用系 统提供的各种功能或服务 (1)系统调用 所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能。具体地讲,系统调用 就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。完 成后,控制又返回到发出系统调用命令之后的一条指令,被中断的程序将继续执行下去。 实际上,系统调用命令不仅可以供使用汇编语言的用户程序使用,执行键盘操作命令的系 统程序也要使用系统调用来实现这些命令的功能 对于每个操作系统而言,其所提供的系统调用命令条数、格式以及所执行的功能等都不尽 相同,即使是同一操作系统,其不同版本所提供的系统调用命令条数也会有所增减。通常,一个
第 2 章 作业管理和用户接口 本章主要从用户使用和系统管理两方面出发,讨论作业的概念以及操作系统为用户提供 的编程接口、命令接口和相关题解。 2.1 内容辅导 2.1.1 用户与操作系统之间的接口 为了使用户能方便地通过操作系统使用计算机,OS 向用户提供了"用户与操作系统的接 口"。该接口通常以命令和系统调用的形式呈现在用户面前,而命令接口又可根据其对作业的 控制方式进一步分为联机命令接口和脱机命令接口两种。为了进一步方便用户使用计算机,20 世纪 90 年代初推出的操作系统中增加了一种基于图像的图形用户接口。在 90 年代后期,为了 便于计算机上网,又在计算机中配置了一种面向网络的网络用户接口。 1.命令接口 按命令接口对作业控制方式的不同,又可将命令接口分为联机命令接口和脱机命令接口。 (1)联机命令接口 联机命令接口又称交互式命令接口,它由一组键盘操作命令组成。用户通过控制台或终端 键入操作命令,向系统提出各种服务要求。用户每输入完一条命令,控制就转入命令解释程序, 然后命令解释程序对键入的命令解释执行,完成指定的功能。之后,控制又转回到控制台或终 端,此时用户又可以键入下一条命令。 在微机操作系统中,通常把键盘命令分成内部命令和外部命令两大类: ⚫ 内部命令: 这类命令的特点是完成命令功能的程序短小,使用频繁。它们在系统初 始启动时就被引导到内存且常驻内存。 ⚫ 外部命令:完成这类命令功能的程序较长,各自独立地作为一个文件驻留在磁盘上, 当需要它们时,再从磁盘上调入内存运行。 (2)脱机命令接口 脱机命令接口也称批处理命令接口。它由一组作业控制命令(或称作业控制语言)组成。 脱机用户是指不能直接干预作业运行的用户,他们应事先用相应的作业控制命令写成一份作 业操作说明书,连同作业一起提交给系统。当系统调度到该作业时,由系统中的命令解释程序 对作业说明书上的命令或作业控制语句逐条解释执行。 2.程序接口 程序接口由一组系统调用命令〈简称系统调用〉组成。用户通过在程序中使用这些系统 调用命令来请求操作系统提供的服务。对于用汇编语言编写程序的用户,在程序中可以直接使 用这组系统调用命令向系统提出各种服务要求,如使用各种外部设备,进行有关磁盘文件的操 作,申请分配和回收内存以及其他各种控制要求等。对于使用高级语言的用户,则可以在程序 中使用过程调用语句。它们通过相应的编译程序将其翻译成有关的系统调用命令,再去调用系 统提供的各种功能或服务。 (1)系统调用 所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能。具体地讲,系统调用 就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。完 成后,控制又返回到发出系统调用命令之后的一条指令,被中断的程序将继续执行下去。 实际上,系统调用命令不仅可以供使用汇编语言的用户程序使用,执行键盘操作命令的系 统程序也要使用系统调用来实现这些命令的功能。 对于每个操作系统而言,其所提供的系统调用命令条数、格式以及所执行的功能等都不尽 相同,即使是同一操作系统,其不同版本所提供的系统调用命令条数也会有所增减。通常,一个
操作系统提供的系统调用命令有几十乃至上百条之多,它们各自有一个惟一的编号或助记符。 这些系统调用按功能大致可分为设备管理、文件管理、进程控制、进程通信、存储管理几大 系统调用命令是为了扩充机器指令、增强系统功能、方便用户使用而提供的。因此,在一 些计算机系统中,把系统调用命令称为广义指令。广义指令与机器指令在性质上是不同的,机 器指令是用硬件线路直接实现的,而广义指令则是由操作系统提供的一个或多个子程序模块 实现的 ①算态与管态 计算机系统中的程序有系统程序和用户程序,操作系统如何区分这两类性质截然不同的 程序呢?为此把系统的运行状态分为:算态是用户程序运行的状态,也称为目态和管态是系统 程序运行的状态,也称为特权状态 ②特权指令 特权指令是一类只能在管态下执行,而不能在算态下执行的特殊机器指令 特权指令在不同的机器中有不同的规定,它与硬件特点和系统结构有关。常见的特权指令 有传送程序状态字、启动测试和控制外设的指令、存取特殊寄存器指令等。若程序在用户态 下使用它则为非法。若用户要求使用外设,就要使用”启动外设"的指令,而启动外设指令是特 权指令。用户必须使用一条指令,从原来的算态进入管态,在管态下由操作系统协助完成,完成 后再返回到时序 ③访管指令 它本身不是特权指令,其基本功能是″自愿进管",而引起访管中断。用户程序可利用访管 指令,要求操作系统提供相应的服务,从而实现系统功能调用 )系统调用的执行过程 虽然系统调用命令的具体格式因系统而异,但是,从用户程序进入系统调用的步骤及其执 行过程大体上是相同的。 用户程序进入系统调用是通过执行调用指令(在有些操作系统中称为访管指令或软中断 指令)实现的,当用户程序执行到调用指令时,就中断用户程序的执行,转去执行实现系统调用 功能的处理程序。系统调用处理程序的执行过程如下: ①为执行系统调用命令作准备。主要工作是把用户程序的现场保留起来,并把系统调用命 令的编号等参数放入指定的存储单元中 ②执行系统调用。根据系统调用命令的编号,访问系统调用入口衰,找到相应子程序的入 口地址,然后转去执行。这个子程序就是系统调用处理程序 ③系统调用命令执行完后的处理。主要工作是恢复现场,并把系统调用的返回参数送入指 定存储单元,以供用户程序使用。 (3)系统调用与过程调用的区别 ①系统调用和过程调用运行在不同的系统状态下。过程调用一般都是用户程序,或者都 是系统程序,即都是运行在同一系统状态下(算态或管态〉。但系统调用的调用过程是用户程序, 它运行在算态下,而被其调用的过程却是系统过程,运行在管态下。 ②系统调用必须通过软件中断进入 3.图形用户接口 图形用户接口采用了图形化的操作界面,它用图标将系统的各项功能、各种应用程序和文 件直观、逼真地表示出来。用户可通过图标、菜单、对话框以及鼠标和键盘,轻松地完成对应 用程序和文件的操作。图形用户接口中除指点设备(如鼠标)外,最重要的元素是图标、窗口和 菜单 2.1.2作业及作业调度
操作系统提供的系统调用命令有几十乃至上百条之多,它们各自有一个惟一的编号或助记符。 这些系统调用按功能大致可分为设备管理、文件管理、进程控制、进程通信、存储管理几大 类。 系统调用命令是为了扩充机器指令、增强系统功能、方便用户使用而提供的。因此,在一 些计算机系统中,把系统调用命令称为广义指令。广义指令与机器指令在性质上是不同的,机 器指令是用硬件线路直接实现的,而广义指令则是由操作系统提供的一个或多个子程序模块 实现的。 ①算态与管态 计算机系统中的程序有系统程序和用户程序,操作系统如何区分这两类性质截然不同的 程序呢?为此把系统的运行状态分为:算态是用户程序运行的状态,也称为目态和管态是系统 程序运行的状态,也称为特权状态。 ②特权指令 特权指令是一类只能在管态下执行,而不能在算态下执行的特殊机器指令。 特权指令在不同的机器中有不同的规定,它与硬件特点和系统结构有关。常见的特权指令 有传送程序状态字、启动测试和控制外设的指令、存取特殊寄存器指令等。若程序在用户态 下使用它则为非法。若用户要求使用外设,就要使用"启动外设"的指令,而启动外设指令是特 权指令。用户必须使用一条指令,从原来的算态进入管态,在管态下由操作系统协助完成,完成 后再返回到时序。 ③访管指令 它本身不是特权指令,其基本功能是"自愿进管",而引起访管中断。用户程序可利用访管 指令,要求操作系统提供相应的服务,从而实现系统功能调用。 (2)系统调用的执行过程 虽然系统调用命令的具体格式因系统而异,但是,从用户程序进入系统调用的步骤及其执 行过程大体上是相同的。 用户程序进入系统调用是通过执行调用指令(在有些操作系统中称为访管指令或软中断 指令〉实现的,当用户程序执行到调用指令时,就中断用户程序的执行,转去执行实现系统调用 功能的处理程序。系统调用处理程序的执行过程如下: ①为执行系统调用命令作准备。主要工作是把用户程序的现场保留起来,并把系统调用命 令的编号等参数放入指定的存储单元中。 ②执行系统调用。根据系统调用命令的编号,访问系统调用入口衰,找到相应子程序的入 口地址,然后转去执行。这个子程序就是系统调用处理程序。 ③系统调用命令执行完后的处理。主要工作是恢复现场,并把系统调用的返回参数送入指 定存储单元,以供用户程序使用。 (3)系统调用与过程调用的区别 ①系统调用和过程调用运行在不同的系统状态下。过程调用一般都是用户程序,或者都 是系统程序,即都是运行在同一系统状态下(算态或管态〉。但系统调用的调用过程是用户程序, 它运行在算态下,而被其调用的过程却是系统过程,运行在管态下。 ②系统调用必须通过软件中断进入。 3.图形用户接口 图形用户接口采用了图形化的操作界面,它用图标将系统的各项功能、各种应用程序和文 件直观、逼真地表示出来。用户可通过图标、菜单、对话框以及鼠标和键盘,轻松地完成对应 用程序和文件的操作。图形用户接口中除指点设备(如鼠标)外,最重要的元素是图标、窗口和 菜单。 2.1.2 作业及作业调度
1.作业的概念 作业是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合,包括用 户程序、所需的数据及命令等。把计算机系统在完成一个作业的过程中所做的一项相对独立 的工作称为一个作业步。因此也可以说,一个作业是由一系列有序的作业步组成的 例如,在我们编制程序的过程中,通常要进行编辑输入、编译、链接、运行几个步骤,其中 的每一个步骤都可以看作一个作业步。 2.作业状态 一个作业进入系统到运行结束,一般需要经历收容、运行、完成三个阶段。与这三个 阶段相对应的作业处于后备、运行和完成三种状态。 (1)后备状态 当一个作业通过输入设备送入计算机,并由操作系统将其存放在磁盘中以后,为这个作业 建立一个作业控制块,并把它插入到后备作业队列中等待被调度运行。此时,这个作业所处的 状态称为后备状态。从作业输入开始到放入后备作业队列,这一过程称为收容阶段,也称为作 业注册。 (2)运行状态 当一个作业被调度程序选中,并为它分配了必要的资源,建立了一组相应的进程之后,这 个作业就由后备状态变为运行状态。处于运行状态的作业在系统中可以从事各种活动。它可 能被进程调度程序选中而在处理机上执行:也可能在等待某种事件或信息:还有可能在等待着 进程调度程序为其分配处理机。因此,从宏观上看,作业一旦由作业调度选中进入内存就开始 了运行,但从微观上讲,内存中的作业并不一定正在处理机上执行。为了便于对运行状态的作 业进行管理,根据进程的活动情况又把它分为三种状态:就绪状态、执行状态、阻塞状态。刚 建立的进程处于就绪状态,从就绪状态向执行状态的转换由进程调度实现。对于执行状态的进 程,当它使用完分配给它的时间或被更高优先权的进程剥夺处理机后,又回到就绪状态,等待 下次被调度。进程在执行中若发生了某事件而暂时无法执行下去,如有输入/输出请求并等待 输入/输出完成,则进入阻塞状态。当引起进程阻塞的事件消失时,如输入/输出完成,进程由阻 塞状态变为就绪状态,重新获得被调度的资格 (3)完成状态 当作业正常运行结束或因发生错误而终止执行,作业就处于完成状态。此时,由操作系统 将作业控制块从当前作业队列中删去,并收回其所占用的资源,将作业运行结果编入输出文件 并调用有关设备处理进程输出。在有 SPOOLING的系统中,作业将被插入到完成作业队列中, 将运行结果送入输出井,再由 SPOOLING系统去完成输出 也有一些操作系统在概念上将作业的状态分为四种,即提交状态、后备状态、运行状态和 完成状态。其中提交状态指用户作业由输入设各向系统外存输入时作业所处的状态。 3.作业调度 作业调度的主要功能是按照某种原则从后备作业队列中选取作业进入主存,并为作业做 好运行前的准备工作和作业完成后的善后处理工作 在外存中往往有许多作业,为了管理和调度这些作业,就必须记录已进入系统中的各作业 的情况。如同进程管理一样,系统为每个作业设置一个作业控制块(JCB),其中记录了作业的有 关信息。不同系统的JCB所包含的信息有所不同,这取决于系统对作业调度的要求 通常作业控制块中包括的主要内容有 资源要求。包括:要求运行的时间、最迟完成时间、需要的主存容量、外设的种类 及数量等。 资源使用情况。包括:作业进入系统的时间、开始运行时间、己运行时间、内存地址 外设号等
1.作业的概念 作业是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合,包括用 户程序、所需的数据及命令等。把计算机系统在完成一个作业的过程中所做的一项相对独立 的工作称为一个作业步。因此也可以说,一个作业是由一系列有序的作业步组成的。 例如,在我们编制程序的过程中,通常要进行编辑输入、编译、链接、运行几个步骤,其中 的每一个步骤都可以看作一个作业步。 2.作业状态 一个作业进入系统到运行结束,一般需要经历收容、运行、完成三个阶段。与这三个 阶段相对应的作业处于后备、运行和完成三种状态。 (1)后备状态 当一个作业通过输入设备送入计算机,并由操作系统将其存放在磁盘中以后,为这个作业 建立一个作业控制块,并把它插入到后备作业队列中等待被调度运行。此时,这个作业所处的 状态称为后备状态。从作业输入开始到放入后备作业队列,这一过程称为收容阶段,也称为作 业注册。 (2)运行状态 当一个作业被调度程序选中,并为它分配了必要的资源,建立了一组相应的进程之后,这 个作业就由后备状态变为运行状态。处于运行状态的作业在系统中可以从事各种活动。它可 能被进程调度程序选中而在处理机上执行:也可能在等待某种事件或信息:还有可能在等待着 进程调度程序为其分配处理机。因此,从宏观上看,作业一旦由作业调度选中进入内存就开始 了运行,但从微观上讲,内存中的作业并不一定正在处理机上执行。为了便于对运行状态的作 业进行管理,根据进程的活动情况又把它分为三种状态:就绪状态、执行状态、阻塞状态。刚 建立的进程处于就绪状态,从就绪状态向执行状态的转换由进程调度实现。对于执行状态的进 程,当它使用完分配给它的时间或被更高优先权的进程剥夺处理机后,又回到就绪状态,等待 下次被调度。进程在执行中若发生了某事件而暂时无法执行下去,如有输入/输出请求并等待 输入/输出完成,则进入阻塞状态。当引起进程阻塞的事件消失时,如输入/输出完成,进程由阻 塞状态变为就绪状态,重新获得被调度的资格。 (3)完成状态 当作业正常运行结束或因发生错误而终止执行,作业就处于完成状态。此时,由操作系统 将作业控制块从当前作业队列中删去,并收回其所占用的资源,将作业运行结果编入输出文件 并调用有关设备处理进程输出。在有 SPOOLING 的系统中,作业将被插入到完成作业队列中, 将运行结果送入输出井,再由 SPOOLING 系统去完成输出。 也有一些操作系统在概念上将作业的状态分为四种,即提交状态、后备状态、运行状态和 完成状态。其中提交状态指用户作业由输入设各向系统外存输入时作业所处的状态。 3.作业调度 作业调度的主要功能是按照某种原则从后备作业队列中选取作业进入主存,并为作业做 好运行前的准备工作和作业完成后的善后处理工作。 在外存中往往有许多作业,为了管理和调度这些作业,就必须记录已进入系统中的各作业 的情况。如同进程管理一样,系统为每个作业设置一个作业控制块(JCB),其中记录了作业的有 关信息。不同系统的 JCB 所包含的信息有所不同,这取决于系统对作业调度的要求。 通常作业控制块中包括的主要内容有: ⚫ 资源要求。包括:要求运行的时间、最迟完成时间、需要的主存容量、外设的种类 及数量等。 ⚫ 资源使用情况。包括:作业进入系统的时间、开始运行时间、己运行时间、内存地址、 外设号等
作业的控制方式(联机作业控制,又称直接控制:脱机作业控制,又称自动控制》〉作业 类型(如终端型、批量型:I/0繁忙、CPU繁忙〉和作业优先权等。 作业名、作业状态。 通常,系统为每个作业建立一个作业控制块,它是作业存在的惟一标志。系统通过JCB感 知作业的存在。系统在作业进入后备状态时为作业建立JCB,从而使该作业可被作业调度程序 感知。当作业执行完毕进入完成状态之后,系统撤消其JCB,释放有关资源并撤消该作业 4.调度算法性能的衡量 (1)调度算法应达到的目标 调度算法实际上是系统所采取的调度策略,确定这些策略时要考虑的因素很多,但这些因 素又应和主观上的目标一致,这些目标为 ①每天运行尽可能多的作业。 ②使处理机保持忙碌状态。 ③使输入/输出设备得以充分利用。 ④对所有的作业公平合理。 由于这些目标往往相互冲突,任何一个调度算法想要同时满足上述目标是不可能的.例如, 要想执行尽可能多的作业,调度算法就应选择那些估计执行时间短的作业,而这对那些估计执 行时间长的作业又是不公平的。由此看出,要设计一个理想的调度算法是一件很困难的事。所 以,实际采用的调度算法往往是根据需要而兼顾某些目标。 (2)确定调度算法时应考虑的因素 ①调度算法应与系统的总体设计目标一致。如批处理操作系统应尽量提高系统的平均吞 吐量:分时操作系统应保证用户所能忍受的响应时间等:而实时操作系统则应在保证及时响应 和处理有关事件的前提下,再去考虑系统资源的利用效率 ②注意系统资源的均衡使用,使输入/输出繁忙的作业与CPU繁忙的作业搭配运行。 ③应保证进入系统的作业在规定的截止时间内完成,而且应该设法缩短作业的平均周转 时间。 对于一个系统来说,考虑的因素越多,就会使算法变得越复杂,从而增加系统的开销,对资 源的利用反而不利。因此,大多数操作系统中往往采用比较简单的调度算法。 (3)调度算法性能的衡量 个调度算法性能的优劣,通常用平均周转时间或平均带权周转时间来衡量。 作业i的周转时间Ti定义为:Ti=Tei-Tsi 其中Tei为作业i的完成时间,Tsi为作业i的提交时间 n个作业的平均周转时间T为:T=(T1+T2+…+Tn)/n 带权周转时间是作业周转时间与作业实际运行时间的比:Wi=Ti/Tri n个作业的平均带权周转时间W为:W=(W1+W2+…+Wn)/n 5.常用的作业调度算法 (1)先来先服务调度算法 这种调度算法按作业到达系统的先后次序进行调度。该算法优先考虑在系统中等待时 间最长的作业,而不考虑作业运行时间的长短。这种算法容易实现,但效率较低 2)短作业优先调度算法 这种调度算法总是从作业的后备队列中挑选运行时间最短的作业作为下一个调度运行的 对象。这种算法易于实现,且效率也比较高,但未考虑长作业的利益 (3)晌应比高者优先调度算法 短作业优先调度算法只考虑作业的运行时间,而忽略了作业的等待时间。因此就有可能出 现这样一种情况,当一个作业进入系统以后,由于系统中又不断有较短的作业进入,使得该作
⚫ 作业的控制方式(联机作业控制,又称直接控制:脱机作业控制,又称自动控制〉、作业 类型(如终端型、批量型:I/O 繁忙、CPU 繁忙〉和作业优先权等。 ⚫ 作业名、作业状态。 通常,系统为每个作业建立一个作业控制块,它是作业存在的惟一标志。系统通过 JCB 感 知作业的存在。系统在作业进入后备状态时为作业建立 JCB,从而使该作业可被作业调度程序 感知。当作业执行完毕进入完成状态之后,系统撤消其 JCB,释放有关资源并撤消该作业。 4.调度算法性能的衡量 (1)调度算法应达到的目标 调度算法实际上是系统所采取的调度策略,确定这些策略时要考虑的因素很多,但这些因 素又应和主观上的目标一致,这些目标为: ①每天运行尽可能多的作业。 ②使处理机保持忙碌状态。 ③使输入/输出设备得以充分利用。 ④对所有的作业公平合理。 由于这些目标往往相互冲突,任何一个调度算法想要同时满足上述目标是不可能的.例如, 要想执行尽可能多的作业,调度算法就应选择那些估计执行时间短的作业,而这对那些估计执 行时间长的作业又是不公平的。由此看出,要设计一个理想的调度算法是一件很困难的事。所 以,实际采用的调度算法往往是根据需要而兼顾某些目标。 (2)确定调度算法时应考虑的因素 ① 调度算法应与系统的总体设计目标一致。如批处理操作系统应尽量提高系统的平均吞 吐量:分时操作系统应保证用户所能忍受的响应时间等:而实时操作系统则应在保证及时响应 和处理有关事件的前提下,再去考虑系统资源的利用效率。 ②注意系统资源的均衡使用,使输入/输出繁忙的作业与 CPU 繁忙的作业搭配运行。 ③ 应保证进入系统的作业在规定的截止时间内完成,而且应该设法缩短作业的平均周转 时间。 对于一个系统来说,考虑的因素越多,就会使算法变得越复杂,从而增加系统的开销,对资 源的利用反而不利。因此,大多数操作系统中往往采用比较简单的调度算法。 (3)调度算法性能的衡量 一个调度算法性能的优劣,通常用平均周转时间或平均带权周转时间来衡量。 ⚫ 作业 i 的周转时间 Ti 定义为: Ti=Tei--Tsi 其中 Tei 为作业 i 的完成时间,Tsi 为作业 i 的提交时间。 ⚫ n 个作业的平均周转时间 T 为: T=(T1+T2+…+Tn)/n ⚫ 带权周转时间是作业周转时间与作业实际运行时间的比:Wi=Ti/Tri ⚫ n 个作业的平均带权周转时间 W 为: W=(W1+W2+…+Wn)/n 5.常用的作业调度算法 (1)先来先服务调度算法 这种调度算法按作业到达系统的先后次序进行调度。该算法优先考虑在系统中等待时 间最长的作业,而不考虑作业运行时间的长短。这种算法容易实现,但效率较低。 (2)短作业优先调度算法 这种调度算法总是从作业的后备队列中挑选运行时间最短的作业作为下一个调度运行的 对象。这种算法易于实现,且效率也比较高,但未考虑长作业的利益。 (3)晌应比高者优先调度算法 短作业优先调度算法只考虑作业的运行时间,而忽略了作业的等待时间。因此就有可能出 现这样一种情况,当一个作业进入系统以后,由于系统中又不断有较短的作业进入,使得该作
业得不到机会运行。为解决这一问题,可采用响应比高者优先调度算法。响应比定义如下 响应比=作业响应时间/运行时间的估计值 其中,响应时间为作业进入系统后的等待时间加上估计的运行时间。于是 响应比=1+作业等待时间/运行时间的估计值 所谓响应比高者优先调度算法,就是在每次调度作业运行时,先计算后备作业队列中每个 作业的响应比,然后挑选响应比最高者投入运行。从以上公式中可从看出,一个作业的响应比 随着等待时间的增加而提高。这样,只要系统中的某作业等待了足够长的时间,它总会成为响 应比最高者而获得运行的机会。在相同等待时间的情况下,短作业优先,而对于相同运行时间 的作业,等待时间长的作业优先运行 (4)优先数调度算法 此算法根据作业的优先数调度作业进入系统运行。作业优先数的确定各系统有所不同, 有些系统根据作业对资源的要求确定其优先数,有的系统则使用外部优先数,即由用户自行确 定自己作业的优先数 2.2重点与难点学习提示 本章的目的是了解操作系统向用户提供的各种接口及作业管理的概念,为此应对以下几 个重点、难点问题做认真的学习。 2.2.1操作系统向用户提供的接口 应对操作系统提供的几种接口内容有较深入的了解 (1)命令接口:包括联机命令接口和脱机命令接口两种类型,应对它们分别适用于哪种情 况,以及系统处理用户输入的联机命令的过程有较深入的了解。 (2)程序接口:程序接口即系统调用,应了解它与普通的过程调用存在着什么差异、它是 如何实现的。并对下面的问题进行了解:①如何由用户态转向系统态;②如何转向相应的处 理程序;③如何返回问题 另外,在使用系统调用时,除了系统调用号外,用户还必须提供相应系统调用有关的参数, 这些参数可通过多种形式传递给内核:①寄存器形式;②参数表形式。应了解各种形式有何 占 3)图形接口。图形接口通过图形化的界面以更加友好的方式向用户提供服务,读者应对组 成图形接口的四个基本要素,即指点设备、窗口、图标和菜单有一定的了解。 用户程序可利用系统提供的一组系统调用命令去调用OS内核中的一个(组)过程来完成 自己所需的功能。由于系统调用与一般的过程调用存在着很大的差异,故在使用和实现上有着 下述明显的不同 2.2.2作业及作业调度中的概念 1.应理解作业、作业步、作业控制块、作业控制方式、作业控制语言等基本概念 2.理解作业的状态及其转换等 3.应理解作业调度的概念、调度算法性能的衡量、调度算法应达到的目标、确定调度算 法时应考虑的因素、常用的作业调度算法等。 2.3典型例题分析 1.操作系统的接口有哪几种?它们分别适用于哪种情况? 答:操作系统提供的接口主要有 (1)命令接口。它包括脱机命令接口和联机命令接口,其中前者适用于批处理作业用户间接 地控制自己的作业,后者适用于联机用户通过终端命令直接控制自己的作业和管理系统资源
业得不到机会运行。为解决这一问题,可采用响应比高者优先调度算法。响应比定义如下: 响应比=作业响应时间/运行时间的估计值 其中,响应时间为作业进入系统后的等待时间加上估计的运行时间。于是 响应比=1+作业等待时间/运行时间的估计值 所谓响应比高者优先调度算法,就是在每次调度作业运行时,先计算后备作业队列中每个 作业的响应比,然后挑选响应比最高者投入运行。从以上公式中可从看出,一个作业的响应比 随着等待时间的增加而提高。这样,只要系统中的某作业等待了足够长的时间,它总会成为响 应比最高者而获得运行的机会。在相同等待时间的情况下,短作业优先,而对于相同运行时间 的作业,等待时间长的作业优先运行。 (4)优先数调度算法 此算法根据作业的优先数调度作业进入系统运行。作业优先数的确定各系统有所不同, 有些系统根据作业对资源的要求确定其优先数,有的系统则使用外部优先数,即由用户自行确 定自己作业的优先数。 2.2 重点与难点学习提示 本章的目的是了解操作系统向用户提供的各种接口及作业管理的概念,为此应对以下几 个重点、难点问题做认真的学习。 2.2.1 操作系统向用户提供的接口 应对操作系统提供的几种接口内容有较深入的了解: (1)命令接口:包括联机命令接口和脱机命令接口两种类型,应对它们分别适用于哪种情 况,以及系统处理用户输入的联机命令的过程有较深入的了解。 (2)程序接口:程序接口即系统调用,应了解它与普通的过程调用存在着什么差异、它是 如何实现的。并对下面的问题进行了解:①如何由用户态转向系统态;②如何转向相应的处 理程序;③如何返回问题。 另外,在使用系统调用时,除了系统调用号外,用户还必须提供相应系统调用有关的参数, 这些参数可通过多种形式传递给内核:①寄存器形式;②参数表形式。应了解各种形式有何 优点。 (3)图形接口。图形接口通过图形化的界面以更加友好的方式向用户提供服务,读者应对组 成图形接口的四个基本要素,即指点设备、窗口、图标和菜单有一定的了解。 用户程序可利用系统提供的一组系统调用命令去调用 OS 内核中的一个(组)过程来完成 自己所需的功能。由于系统调用与一般的过程调用存在着很大的差异,故在使用和实现上有着 下述明显的不同。 2.2.2 作业及作业调度中的概念 1. 应理解作业、作业步、作业控制块、作业控制方式、作业控制语言等基本概念; 2.理解作业的状态及其转换等 3.应理解作业调度的概念、调度算法性能的衡量、调度算法应达到的目标、确定调度算 法时应考虑的因素、常用的作业调度算法等。 2.3 典型例题分析 1.操作系统的接口有哪几种?它们分别适用于哪种情况? 答:操作系统提供的接口主要有: (1)命令接口。它包括脱机命令接口和联机命令接口,其中前者适用于批处理作业用户间接 地控制自己的作业,后者适用于联机用户通过终端命令直接控制自己的作业和管理系统资源
(2)程序接口。程序接口即系统调用,它适用于用户在编程时请求操作系统提供的服务,如申 请和释放内存、打开和关闭文件等 (3)图形用户接口。它也适用于联机用户直接控制自己的作业,而且,它比联机命令接口显示 更直观,操作更简便 2.作业的输入方式有哪儿种?各有何特点? 答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接搞合方式、 SPOOLING 系统和网络输入方式,各有如下特点 (1)联机输入方式z用户和系统通过交互式会话来输入作业。 (2)脱机输入方式z又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理, 存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连?从而在较短的 时间内完成作业的输入工作 (3)直接藕合方式:把主机和外围低档机通过一个公用的大容量外存直接藕合起来,从而省 去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。 (4) SPOOLING系统:可译为外围设备同时联机操作。在 SPOOLING系统中,多台外围设备通 过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制 (5)网络输入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络 中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络 输入方式 3.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么 区别? 答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序 级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关 的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系 统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是:系统调 用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统 服务 4.高响应比优先调度算法的优点是什么? 答:它具有以下的优点 (1)如果作业(进程)的等待时间相同,则要求服务时间最短的作业(进程)的优先权最高,因 此它有利于短作业(进程),从而可降低作业(进程)的平均周转时间,提高系统吞吐量。 (2)如果作业(进程)的要求服务时间相同,则其优先权将取决于作业到达(或进程进入就绪状 态)的先后次序,因此体现了公平的原则。 (3)如果作业(进程)较长,它的优先权将随着等待时间的增长而提高,从而使长作业(进程)不 会长期得不到服务。 5.设有四个作业J1、J2、J3、J4,它们的到达时间和计算时间如下表所示 作业到达时间计算时间/小时 0.25 J4 0.5 若这四个作业在一台处理机上按单道方式运行,采用响应比高者优先调度算法,试写出各 作业的执行顺序、各作业的周转时间及平均周转时间。 解:本题应注意六个问题:(1)作业调度的时机;(2)作业响应比的计算;(3)各作业周转时间的 计算;(4)作业平均周转时间的计算;(5)参加调度的作业必须是处于后备状态,满足资源要求
(2)程序接口。程序接口即系统调用,它适用于用户在编程时请求操作系统提供的服务,如申 请和释放内存、打开和关闭文件等。 (3)图形用户接口。它也适用于联机用户直接控制自己的作业,而且,它比联机命令接口显示 更直观,操作更简便。 2.作业的输入方式有哪儿种?各有何特点? 答:作业的输入方式有 5 种:联机输入方式、脱机输入方式、直接搞合方式、SPOOLING 系统和网络输入方式,各有如下特点: (1)联机输入方式 z 用户和系统通过交互式会话来输入作业。 (2)脱机输入方式 z 又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理, 存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连?从而在较短的 时间内完成作业的输入工作。 (3)直接藕合方式:把主机和外围低档机通过一个公用的大容量外存直接藕合起来,从而省 去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。 (4)SPOOLING 系统:可译为外围设备同时联机操作。在 SPOOLING 系统中,多台外围设备通 过通道或 DMA 器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。 (5)网络输入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络 中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络 输入方式。 3.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么 区别? 答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序 一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关 的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系 统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是:系统调 用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统 服务。 4.高响应比优先调度算法的优点是什么? 答:它具有以下的优点: (1)如果作业(进程)的等待时间相同,则要求服务时间最短的作业(进程)的优先权最高,因 此它有利于短作业(进程),从而可降低作业(进程)的平均周转时间,提高系统吞吐量。 (2)如果作业(进程)的要求服务时间相同,则其优先权将取决于作业到达(或进程进入就绪状 态)的先后次序,因此体现了公平的原则。 (3)如果作业(进程)较长,它的优先权将随着等待时间的增长而提高,从而使长作业(进程)不 会长期得不到服务。 5.设有四个作业 J1、J2、J3、J4,它们的到达时间和计算时间如下表所示。 作 业 到达时间 计算时间/小时 J1 8:00 2 J2 8:30 1 J3 9:00 0.25 J4 9:30 0.5 若这四个作业在一台处理机上按单道方式运行,采用响应比高者优先调度算法,试写出各 作业的执行顺序、各作业的周转时间及平均周转时间。 解:本题应注意六个问题:(1)作业调度的时机;(2)作业响应比的计算;(3)各作业周转时间的 计算; (4)作业平均周转时间的计算; (5)参加调度的作业必须是处于后备状态,满足资源要求
装入内存的作业;(6)每小时为60分种,则0.25小时=5分钟。所以第一次计算响应比是在J1 执行结束时,各作业的响应比 J3=1+0.25/0.25=5 J4=0.5+0.5/0.5=2 第二次计算响应比是在J3执行结東时,各作业的响应比: J2=1.75+1/1=2.75 J4=0.75+0.5/0.5=2.5 作业到达时刻/时计算时间/小时开始时刻/时结束时刻/时周转时间/小时 8:00 8:00 10:151.152 2.75 9:00 0.25 10:00 1.25 9:30 0.5 11:15 11:45 2.25 作业平均周转时间=(2+2.75+1.25+2.25)/4=2.0625小时 作业的执行顺序为:J1,J3,J2,J4 另外,若采用先来先服务调度算法,作业的执行顺序为:J1,J2,J3,J4 若采用短作业优先调度算法,作业的执行顺序为J1,J3,J4,J2 要特别注意单道批处理作业调度的调度时机 6.下表给出作业1、2、3的到达时间和运行时间。采用短作业优先调度算法和先来先服 务调度算法,试问平均周转时间各为多少?是否还有更好的调度策略存在?(时间单位:小时,以 十进制进行计算)。 作业号到达时间运行时间 0.4 1.0 1.0 解:采用FCFS调度策略,则调度顺序为1、2、 作业号到达时间运行时间开始时间「完成时间「周转时间 0.0 8.0 0 1.0 41 8.0 12.0 0 12013.012.0 平均周转时间T=(8+11.6+12)/3=10.53 采用短作业优先策略,则调度顺序为1、3、2 作业号到达时间运行时间开始时间完成时间周转时间 0.0 8.0 0.0 8.0 8.0 1.0 1.0 9.0 8.6 0.4 9.0 3.0 平均周转时间T=(8+8+12.6)/3=9.53 存在缩短平均周转时间的策略,如知道后面将来两个短作业,因此在作业1到达后暂不投 入运行,等所有作业到齐后再按短作业优先调度算法调度,其调度顺序为3、2、1。 作业号到达时间运行时间开始时间[完成时间周转时间」
装入内存的作业;(6)每小时为 60 分种,则 0.25 小时=5 分钟。所以第一次计算响应比是在 J1 执行结束时,各作业的响应比: J2=1.5+1/1=2.5 J3=1+0.25/0.25=5 J4=0.5+0.5/0.5=2 第二次计算响应比是在 J3 执行结束时,各作业的响应比: J2=1.75+1/1=2.75 J4=0.75+0.5/0.5=2.5 所以: 作业 到达时刻/时 计算时间/小时 开始时刻/时 结束时刻/时 周转时间/小时 J1 8:00 2 8:00 10:00 2 J2 8:30 1 10:15 11.15 2.75 J3 9:00 0.25 10:00 10:15 1.25 J4 9:30 0.5 11:15 11:45 2.25 作业平均周转时间=(2+2.75+1.25+2.25)/4=2.0625 小时 作业的执行顺序为: J1,J3,J2,J4。. 另外,若采用先来先服务调度算法,作业的执行顺序为:J1,J2,J3,J4。 若采用短作业优先调度算法,作业的执行顺序为 J1,J3,J4,J2。 要特别注意单道批处理作业调度的调度时机。 6.下表给出作业 1、2、3 的到达时间和运行时间。采用短作业优先调度算法和先来先服 务调度算法,试问平均周转时间各为多少?是否还有更好的调度策略存在?(时间单位:小时,以 十进制进行计算)。 作业号 到达时间 运行时间 1 0.0 8.0 2 0.4 4.0 3 1.0 1.0 解:采用 FCFS 调度策略,则调度顺序为 1、2、3。 作业号 到达时间 运行时间 开始时间 完成时间 周转时间 1 0.0 8.0 0.0 8.0 8.0 2 0.4 4.0 8.0 12.0 11.6 3 1.0 1.0 12.0 13.0 12.0 平均周转时间 T=(8+11.6+12)/3=10.53 采用短作业优先策略,则调度顺序为 1、3、2 作业号 到达时间 运行时间 开始时间 完成时间 周转时间 1 0.0 8.0 0.0 8.0 8.0 3 1.0 1.0 8.0 9.0 8.6 2 0.4 4.0 9.0 13.0 12.6 平均周转时间 T=(8+8+12.6)/3=9.53 存在缩短平均周转时间的策略,如知道后面将来两个短作业,因此在作业 1 到达后暂不投 入运行,等所有作业到齐后再按短作业优先调度算法调度,其调度顺序为 3、2、1。 作业号 到达时间 运行时间 开始时间 完成时间 周转时间
1.0 1.0 1.0 2.0 1.0 4.0 2.0 0.0 14.0 平均周转时间T=(1+5.6+14)=6.8 6.今有三个批处理作业。第一个作业10:00到达,需要执行2小时:第二个作业在10:10 到达,需要执行1小时:第三个作业在10:25到达,需要执行25分钟。分别采取如下三种作业 调度算法 调度算法1: 作业号到达时间|开始执行时间|执行结束时间 10:00 10:10 12:00 13:00 3 10:25 13:00 13:25 调度算法2: 作业号到达时间[开始执行时间执行结束时间 11:50 13:50 10:10 10:50 11:50 3 10:25 10:25 10:50 调度算法3: 作业号到达时间开始执行时间执行结束时间 10:00 10:00 12:00 10:10 12:25 13:25 10:25 12:00 12:25 1〉计算各调度算法下的作业平均周转时间 (2〉调度算法1、3分别是什么作业调度算法? 解:(1)采用调度算法1时 作业1的周转时间为2小时 作业2的周转时间为2.83小时 作业3的周转时间为3小时 平均周转时间为:〈2+2.83+3)/3=2.61小时 采用调度算法2时 作业1的周转时间为3.83小时 作业2的周转时间为1.67小时 作业3的周转时间为0.42小时 平均周转时间为:(3.83+1.67+0.42〉/3=1.97小时 采用调度算法3时 作业1的周转时间为2小时 作业2的周转时间为3.25小时 作业3的周转时间为2小时 平均周转时间为:(2+3.25+2)/3=2.42小时 (2〉调度算法1是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。 调度算法3是按照作业执行时间从短到长的次序执行的,所以它是短作业优先调度算法
3 1.0 1.0 1.0 2.0 1.0 2 0.4 4.0 2.0 6.0 5.6 1 0.0 8.0 6.0 14.0 14.0 平均周转时间 T=(1+5.6+14)=6.87 6.今有三个批处理作业。第一个作业 10:00 到达,需要执行 2 小时:第二个作业在 10:10 到达,需要执行 1 小时:第三个作业在 10:25 到达,需要执行 25 分钟。分别采取如下三种作业 调度算法: 调度算法 1: 作业号 到达时间 开始执行时间 执行结束时间 1 10:00 10:00 12:00 2 10:10 12:00 13:00 3 10:25 13:00 13:25 调度算法 2: 作业号 到达时间 开始执行时间 执行结束时间 1 10:00 11:50 13:50 2 10:10 10:50 11:50 3 10:25 10:25 10:50 调度算法 3: 作业号 到达时间 开始执行时间 执行结束时间 1 10:00 10:00 12:00 2 10:10 12:25 13:25 3 10:25 12:00 12:25 〈1〉计算各调度算法下的作业平均周转时间。 (2〉调度算法 1、3 分别是什么作业调度算法? 解:〈1〉采用调度算法 1 时: 作业 1 的周转时间为 2 小时 作业 2 的周转时间为 2.83 小时 作业 3 的周转时间为 3 小时 平均周转时间为:〈2+2.83+3〉/3=2.61 小时 采用调度算法 2 时: 作业 1 的周转时间为 3.83 小时 作业 2 的周转时间为 1.67 小时 作业 3 的周转时间为 0.42 小时 平均周转时间为:(3.83+1.67+0.42〉/3=1.97 小时 采用调度算法 3 时: 作业 1 的周转时间为 2 小时 作业 2 的周转时间为 3.25 小时 作业 3 的周转时间为 2 小时 平均周转时间为:〈2+3.25+2)/3=2.42 小时 (2〉调度算法 1 是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。 调度算法 3 是按照作业执行时间从短到长的次序执行的,所以它是短作业优先调度算法
2.4自测题 2.4.1基本题 单项选择题,在每小题的四个备选答案中选出一个正确答案,并将其代码 写在题干后面的括号内。不选、错选或多选者该题无分。 1.操作系统提供给程序员的接口是 A.进程 B.系统调用 C.库函数 D.系统调用和库函数 是作业存在的惟一标 A.作业名 B.进程控制块 作业控制块D.程序名 3.设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式 运行,则平均周转时间为 A.1小时 B.5小时 C.25小时 D.8小时 4在下列语言中属于脱机作业控制语言的是 A.作业控制语言 B.汇编语言 C.会话式程序设计语言 D.解释 BASIC 5.作业调度算法的选择常考虑因素之一是使系统有最高的吞吐率,为此应 A.不让处理机空闲 B.能够处理尽可能多的作业 C.使各类用户都满意 D.不使系统过于复杂 6.用户使用操作系统通常有三种手段,它们是终端命令、系统调用命令和 A.计算机高级指令 B.宏命令 C.作业控制语言 D.汇编语言 7.在分时操作系统环境下运行的作业通常称为 A.后台作业 B.长作业 C.终端型作业 D.批量型作业 8.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是 A.先来先服务 B.优先数 C.最高响应比优先 D短作业优先 9.既考虑作业等待时间,又考虑作业执行时间的调度算法是 A.响应比高者优先 B.短作业优先C.优先级调度 D.先来先服务 10.作业调度中的先来先服务算法是以为出发点考虑的。 A.作业执行时间B.作业的周转时间C.作业等待时间D.等待时间加运行时间 11.作业调度程序从处于 状态的队列中选取适当的作业投入运行。 A.运行 B.提交 C.完成 D.后备 12. 是指从作业提交给系统到作业完成的时间间隔 A.周转时间 B.响应时间 C.等待时间 D.运行时间 13.作业从进入后备队列到被调度程序选中的时间间隔称为 A.周转时间 B.响应时间 C.等待时间 D触发时间 答:C 14.下述作业调度算法中 调度算法与作业的估计运行时间有关。 A.先来先服务B.短作业优先 C.均衡 D时间片轮转 15.用户通过终端使用计算机系统控制作业执行的方式称为方式 A.自动 B.联机 C.脱机 D.假脱机 16.作业生存期共经历四个状态,它们是提交、后备 和完成 A.就绪 B.执行 C.等待 D.开始 7.现有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T,T2和T3,且T2<T2<13
2.4 自测题 2.4.1 基本题 一.单项选择题,在每小题的四个备选答案中选出一个正确答案,并将其代码 写在题干后面的括号内。不选、错选或多选者该题无分。 1.操作系统提供给程序员的接口是________。 A.进程 B.系统调用 C.库函数 D.系统调用和库函数 2.____________是作业存在的惟一标志。 A.作业名 B.进程控制块 C.作业控制块 D.程序名 3.设有四个作业同时到达,每个作业的执行时间均为 2 小时,它们在一台处理机上按单道方式 运行,则平均周转时间为__________。 A.1 小时 B.5 小时 C.25 小时 D.8 小时 4.在下列语言中属于脱机作业控制语言的是_________。 A.作业控制语言 B.汇编语言 C.会话式程序设计语言 D.解释 BASIC 5.作业调度算法的选择常考虑因素之一是使系统有最高的吞吐率,为此应_________。 A.不让处理机空闲 B.能够处理尽可能多的作业 C.使各类用户都满意 D.不使系统过于复杂 6.用户使用操作系统通常有三种手段,它们是终端命令、系统调用命令和_________。 A.计算机高级指令 B.宏命令 C.作业控制语言 D.汇编语言 7.在分时操作系统环境下运行的作业通常称为________。 A.后台作业 B.长作业 C.终端型作业 D.批量型作业 8.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是______。 A.先来先服务 B.优先数 C.最高响应比优先 D.短作业优先 9.既考虑作业等待时间,又考虑作业执行时间的调度算法是_______. A.响应比高者优先 B.短作业优先 C.优先级调度 D.先来先服务 10.作业调度中的先来先服务算法是以_______为出发点考虑的。 A.作业执行时间 B.作业的周转时间 C.作业等待时间 D.等待时间加运行时间 11.作业调度程序从处于_________状态的队列中选取适当的作业投入运行。 A.运行 B.提交 C.完成 D.后备 12._______________是指从作业提交给系统到作业完成的时间间隔。 A.周转时间 B.响应时间 C.等待时间 D.运行时间 13.作业从进入后备队列到被调度程序选中的时间间隔称为_________. A.周转时间 B.响应时间 C.等待时间 D.触发时间 答: C 14.下述作业调度算法中,__________调度算法与作业的估计运行时间有关。 A.先来先服务 B.短作业优先 C.均衡 D.时间片轮转 15.用户通过终端使用计算机系统控制作业执行的方式称为________方式。 A.自动 B.联机 C.脱机 D.假脱机 16.作业生存期共经历四个状态,它们是提交、后备、__________和完成。 A.就绪 B.执行 C.等待 D.开始 17.现有三个同时到达的作业 J1,J2 和 J3,它们的执行时间分别是 T1,T2 和 T3,且 T2<T2<13
系统按单道方式运行且采用短作业优先算法,则平均周转时间是_。 A.T1+T2+T3 B.(T1+T2+13)/3 C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/ 18.一作业8:00到达系统,估计运行时间为1小时。若10:00开始执行该作业,其响应比是 D.0.5 填空题 1.作业控制方式有 和 两种方式。 2.操作系统为程序员提供的接口是 ,为一般用户提供的接口是 3.作业调度又称。其主要功能是,并为作业做好运行前的准备工作和作业完成 后的善后处理工作。 确定作业调度算法时应注意系统资源的均衡使用,使作业和作业搭配运行。 5.对系统的总体设计目标来说,批处理操作系统应注重提高计算机的效率,尽量增加系统的 分时操作系统应保证用户 而实时操作系统则应在保证及时响应和处理有 关事件的前提下,再考虑 6.一个作业的运行时间假定为1个小时,它在系统中等待了3个小时,那么该作业的周转时 间为 个小时,响应比是 7.在多道批处理系统中,通常采用以下两种作业调度算法 8.一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个。 9.在一个具有分时兼批处理的计算机操作系统中,如果有终端作业和批处理作业混合同时 作业应优先占用处理器 操作系统为用户提供两个接口。一个是,用户利用它来组织和控制作业的执行或 管理计算机系统。另一个是,编程人员使用它们来请求操作系统提供服务。 11.在微机操作系统中,通常把键盘命令分成 和 两大类 12.所谓系统调用,就是用户在程序中调用所提供的一些子功能 13.一个作业进入系统到运行结束,一般需要经历 三个阶段 14.按命令接口对作业控制方式的不同可将命令接口分为 和 简答题 什么是作业?作业步? 2.作业由哪儿部分组成?各有什么功能? 3.作业控制方式有哪儿种? 4.为什么说分时系统没有作业的概念? 5.命令接口和图形用户接口分别有什么优缺点? 6.脱机命令接口和联机命令接口有什么不同? 2.4.2解析题 论述题 1.什么是系统调用?它与一般的过程调用有何区别? 2.作业说明书和作业控制块有何异同 3.简述系统调用的实现过程。 (二)计算题 1.若在后备作业队列中等待运行的同时有三个作业J1、J2、J3,已知它们各自的运行时间 为a、b、c,且满足关系a<b<c,试证明采用短作业优先调度算法能获得最小平均周转时间。 2.设有4道作业,它们的提交时间及执行时间如下 作业号提交时间执行时
系统按单道方式运行且采用短作业优先算法,则平均周转时间是_____。 A.T1+T2+T3 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3 D.(T1+2T2+3T3)/3 18.一作业 8:00 到达系统,估计运行时间为 1 小时。若 10:00 开始执行该作业,其响应比是 _____。 A.2 B.1 C.3 D.0.5 二.填空题 1.作业控制方式有_________和_________两种方式。 2.操作系统为程序员提供的接口是___________,为一般用户提供的接口是________。 3.作业调度又称____ 。其主要功能是_______,并为作业做好运行前的准备工作和作业完成 后的善后处理工作。 4.确定作业调度算法时应注意系统资源的均衡使用,使_____作业和_____作业搭配运行。 5.对系统的总体设计目标来说,批处理操作系统应注重提高计算机的效率,尽量增加系统的 ______,分时操作系统应保证用户__________;而实时操作系统则应在保证及时响应和处理有 关事件的前提下,再考虑__________。 6.一个作业的运行时间假定为 1 个小时,它在系统中等待了 3 个小时,那么该作业的周转时 间为___________个小时,响应比是___________。 7.在多道批处理系统中,通常采用以下两种作业调度算法:____________、________。 8.一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_____。 9.在一个具有分时兼批处理的计算机操作系统中,如果有终端作业和批处理作业混合同时 执行,_______作业应优先占用处理器。 10.操作系统为用户提供两个接口。一个是______,用户利用它来组织和控制作业的执行或 管理计算机系统。另一个是_________,编程人员使用它们来请求操作系统提供服务。 11.在微机操作系统中,通常把键盘命令分成_________和__________两大类。 12.所谓系统调用,就是用户在程序中调用________所提供的一些子功能。 13.一个作业进入系统到运行结束,一般需要经历_______、_____、_______三个阶段. 14.按命令接口对作业控制方式的不同可将命令接口分为_______和_______。 三、简答题 1.什么是作业?作业步? 2.作业由哪儿部分组成?各有什么功能? 3.作业控制方式有哪儿种? 4.为什么说分时系统没有作业的概念? 5.命令接口和图形用户接口分别有什么优缺点? 6.脱机命令接口和联机命令接口有什么不同? 2.4.2 解析题 一.论述题 1.什么是系统调用?它与一般的过程调用有何区别? 2.作业说明书和作业控制块有何异同? 3.简述系统调用的实现过程。 (二)计算题 1.若在后备作业队列中等待运行的同时有三个作业 J1、J2、J3,已知它们各自的运行时间 为 a、b、c,且满足关系 a<b<c,试证明采用短作业优先调度算法能获得最小平均周转时间。 2.设有 4 道作业,它们的提交时间及执行时间如下: 作业号 提 交 时 间 执 行 时 间