《操作系统(四版》习题解答 第1章习题答案 一、填空 1,计算机系统由硬件系统和软件系统两大部分组成 2.按功能划分,软件可分为系统款件和应用软件两种。 .操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。 4.操作系统的基本功能是处理机(包含作业)管理、存储管理、设备管理和文 件管理。 5,在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目 的是改善系统功能,提高处理能力 6.分时系统的主要 征为多路性 ,交互性 独立性和及时性 7.实时系统与分时以及批处理系统的主要区别是实时性和可靠性。 8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则它应该是分时操 作系统。 9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用 率、大吞吐量和作 程的自动化, 它应该属于批处理操作系名 10.采用多道程序设计技术,能充分发挥CPU和外部设备并行工作的能力。 L.计算机网络是在计算机技术和通信技术高度发展基础上相结合的产物。 12.在计算机网络中,各计算机仍使用自己的操作系统,由它管理自身的资源。只有 各计算机间进行信息传递、以及使用网络中的可共享资源时,才会涉及到网络操作系统, 13.如果一个计算机网络系统,其处理和控制功能被分散在系统的各个计算机上, 系 中的所有任务可动态地分配到各个计算机中,使它们并行执行,实现分布处理。这样的系统 被称为“分布式系统”,其上配置的操作系统,被称为“分布式操作系统”。 二、选择 1,操作系统是一种B。 。插用软件 B。系统软件 C,应用软件 D.软件包 2.操作系统是对C进行管理的软件。 A系统软件 B.系统硬件 C.计算机资源D.应用程序 3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的A。 A,利用率 B.可靠性 C.叠定性 D.兼容性 4.计算机系统中配置操作系统的目的是提高计算机的B和方便用户使用。 A速度 B。利用率 C.灵活性 D.兼容性 5.C操作系统允许多个用户在其终端上同时交互地使用计算机。 A.批处理 B.实时 C.分 D.多道批处理 6,如果分时系统的时间片一定,那么D,响应时间域长。 A.用户数越少B.内存越少C.内存越多D.用户数越多 7.B不是实时系统的基本特点。 A.安全性 B.公平响应 C.实时性 D.可靠性 三、问答 。1-
- 1 - 《操作系统(四版)》习题解答 第 1 章习题答案 一、填空 1.计算机系统由 硬件 系统和 软件 系统两大部分组成。 2.按功能划分,软件可分为 系统 软件和 应用 软件两种。 3.操作系统是在 裸机 上加载的第一层软件,是对计算机硬件系统功能的 首次 扩充。 4.操作系统的基本功能是 处理机(包含作业) 管理、 存储 管理、 设备 管理和 文 件 管理。 5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目 的是 改善系统功能,提高处理能力 。 6.分时系统的主要特征为 多路性 、 交互性 、 独立性 和 及时性 。 7.实时系统与分时以及批处理系统的主要区别是 实时性 和 可靠性 。 8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则它应该是 分时 操 作系统。 9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用 率、大吞吐量和作业流程的自动化,则它应该属于 批处理 操作系统。 10.采用多道程序设计技术,能充分发挥 CPU 和 外部设备 并行工作的能力。 11. 计算机网络是在 计算机 技术和 通信 技术高度发展基础上相结合的产物。 12. 在计算机网络中,各计算机仍使用 自己的 操作系统,由它管理自身的资源。只有 各计算机间进行 信息传递 、以及使用网络中的 可共享资源 时,才会涉及到网络操作系统。 13. 如果一个计算机网络系统,其处理和控制功能被分散在系统的各个计算机上,系统 中的所有任务可动态地分配到各个计算机中,使它们并行执行,实现分布处理。这样的系统 被称为“ 分布式系统 ”,其上配置的操作系统,被称为“ 分布式操作系统 ”。 二、选择 1.操作系统是一种 B 。 A.通用软件 B.系统软件 C.应用软件 D.软件包 2.操作系统是对 C 进行管理的软件。 A 系统软件 B.系统硬件 C.计算机资源 D.应用程序 3.操作系统中采用多道程序设计技术,以提高 CPU 和外部设备的 A 。 A.利用率 B.可靠性 C.稳定性 D.兼容性 4.计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使用。 A.速度 B.利用率 C.灵活性 D.兼容性 5. C 操作系统允许多个用户在其终端上同时交互地使用计算机。 A.批处理 B.实时 C.分时 D.多道批处理 6.如果分时系统的时间片一定,那么 D ,响应时间越长。 A.用户数越少 B.内存越少 C.内存越多 D.用户数越多 7. B 不是实时系统的基本特点。 A.安全性 B.公平响应 C.实时性 D.可靠性 三、问答
1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用? 答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放 几道相互独立的作业程序,让它们对系统中的资源进行 “共享 和 ,以使系统中的 各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。基于这种考虑,计算 机科学家开始把CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源”,并逐 步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。 具有这种功能的软件就是“操作系统”。所以,“多道程序设计”的出现,加快了操作系统的 诞生 2.怎样理解“虚拟机”的概念? 答:拿操作系统来说,它是在裸机上加截的第一层软件,是对计算机硬件系统功能的首 次扩充。从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节, 用户会感到机器使用起来更方便、容易了。这样,通过操作系统的作用使展现在用户面前的 是一台功能经过打 了的机器 这台 “机器”不是硬件搭建成的 ,现实生活中并不存在具有 这种功能的真实机器,它只是用户的一种感觉而已。所以,就把这样的机器称为 “虚拟机” 3.对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源:从 微观上看,各终端程序是轮流运行一个时间片”? 答:在分时系统中,系统把CPU时间划分成许多时间片,每个终端用户可以使用由 个时间片规定的CPU时间,多个用户终端就轮流地使用CPU。这样的效果是每个终端都开 始了自己的工作 得到了及时的响应 也就是说, “从宏观 看, 多 用户同时工作,共享 系统的资源”。但实际上,CPU在每一时刻只为一个终端服务,即“从微观上看,各终端程 序是轮流运行一个时间片” 4.分布式系统为什么具有健壮性? 答:由干分布式系统的处理和控制功能是分布的,任何站占发生的故喷都不会绘整个系 统造成太大的影响。另外,当系统中的设备出现故障时, 可以通过容错技术实现系统的重构 以保证系统的正常运行。这一切都表明分布式系统具有健壮性。 5为什么嵌入式操作系统必须具有可裁剪性? 答:基于嵌入式应用的多样化,嵌入式操作系统应该面向用户、面向产品、面向应用。 它必须右很强的活应能力,能根据应用系统的特点和要求,灵活配置,方伸煎裁,伸缩自 如。 第2章习题答案 一、填空 1.进程在执行过程中有三种基本状态,它们是运行态、就绪态和阻塞态。 2.系统中一个进程由程序、数据集合和进程控制块(PCB)_三部分组成。 3.在多道程序设计系统中,进程是一个动态概念,程序是一个静态概念。 4.在一个单CPU系统中,若有5个用户进程。假设当前系统为用户态,则处于就绪状 态的用户进程最多有4个,最少有0个 注意,愿目里给出的是假设当前系统为用户态 ,这表明现在有一个进程处于运行状态 因此最多有4个进程处于就绪态。也可能除一个在运行外,其他4个都处于阻塞。这时,处 于就绪的进程一个也没有。 5.总的来说,进程调度有两种方式,即不可刻夺方式和剥夺方式。 -.2-
- 2 - 1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用? 答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放 几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的 各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。基于这种考虑,计算 机科学家开始把 CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源”,并逐 步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。 具有这种功能的软件就是“操作系统”。所以,“多道程序设计”的出现,加快了操作系统的 诞生。 2.怎样理解“虚拟机”的概念? 答:拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能的首 次扩充。从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节, 用户会感到机器使用起来更方便、容易了。这样,通过操作系统的作用使展现在用户面前的 是一台功能经过扩展了的机器。这台“机器”不是硬件搭建成的,现实生活中并不存在具有 这种功能的真实机器,它只是用户的一种感觉而已。所以,就把这样的机器称为“虚拟机”。 3.对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从 微观上看,各终端程序是轮流运行一个时间片”? 答:在分时系统中,系统把 CPU 时间划分成许多时间片,每个终端用户可以使用由一 个时间片规定的 CPU 时间,多个用户终端就轮流地使用 CPU。这样的效果是每个终端都开 始了自己的工作,得到了及时的响应。也就是说,“从宏观上看,多个用户同时工作,共享 系统的资源”。但实际上,CPU 在每一时刻只为一个终端服务,即“从微观上看,各终端程 序是轮流运行一个时间片”。 4.分布式系统为什么具有健壮性? 答:由于分布式系统的处理和控制功能是分布的,任何站点发生的故障都不会给整个系 统造成太大的影响。另外,当系统中的设备出现故障时,可以通过容错技术实现系统的重构, 以保证系统的正常运行。这一切都表明分布式系统具有健壮性。 5.为什么嵌入式操作系统必须具有可裁剪性? 答:基于嵌入式应用的多样化,嵌入式操作系统应该面向用户、面向产品、面向应用。 它必须有很强的适应能力,能够根据应用系统的特点和要求,灵活配置,方便剪裁,伸缩自 如。 第 2 章习题答案 一、填空 1.进程在执行过程中有三种基本状态,它们是 运行 态、 就绪 态和 阻塞 态。 2.系统中一个进程由 程序 、 数据集合 和 进程控制块(PCB) 三部分组成。 3.在多道程序设计系统中,进程是一个 动 态概念,程序是一个 静 态概念。 4.在一个单 CPU 系统中,若有 5 个用户进程。假设当前系统为用户态,则处于就绪状 态的用户进程最多有 4 个,最少有 0 个。 注意,题目里给出的是假设当前系统为用户态,这表明现在有一个进程处于运行状态, 因此最多有 4 个进程处于就绪态。也可能除一个在运行外,其他 4 个都处于阻塞。这时,处 于就绪的进程一个也没有。 5.总的来说,进程调度有两种方式,即 不可剥夺 方式和 剥夺 方式
6.进程调度程序具体负贵中央处理机(CPU)的分配。 7.为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意CU忙@ 作业和忙是作业的搭配 8。所谓系统调用,就是用户程序要调用操作系统提供的一些子功能。 9,作业被系统接纳后到运行完毕,一般还需要经历后备、运行和完成三个 阶段。 10.假定一个系续中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度 算法是短作业优先调度算法 1.进程是 序的 一次执行过程,程序是进程赖以存在的基础, 12.可以把CU的指令分为两类,一类是操作系统和用户都能使用的指令,一类是只 能由操作系统使用的指令。前者称为“非特权”指令,后者称为“特权”指令。 13.系统调用命令的程序属于操作系统,它应该在管态下执行。用户程序只有通过计 算机系统提供的“访管”指令, 14 访管 令是一条非特权 能是执行它就会 :生 处理机 由且态转为管态,进入操作系统,并处理该中断。 15. 一个进程创建后,系统就感知到它的存在: 一个进程撤销后,系统就无法再感知到 它。于是,从创建到撒销,这个时间段就是一个进程的“生命期”。 16.由于PCB是随着进程的创建而建立,随者进程的撤销而取消的,因此系统是通过 PCB来“感知”系统中的进程的,PCB是进程存在的唯 一标 17。进程调度程序负责具体的处理机分配,完成进程间的切换工作,因此它的执行频率 是相当高的,是一个操作系统的真正核心。 二、选择 1.在进程管理中,当C时,进程从阻塞状态变为就绪状态。 A进程被调度程序选中 B.进程等待某一事件发生 C.等待的事件出现 D.时间片到 2.在分时系统中,一个进程用完给它的时间片后,其状态变为A A.就绪 B.等待 C.运行 D.由用户设定 3.下面对进程的描述中,错误的是D 进程是动态的概念 B.进程的执行需要CPU C.进程具有生命周期 D.进程是指令的集合 4.操作系统通过B对进程进行管理。 AICB B.PCB C.DCT D.FCB 5,一个讲程被唤醒,意味若该进程D A.重新占有CpU B.优先级变为最大 移至等特队列之首 D.变为就绪状态 6.由各作业JCB形成的队列称为C。 A,就绪作业队列 B.阻寒作业队列 C.后备作业队列 D.运行作业队列 7既考虑作业等待时间,又考虑作业执行时间的作业调度算法是A A.响 比高者优先 B 短作业优 C.优先级调度 D.先采先服务 8.作业调度程序从处于D状态的队列中选取适当的作业投入运行。 -3-
- 3 - 6.进程调度程序具体负责 中央处理机(CPU)的分配。 7.为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意 CPU 忙碌 作业和 I/O 忙碌 作业的搭配。 8.所谓系统调用,就是用户程序要调用 操作系统 提供的一些子功能。 9.作业被系统接纳后到运行完毕,一般还需要经历 后备 、 运行 和 完成 三个 阶段。 10.假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度 算法是 短作业优先 调度算法。 11.进程是程序的 一次执行 过程,程序是进程 赖以存在 的基础。 12. 可以把 CPU 的指令分为两类,一类是操作系统和用户都能使用的指令,一类是只 能由操作系统使用的指令。前者称为“ 非特权 ”指令,后者称为“ 特权 ”指令。 13. 系统调用命令的程序属于操作系统,它应该在 管 态下执行。用户程序只有通过计 算机系统提供的“ 访管 ”指令,才能实现由目态转为管态、进而调用这些系统调用命令。 14. 访管指令是一条非特权指令,功能是执行它就会产生一个软中断,促使中央处理机 由 目 态转为 管 态,进入操作系统,并处理该中断。 15. 一个进程创建后,系统就感知到它的存在;一个进程撤销后,系统就无法再感知到 它。于是,从创建到撤销,这个时间段就是一个进程的“ 生命期 ”。 16. 由于 PCB 是随着进程的创建而建立,随着进程的撤销而取消的,因此系统是通过 PCB 来“感知”系统中的进程的,PCB 是进程 存在 的唯一标志。 17. 进程调度程序负责具体的处理机分配,完成进程间的切换工作,因此它的执行频率 是相当高的,是一个操作系统的真正核心。 二、选择 1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。 A.进程被调度程序选中 B.进程等待某一事件发生 C.等待的事件出现 D.时间片到 2.在分时系统中,一个进程用完给它的时间片后,其状态变为 A 。 A.就绪 B.等待 C.运行 D.由用户设定 3.下面对进程的描述中,错误的是 D 。 A.进程是动态的概念 B.进程的执行需要 CPU C.进程具有生命周期 D.进程是指令的集合 4.操作系统通过 B 对进程进行管理。 A.JCB B.PCB C.DCT D.FCB 5.一个进程被唤醒,意味着该进程 D 。 A.重新占有 CPU B.优先级变为最大 C.移至等待队列之首 D.变为就绪状态 6.由各作业 JCB 形成的队列称为 C 。 A.就绪作业队列 B.阻塞作业队列 C.后备作业队列 D.运行作业队列 7.既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 。 A.响应比高者优先 B.短作业优先 C.优先级调度 D.先来先服务 8.作业调度程序从处于 D 状态的队列中选取适当的作业投入运行
A.就绪 B.提交 C.等待 D.后备 9。A是指从作业提交系统到作业完成的时间间 A.周转时间 响应时间 C.等待时间 D.运行时间 I0.计算机系统在执行C时,会自动从目态变换到管态。 A.P操作 B.V操作 C.系统调用 D.IV0指令 .进程状态由就绪变为运行,是由于C引起的。 A 事件 B.进程状态变迁 C,进程调设 D.为作业创建进程 12.当一个进程处于D时,称其为就绪状态。 A.等者读磁盘上的信息 B.等着进入内存 C.等着纷入一批数据 D.第着获得CPU的控制权 13.在操作系统中,处于就绪和阻塞状态的进程都没有占用处理机。当处理机空闲时 正确的操作应该是B。 A.就绪和阻塞进程都可以变迁成为运行状态 B.只有就绪进程可以变迁成为运行状态 C,只有阳塞讲程可以变迁成为运行状 D.就绪和阻塞状态的进程都不能变迁成为运行进程 14.我们把“逻辑上独 立的程序,在执行时间上相互重叠 个程序的执行还没有结束, 另一个程序的执行已经开始”的这种特性,称为程序执行的△· A.并发性B.并行性C.可执行性 D.可交互性 三、问答 1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大 家都在走走停停”这样一个现象? 答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。因 此,从宏观上看,这些程序都开始了自己的工作。但由于CPU只有一个,在任何时刻CPU 只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微 观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态 之中 2.什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无 定的联系? 答:特权指令和访管指令都是CPU指令系统中的指令,只是前者是一些只能在管态下 执行的指令,后者是一条只能在目态下执行的指令。原语和系统调用命令都是操作系统中 的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。操作系统中有 些系统调用命令是以原语的形式 出现的 如创建 生程就是 条原语式的系统调用命令 但并不是所有系统调用命令都是原语。因为如果那样的话,整个系统的并发性就不可能得 到充分地发挥。 3.操作系统是如何处理源程序中出现的系统调用命令的? 答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。 这样在程序实际被执行时,就通过访管指令进入操作系统,达到调用操作系统功能子程序 的目的 4.系统调用与一般的过程调用有什么区别? 答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指 -4
- 4 - A.就绪 B.提交 C.等待 D.后备 9. A 是指从作业提交系统到作业完成的时间间隔。 A.周转时间 B.响应时间 C.等待时间 D.运行时间 10.计算机系统在执行 C 时,会自动从目态变换到管态。 A.P 操作 B.V 操作 C.系统调用 D.I/O 指令 11.进程状态由就绪变为运行,是由于 C 引起的。 A.中断事件 B.进程状态变迁 C.进程调度 D.为作业创建进程 12. 当一个进程处于 D 时,称其为就绪状态。 A.等着读磁盘上的信息 B.等着进入内存 C.等着输入一批数据 D.等着获得 CPU 的控制权 13. 在操作系统中,处于就绪和阻塞状态的进程都没有占用处理机。当处理机空闲时, 正确的操作应该是 B 。 A.就绪和阻塞进程都可以变迁成为运行状态 B.只有就绪进程可以变迁成为运行状态 C.只有阻塞进程可以变迁成为运行状态 D.就绪和阻塞状态的进程都不能变迁成为运行进程 14. 我们把“逻辑上独立的程序,在执行时间上相互重叠,一个程序的执行还没有结束, 另一个程序的执行已经开始”的这种特性,称为程序执行的 A 。 A.并发性 B.并行性 C.可执行性 D.可交互性 三、问答 1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大 家都在走走停停”这样一个现象? 答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用 CPU。因 此,从宏观上看,这些程序都开始了自己的工作。但由于 CPU 只有一个,在任何时刻 CPU 只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微 观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态 之中。 2.什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一 定的联系? 答:特权指令和访管指令都是 CPU 指令系统中的指令,只是前者是一些只能在管态下 执行的指令,后者是一条只能在目态下执行的指令。原语和系统调用命令都是操作系统中 的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。操作系统中有 些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。 但并不是所有系统调用命令都是原语。因为如果那样的话,整个系统的并发性就不可能得 到充分地发挥。 3.操作系统是如何处理源程序中出现的系统调用命令的? 答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。 这样在程序实际被执行时,就通过访管指令进入操作系统,达到调用操作系统功能子程序 的目的。 4.系统调用与一般的过程调用有什么区别? 答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指
在一个程序中调用另一个程序。因此它们之间有如下三点区别。 (1)一般的过程调用,调用者与被调用者都运行在相同的CU状态,即或都处于目 态(用户程序调用用户程序) 或都处 于管 系统程序调 月系统程序) 但发生系统调用 时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态,即调用者与被调用 者运行在不同的CPU状态。 (2)一般的过程调用,是直接通过转移指今转向被调用的程序:但发生系统调用时,只 能通讨访管指今提供的一个统一的入口,由目态讲入管态,经分析后,才转向相的操作系 统命令处理程店 般的过程调用,在被调用者执行完后,就径直返回断点继续执行:但系统调用可 能会导致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束后,不 一定是返回调用者断点处继续执行。 5,试述创建进程原语的主要功能。 答:创建进程原语的主要功能有以下三项 (1)为新建 进程 (2)将创建者(即父进程)提供的新建进程的信息填入PCB中。 (3)将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB排入就绪队列中 6.处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就 绪,让它到就绪队列里排队,为什么不直接将它投入运行呢? 答: 只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态 的 个进程,在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进 程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用,进而也就失去了 设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队 列,然后再去考虑它使用CPU的向题。 作业调度与进程调度有什么区别? 答:作业度和进程陶度 :(即CPU调度)都涉及到CPU的分配。但作业调度只是选 参加CPU竞争的作业,它并不具体分配CPU。而进程调度是在作业调度完成选择后的基 上,把CPU真正分配给某一个具体的进程使用。 8.系统中的各种进程队列都是由进程的PCB链接而成的。当一个进程的状态从阻塞变 为就绪状态时,它的CB从哪个队列移到那个队列?它所对应的程序也要着移来移 吗?为什么? 答:当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到鬼 绪队列里。在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB,进程 所对应的程序是不动的。这是因为在进程的PCB里,总是记录有它的程序的断点信息。 知道了断点的信息,就能够知道程序当前应该从那里开始往下执行了。这正是保护现场 所起的作用。 为什么说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度 算法的折中? 答:先来先服务的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因 此对短作业不利:短作业优先的作业调度算法,重点考虑的是作业所需的CPU时间(当然 这个时间是用户自己估计的),因此对长作业不利。“响应比高者优先”作业调度算法,总是 在需要调度时 考虑作业 已经等待的时间和所需运行时间之比,即 该作业已等待时间/该作业所需CPU时间 不难看出,这个比值的分母是一个不变的量。随着时间的推移,一个作业的“己等待时 间”会不断发生变化,也就是分子在不断地变化。显然,短作业比较容易获得较高的响应比。 -5-
- 5 - 在一个程序中调用另一个程序。因此它们之间有如下三点区别。 (1)一般的过程调用,调用者与被调用者都运行在相同的 CPU 状态,即或都处于目 态(用户程序调用用户程序),或都处于管态(系统程序调用系统程序);但发生系统调用 时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态,即调用者与被调用 者运行在不同的 CPU 状态。 (2)一般的过程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只 能通过访管指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的操作系 统命令处理程序。 (3)一般的过程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可 能会导致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束后,不 一定是返回调用者断点处继续执行。 5.试述创建进程原语的主要功能。 答:创建进程原语的主要功能有以下三项。 (1)为新建进程申请一个 PCB。 (2)将创建者(即父进程)提供的新建进程的信息填入 PCB 中。 (3)将新建进程设置为就绪状态,并按照所采用的调度算法,把 PCB 排入就绪队列中。 6.处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就 绪,让它到就绪队列里排队,为什么不直接将它投入运行呢? 答:只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态 的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把 CPU 从当前运行进 程的手中抢夺过来),那么系统就无法控制对 CPU 这种资源的管理和使用,进而也就失去了 设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队 列,然后再去考虑它使用 CPU 的问题。 7.作业调度与进程调度有什么区别? 答:作业调度和进程调度(即 CPU 调度)都涉及到 CPU 的分配。但作业调度只是选择 参加 CPU 竞争的作业,它并不具体分配 CPU。而进程调度是在作业调度完成选择后的基础 上,把 CPU 真正分配给某一个具体的进程使用。 8.系统中的各种进程队列都是由进程的 PCB 链接而成的。当一个进程的状态从阻塞变 为就绪状态时,它的 PCB 从哪个队列移到哪个队列?它所对应的程序也要跟着移来移去 吗?为什么? 答:当一个进程的状态从阻塞变为就绪时,它的 PCB 就从原先在的阻塞队列移到就 绪队列里。在把进程的 PCB 从这个队列移到另一个队列时,只是移动进程的 PCB,进程 所对应的程序是不动的。这是因为在进程的 PCB 里,总是记录有它的程序的断点信息。 知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场 所起的作用。 9.为什么说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度 算法的折中? 答:先来先服务的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因 此对短作业不利;短作业优先的作业调度算法,重点考虑的是作业所需的 CPU 时间(当然, 这个时间是用户自己估计的),因此对长作业不利。“响应比高者优先”作业调度算法,总是 在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即: 该作业已等待时间 / 该作业所需 CPU 时间 不难看出,这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时 间”会不断发生变化,也就是分子在不断地变化。显然,短作业比较容易获得较高的响应比