1、第 1 章 一、填空1计算机由 硬件 系统和 软件 系统两个部分组成,它们构成了一个完整的计算机系统。2按功能划分,软件可分为 系统 软件和 应用 软件两种。3操作系统是在 裸机 上加载的第一层软件,是对计算机硬件系统功能的 首次 扩充。4操作系统的基本功能是 处理机(包含作业) 管理、 存储 管理、 设备 管理和 文件 管理。5在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是 改善系统功能,提高处理能力 。6分时系统的主要特征为 多路性 、 交互性 、 独立性 和 及时性 。7实时系统与分时以及批处理系统的主要区别是 高及时性 和 高可靠性 。8若一个操作系统具有
2、很强的交互性,可同时供多个用户使用,则是 分时 操作系统。9如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于 批处理 操作系统。10采用多道程序设计技术,能充分发挥 CPU 和 外部设备 并行工作的能力。二、选择1操作系统是一种 B 。A通用软件 B系统软件 C应用软件 D软件包2操作系统是对 C 进行管理的软件。A 系统软件 B系统硬件 C计算机资源 D应用程序3操作系统中采用多道程序设计技术,以提高 CPU 和外部设备的 A 。A利用率 B可靠性 C稳定性 D兼容性4计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使
3、用。A速度 B利用率 C灵活性 D兼容性5 C 操作系统允许多个用户在其终端上同时交互地使用计算机。A批处理 B实时 C分时 D多道批处理6如果分时系统的时间片一定,那么 D ,响应时间越长。A用户数越少 B内存越少 C内存越多 D用户数越多三、问答1什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争” ,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。基于这种考虑,计算机科学家开始把 CPU、存储器、外部设备以及各种软
4、件都视为计算机系统的“资源” ,并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。具有这种功能的软件就是“操作系统” 。所以, “多道程序设计”的出现,加快了操作系统的诞生。2怎样理解“虚拟机”的概念?答:拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更方便、容易了。这样,通过操作系统的作用使展现在用户面前的是一台功能经过扩展了的机器。这台“机器”不是硬件搭建成的,现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已
5、。所以,就把这样的机器称为“虚拟机” 。3对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从微观上看,各终端程序是轮流运行一个时间片”?答:在分时系统中,系统把 CPU 时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的 CPU 时间,多个用户终端就轮流地使用 CPU。这样的效果是每个终端都开始了自己的工作,得到了及时的响应。也就是说, “从宏观上看,多个用户同时工作,共享系统的资源” 。但实际上,CPU 在每一时刻只为一个终端服务,即“从微观上看,各终端程序是轮流运行一个时间片” 。第 2 章 一、填空1进程在执行过程中有 3 种基本状态,它们是 运行 态、
6、就绪 态和 阻塞 态。2系统中一个进程由 程序 、 数据集合 和 进程控制块(PCB) 三部分组成。3在多道程序设计系统中,进程是一个 动 态概念,程序是一个 静 态概念。4在一个单 CPU 系统中,若有 5 个用户进程。假设当前系统为用户态,则处于就绪状态的用户进程最多有 4 个,最少有 0 个。注意,题目里给出的是假设当前系统为用户态,这表明现在有一个进程处于运行状态,因此最多有 4 个进程处于就绪态。也可能除一个在运行外,其他 4 个都处于阻塞。这时,处于就绪的进程一个也没有。5总的来说,进程调度有两种方式,即 不可剥夺 方式和 剥夺 方式。6进程调度程序具体负责 中央处理机(CPU)的
7、分配。7为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意 CPU 忙碌 作业和 I/O 忙碌 作业的搭配。8所谓系统调用,就是用户程序要调用 操作系统 提供的一些子功能。9作 业 被 系 统 接 纳 后 到 运 行 完 毕 , 一 般 还 需 要 经 历 后 备 、 运 行 和 完 成 三个 阶 段 。10假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是 短作业优先 调度算法。二、选择1在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。A进程被调度程序选中 B进程等待某一事件发生C等待的事件出现 D时间片到2在分时系统中,一个进程用完给它的时间片后,
8、其状态变为 A 。A就绪 B等待 C运行 D由用户设定3下面对进程的描述中,错误的是 D 。A进程是动态的概念 B进程的执行需要 CPUC进程具有生命周期 D进程是指令的集合4操作系统通过 B 对进程进行管理。AJCB BPCB CDCT DFCB5一个进程被唤醒,意味着该进程 D 。A重新占有 CPU B优先级变为最大C移至等待队列之首 D变为就绪状态6由各作业 JCB 形成的队列称为 C 。A就绪作业队列 B阻塞作业队列C后备作业队列 D运行作业队列7既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 。A响应比高者优先 B短作业优先C优先级调度 D先来先服务8作业调度程序从处于
9、D 状态的队列中选取适当的作业投入运行。A就绪 B提交 C等待 D后备9 A 是指从作业提交系统到作业完成的时间间隔。A周转时间 B响应时间C等待时间 D运行时间10计算机系统在执行 C 时,会自动从目态变换到管态。AP 操作 BV 操作 C系统调用 DI/O 指令三、问答1在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答:在 多 道 程 序 设 计 系 统 中 , 内 存 中 存 放 多 个 程 序 , 它 们 以 交 替 的 方 式 使 用 CPU。因 此 , 从 宏 观 上 看 , 这 些 程 序 都 开 始 了 自 己 的 工 作
10、 。 但 由 于 CPU 只 有 一 个 , 在 任 何 时 刻CPU 只 能 执 行 一 个 进 程 程 序 。 所 以 这 些 进 程 程 序 的 执 行 过 程 是 交 织 在 一 起 的 。 也 就 是 说 ,从 微 观 上 看 , 每 一 个 进 程 一 会 儿 在 向 前 走 , 一 会 儿 又 停 步 不 前 , 处 于 一 种 “走 走 停 停 ”的 状 态 之 中 。2什么是“原语” 、 “特权指令” 、 “系统调用命令”和“访管指令”?它们之间有无一定的联系?答:特权指令和访管指令都是 CPU 指令系统中的指令,只是前者是一些只能在管态下执行 的 指 令 , 后 者 是 一
11、 条 只 能 在 目 态 下 执 行 的 指 令 。 原 语 和 系 统 调 用 命 令 都 是 操 作 系 统 中的 功 能 程 序 , 只 是 前 者 执 行 时 不 能 被 其 他 程 序 所 打 断 , 后 者 没 有 这 个 要 求 。 操 作 系 统 中 有些 系 统 调 用 命 令 是 以 原 语 的 形 式 出 现 的 , 例 如 创 建 进 程 就 是 一 条 原 语 式 的 系 统 调 用 命 令 。但 并 不 是 所 有 系 统 调 用 命 令 都 是 原 语 。 因 为 如 果 那 样 的 话 , 整 个 系 统 的 并 发 性 就 不 可 能 得到 充 分 地 发 挥
12、 。3操作系统是如何处理源程序中出现的系统调用命令的?答:编 译 程 序 总 是 把 源 程 序 中 的 系 统 调 用 命 令 改 写 成 为 一 条 访 管 指 令 和 相 应 的 参 数 。这 样 在 程 序 实 际 被 执 行 时 , 就 通 过 访 管 指 令 进 入 操 作 系 统 , 达 到 调 用 操 作 系 统 功 能 子 程 序的 目 的 。4系统调用与一般的过程调用有什么区别?答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指在一个程序中调用另一个程序。因此它们之间有如下三点区别。(1)一 般 的 过 程 调 用 , 调 用 者 与 被 调 用
13、者 都 运 行 在 相 同 的 CPU 状 态 , 即 或 都 处 于 目态 ( 用 户程序调用用户程序) ,或都处于管态(系统程序调用系统程序) ;但发生系统调用时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态,即调用者与被调用者运行在不同的 CPU 状态。(2)一般的过程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过访管指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的操作系统命令处理程序。(3)一般的过程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会导致进程状态的变化,从而引起系统重新分配处理机。因此,系统调用处理结束
14、后,不一定是返回调用者断点处继续执行。5试述创建进程原语的主要功能。答:创建进程原语的主要功能有以下三项。(1)为新建进程申请一个 PCB。(2)将创建者(即父进程)提供的新建进程的信息填入 PCB 中。(3)将新建进程设置为就绪状态,并按照所采用的调度算法,把 PCB 排入就绪队列中。6处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就绪,让它到就绪队列里排队,为什么不直接将它投入运行呢?答:只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把 CPU 从当前运行进程的手中抢夺过来) ,那
15、么系统就无法控制对 CPU 这种资源的管理和使用,进而也就失去了设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用 CPU 的问题。7作业调度与进程调度有什么区别?答:作业调度和进程调度(即 CPU 调度)都涉及到 CPU 的分配。但作业调度只是选择参加 CPU 竞争的作业,它并不具体分配 CPU。而进程调度是在作业调度完成选择后的基础上,把 CPU 真正分配给某一个具体的进程使用。8系统中的各种进程队列都是由进程的 PCB 链接而成的。当一个进程的状态从阻塞变为就绪状态时,它的 PCB 从哪个队列移到哪个队列?它所对应的程序也要跟着移来移去
16、吗?为什么?答:当 一 个 进 程 的 状 态 从 阻 塞 变 为 就 绪 时 , 它 的 PCB 就 从 原 先 在 的 阻 塞 队 列 移 到 就绪 队 列 里 。 在 把 进 程 的 PCB 从 这 个 队 列 移 到 另 一 个 队 列 时 , 只 是 移 动 进 程 的 PCB, 进程 所 对 应 的 程 序 是 不 动 的 。 这 是 因 为 在 进 程 的 PCB 里 , 总 是 记 录 有 它 的 程 序 的 断 点 信 息 。知 道 了 断 点 的 信 息 , 就 能 够 知 道 程 序 当 前 应 该 从 哪 里 开 始 往 下 执 行 了 。 这 正 是 保 护 现 场所
17、 起 的 作 用 。9为什么说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度算法的折中?答: 先来先服务的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先的作业调度算法,重点考虑的是作业所需的 CPU 时间(当然,这个时间是用户自己估计的) ,因此对长作业不利。 “响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间 / 该作业所需 CPU 时间不难看出,这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时间”会不断发生变化,也就是分子在不断地变化。显然,短作业比较容
18、易获得较高的响应比。这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。根据这种分析,可见“响应比高者优先”的作业调度算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种调度算法的一种折中。10短作业优先调度算法总能得到最小的平均周转时间吗?为什么?答:短作业优先调度算法只有在所有作业同时到达后备作业队列时,才能得到最小的平均周转时间。如果各作业不是同时到达,这个结论是不成立的。可以用反例说明,例如,教材上举有如下例子:考虑有 5 个作业 A 到 E,运行时
19、间分别是 2、4、1、1、1;到达时间分别是 0、0、3、3、3。按照短作业优先的原则,最初只有 A 和 B 可以参与选择,因为其他 3 个还没有到达。于是,运行顺序应该是 A、B、C、 D、E。它们每个的周转时间分别是 2、6、4、5、6,平均周转时间是 4.6。但如果按照顺序 B、C 、D 、E、A 来调度,它们每一个的周转时间成为 9、4、2、3、4,平均周转时间是 4.4。结果比短作业优先调度算法好。之所以会这样,就是因为这 5 个作业并没有同时到达。第 3 章 一、填空1将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为 地址重定位 。2使用覆盖与对换技术的主要目的是 提高
20、内存的利用率 。3存 储 管 理 中 , 对 存 储 空 间 的 浪 费 是 以 内 部 碎 片 和 外 部 碎 片 两 种 形 式 表 现 出来 的 。4地址重定位可分为 静态重定位 和 动态重定位 两种。5在 可 变 分 区 存 储 管 理 中 采 用 最 佳 适 应 算 法 时 , 最 好 按 尺 寸 法 来 组 织 空 闲 分 区链 表 。6在分页式存储管理的页表里,主要应该包含 页号 和 块号 两个信息。7静态重定位在程序 装入 时进行,动态重定位在程序 执行 时进行。8在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现 抖动 现象。9在请求分页式存储管理中采用先进先出(F
21、IFO)页面淘汰算法时,增加分配给作业的块数时, 缺页中断 的次数有可能会增加。10在请求分页式存储管理中,页面淘汰是由于 缺页 引起的。二、选择1虚拟存储器的最大容量是由 B 决定的。A内、外存容量之和 B计算机系统的地址结构C作业的相对地址空间 D作业的绝对地址空间2采用先进先出页面淘汰算法的系统中,一进程在内存占 3 块(开始为空) ,页面访问序列为 1、2、3、4、1、2、5、1、2、3、4、5、6。运行时会产生 D 次缺页中断。A7 B8 C9 D10从图 3-8 中的“缺页计数”栏里可以看出应该选择 D。 1 2 3 4 1 2 5 1 2 3 4 5 6 1 2 3 4 1 2
22、5 5 5 3 4 4 6 1 2 3 4 1 2 2 2 5 3 3 4 1 2 3 4 1 1 3 页 面 走 向 3个 内 存 块 缺 页 计 数 缺 页 计 数 1 2 5 5 图 3-8 选择题 2 配图3系统出现“抖动”现象的主要原因是由于 A 引起的。A置换算法选择不当 B交换的信息量太大C内存容量不足 D采用页式存储管理策略4实现虚拟存储器的目的是 D 。A进行存储保护 B允许程序浮动C允许程序移动 D扩充主存容量5作业在执行中发生了缺页中断,那么经中断处理后,应返回执行 B 指令。A被中断的前一条 B被中断的那条C被中断的后一条 D程序第一条6在实行分页式存储管理系统中,分页
23、是由 D 完成的。A程序员 B用户 C操作员 D系统7下面的 A 页面淘汰算法有时会产生异常现象。A先进先出 B最近最少使用 C最不经常使用 D最佳8在一个分页式存储管理系统中,页表的内容为:若页的大小为 4KB,则地址转换机构将相对地址 0 转换成的物理地址是 A 。A8192 B4096C2048 D1024注意,相对地址 0 肯定是第 0 页的第 0 个字节。查页表可知第 0 页存放在内存的第 2块。现在块的尺寸是 4KB,因此第 2 块的起始地址为 8192。故相对地址 0 所对应的绝对地址(即物理地址)是 8192。9下面所列的存储管理方案中, A 实行的不是动态重定位。A固定分区
24、B可变分区 C分页式 D请求分页式10在下面所列的诸因素中,不对缺页中断次数产生影响的是 C 。A内存分块的尺寸 B程序编制的质量C作业等待的时间 D分配给作业的内存块数三、问答页号 块号0 21 12 71什么是内部碎片?什么是外部碎片?各种存储管理中都可能产生何种碎片?答:所谓“内部碎片” ,是指系统已经分配给用户使用、用户自己没有用到的那部分存储空间;所谓“外部碎片” ,是指系统无法把它分配出去供用户使用的那部分存储空间。对于教材而言,单一连续区存储管理、固定分区存储管理、分页式存储管理和请求页式存储管理都会出现内部碎片。只是前两种存储管理造成的内部碎片比较大,浪费较为严重;后两种页式存
25、储管理,平均来说每个作业都会出现半页的内部碎片。教材中,只有可变分区存储管理会产生外部碎片。2叙述静态重定位与动态重定位的区别。答:静态重定位是一种通过软件来完成的地址重定位技术。它在程序装入内存时,完成对程序指令中地址的调整。因此,程序经过静态重定位以后,在内存中就不能移动了。如果要移动,就必须重新进行地址重定位。动 态 重 定 位 是 一 种 通 过 硬 件 支 持 完 成 的 地 址 重 定 位 技 术 。 作 业 程 序 被 原 封 不 动 地 装 入内 存 。 只 有 到 执 行 某 条 指 令 时 , 硬 件 地 址 转 换 机 构 才 对 它 里 面 的 地 址 进 行 转 换
26、。 正 因 为 如此 , 实 行 动 态 重 定 位 的 系 统 , 作 业 程 序 可 以 在 内 存 里 移 动 。 也 就 是 说 , 作 业 程 序 在 内 存 中是 可 浮 动 的 。3一个虚拟地址结构用 24 个二进制位表示。其中 12 个二进制位表示页面尺寸。试问这种虚拟地址空间总共多少页?每页的尺寸是多少?答:如下图所示,由于虚拟地址中是用 12 个二进制位表示页面尺寸(即页内位移) ,所以虚拟地址空间中表示页号的也是 12 个二进制位。这样,这种虚拟地址空间总共有:212 = 4096(页) 每页的尺寸是:212 = 4096 = 4K(字节) 21 20 19 18 17
27、16 15 14 13 12 1 10 9 8 7 6 5 4 3 2 1 0 页 号 页 内 位 移 虚 拟 地 址 23 2 4什么叫虚拟存储器?怎样确定虚拟存储器的容量?答:虚拟存储器实际是一种存储扩充技术。它把作业程序存放在辅助存储器里,运行时只装入程序的一部分。遇到不在内存的程序时,再把所需要的部分装入。这样在内存和辅存之间调入、调出的做法,使用户的作业地址空间无需顾及内存的大小。给用户造成的印象是,无论程序有多大,它在这个系统上都可以运行。这种以辅助存储器作为后援的虚幻存储器,就称为虚拟存储器。虚拟存储器的大小是由系统的地址结构确定的。5为什么请求分页式存储管理能够向用户提供虚拟存
28、储器?答:请求分页式存储管理的基本思想是:操作系统按照存储块的尺寸,把用户作业地址空间划分成页,全部存放在磁盘上。作业运行时,只先装入若干页。运行过程中遇到不在内存的页时,操作系统就把它从磁盘调入内存。这样一来,用户的作业地址空间无需顾及内存的大小。这与虚拟存储器的思想是完全吻合的。所以,请求分页式存储管理能够向用户提供虚拟存储器。6在请求分页式存储管理中,为什么既有页表,又有快表?答:在分页式或请求页式存储管理中,通常是利用内存储器构成页表的。当 CPU 执行到某条指令、要对内存中的某一地址访问时,因为这个地址是相对地址,所以先要根据这个地址所在的页号去查页表(访问一次内存) ,然后才能由所
29、形成的绝对地址去真正执行指令(第二次访问内存) 。可见,由于页表在内存,降低了 CPU 的访问速度。为了提高相对地址到绝对地址的变换速度,人们想到用一组快速寄存器来代替页表。这时查页表是以并行的方式进行,立即就能输出与该页号匹配的块号,这样做无疑比内存式的页表要快得多。但是,快速寄存器的价格昂贵,由它来组成整个页表是不可取的。考虑到程序运行时具有局部性,因此实际系统中总是一方面采用内存页表、另一方面用极少几个快速寄存器组成快表来共同完成地址的变换工作。这时的地址变换过程,如教材中的图 3-22 所示。7试述缺页中断与页面淘汰之间的关系。答:在请求页式存储管理中,当根据虚拟地址查页表而发现所要访
30、问的页不在内存时,就会产生缺页中断。系统响应中断后,就由操作系统到辅存把所需要的页读入内存。这时,内存可能有空闲的块,也可能没有。只有当内存中没有空闲块时,才会出现将内存现有页面淘汰出去的问题,即要进行页面淘汰。所以,缺页中断和页面淘汰之间的关系是:页面淘汰一定是由缺页中断所引起;但缺页中断则不一定引起页面淘汰。8试述缺页中断与一般中断的区别。答:在计算机系统中,由于某些事件的出现,打断了当前程序的运行,而使 CPU 去处理出现的事件,这称为“中断” 。通常,计算机的硬件结构都是在执行完一条指令后,去检查有无中断事件发生的。如果有,那么就暂停当前程序的运行,而让 CPU 去执行操作系统的中断处
31、理程序,这叫“中断响应” 。CPU 在处理完中断后,如果不需要对 CPU 重新进行分配,那么就返回被中断进程的程序继续运行;如果需要进行 CPU 的重新分配,那么操作系统就会去调度新进程。由上面的讲述可以看出,缺页中断与一般中断的区别如下。(1)两种中断产生的时刻不同:缺页中断是在执行一条指令中间时产生的中断,并立即转去处理;而一般中断则是在一条指令执行完毕后,当硬件中断装置发现有中断请求时才去响应和处理。(2)处理完毕后的归属不同:缺页中断处理完后,仍返回到原指令去重新执行,因为那条指令并未执行;而一般中断则是或返回到被中断进程的下一条指令去执行,因为上一条指令已经执行完了,或重新调度,去执
32、行别的进程程序。9怎样理解把相对地址划分成数对:(页号,页内位移)的过程对于用户是“透明”的?答:在操作系统中,所谓“透明” ,即指用户不知道的意思。对于分页式存储管理来说,用户向系统提供的相对地址空间,是一个一维的连续空间。系统接受了这个作业后,在内部把这个相对地址空间划分成若干页。由于这种划分对于用户来说是根本不知道的,所以说把相对地址划分成数对:(页号,页内位移)的过程对于用户是“透明”的。10做一个综述,说明从单一连续区存储管理到固定分区存储管理,到可变分区存储管理,到分页式存储管理,再到请求分页式存储管理,每一种存储管理的出现,都是在原有基础上的发展和提高。答:教材共介绍了 5 种存
33、储管理策略,它们适用于不同的场合,如图 3-9 所示。图中,在单一连续分区存储管理与固定分区存储管理之间画了一条线,那表明位于线以上的存储管理策略只适用于单道程序设计,以下的适用于多道程序设计;在可变分区存储管理与分页式存储管理之间画了一条线,那表明位于线以上的存储管理策略都要求为进入内存的作业分配一个连续的存储区,以下的存储管理策略打破了连续性的要求;在分页式存储管理与请求页式存储管理之间画了一条单 道 多 道 连 续 不 连 续 全 部 部 分 单 一 连 续 分 区 存 储 管 理 固 定 分 区 存 储 管 理 可 变 分 区 存 储 管 理 分 页 式 存 储 管 理 请 求 页 式
34、 存 储 管 理 图 3-9 各种存储管理策略的适用场合线,那表明位于线以上的存储管理策略都要求使作业程序全部进入内存,而以下的存储管理策略打破了全部的要求,只要部分装入内存就可以了。由此可见,每一种存储管理的出现,都是在原有存储管理基础上的一次发展和提高。它们从简单到复杂,从不完善到逐渐完善。第 4 章 一、填空1磁带、磁盘这样的存储设备都是以 块 为单位与内存进行信息交换的。2根据用户作业发出的磁盘 I/O 请求的柱面位置,来决定请求执行顺序的调度,被称为 移臂 调度。3DMA 控制器在获得总线控制权的情况下能直接与 内存储器 进行数据交换,无需CPU 介入。4在 DMA 方式下,设备与内
35、存储器之间进行的是 成批 数据传输。5通道程序是由 通道 执行的。6通道是一个独立与 CPU 的、专门用来管理 输入/输出操作 的处理机。7缓冲的实现有两种方法:一种是采用专门硬件寄存器的硬件缓冲,一种是在内存储器里开辟一个区域,作为专用的 I/O 缓冲区,称为 软件缓冲 。8设备管理中使用的数据结构有系统设备表(SDT)和 设备控制块(DCB) 。9基于设备的分配特性,可以把系统中的设备分为独享、共享和 虚拟 三种类型。10引起中断发生的事件称为 中断源 。二、选择1在对磁盘进行读/写操作时,下面给出的参数中, C 是不正确的。A 柱面号 B磁头号 C盘面号 D扇区号2在设备管理中,是由 B
36、 完成真正的 I/O 操作的。A输入/输出管理程序 B设备驱动程序C中断处理程序 D设备启动程序3在下列磁盘调度算法中,只有 D 考虑 I/O 请求到达的先后次序。A最短查找时间优先调度算法 B电梯调度算法C单向扫描调度算法 D先来先服务调度算法4下面所列的内容里, C 不是 DMA 方式传输数据的特点。A直接与内存交换数据 B成批交换数据C与 CPU 并行工作 D快速传输数据5在 CPU 启动通道后,由 A 执行通道程序,完成 CPU 所交给的 I/O 任务。A 通道 B CPU C设备 D设备控制器6利用 SPOOL 技术实现虚拟设备的目的是 A 。A把独享的设备变为可以共享 B便于独享设
37、备的分配C便于对独享设备的管理 D便于独享设备与 CPU 并行工作7通常,缓冲池位于 C 中。A设备控制器 B辅助存储器 C主存储器 D寄存器8 B 是直接存取的存储设备。A磁带 B磁盘 C打印机 D键盘显示终端9SPOOLING 系统提高了 A 的利用率。A独享设备 B辅助存储器 C共享设备 D主存储器10按照设备的 D 分类,可将系统中的设备分为字符设备和块设备两种。A从属关系 B分配特性 C操作方式 D工作特性三、问答1基于设备的从属关系,可以把设备分为系统设备与用户设备两类。根据什么来区分一个设备是系统设备还是用户设备呢?答:所谓“系统设备” ,是指在操作系统生成时就已被纳入系统管理范
38、围的设备;所谓“用户设备”是指在完成应用任务过程中,用户特殊需要的设备。因此,判定一个设备是系统设备还是用户设备,依据是它在系统生成时,是否已经纳入了系统的管理范围。如果是,它就是系统设备;如果不是,它就是用户设备。2设备管理的主要功能是什么?答:设备管理的主要功能是:(1)提供一组 I/O 命令,以便用户进程能够在程序中提出 I/O 请求,这是用户使用外部设备的“界面” ;(2)记住各种设备的使用情况,实现设备的分配与回收;(3)对缓冲区进行管理,解决设备与设备之间、设备与 CPU 之间的速度匹配问题;(4)按照用户的具体请求,启动设备,通过不同的设备驱动程序,进行实际的 I/O 操作;I/
39、O 操作完成之后,将结果通知用户进程,从而实现真正的 I/O 操作。3试分析最短查找时间优先调度算法的“不公平”之处。例如例 4-1 里,原来磁臂移到 16 柱面后,下一个被处理的 I/O 请求是柱面 1。假定在处理 16 柱面时,到达一个对柱面 8 的 I/O 新请求,那么下一个被处理的就不是柱面 1 而是柱面 8 了。这有什么弊端存在?答:最短查找时间优先调度算法,只考虑各 I/O 请求之间的柱面距离,不去过问这些请求到达的先后次序。这样一来,可能会出现的弊端是磁头总是关照邻近的 I/O 请求,冷待了早就到达的、位于磁盘两头的 I/O 请求。这对于它们来说,当然是“不公平”的。4总结设备和
40、 CPU 在数据传输的 4 种方式中,各自在“启动、数据传输、I/O 管理以及善后处理”各个环节所承担的责任。答:使用“程序循环测试”的方式来进行数据传输,不仅启动、I/O 管理和善后处理等工作要由 CPU 来承担,即使在数据传输时,CPU 也要做诸如从控制器的数据寄存器里取出设备的输入信息,送至内存;将输出的信息,从内存送至控制器的数据寄存器,以供设备输出等工作。因此,在这种方式下,CPU 不仅要花费大量时间进行测试和等待,并且只能与设备串行工作,整个计算机系统的效率发挥不出来。使用“中断”的方式来进行数据传输,启动、I/O 管理以及善后处理等工作仍然要由CPU 来承担,但在设备进行数据传输
41、时,CPU 和外部设备实行了并行工作。在这种方式下,CPU 的利用率有了一定的提高。使用“直接存储器存取(DMA) ”的方式来进行数据传输,I/O 的启动以及善后处理是CPU 的事情,数据传输以及 I/O 管理等事宜均由 DMA 负责实行。不过,DMA 方式是通过“窃取”总线控制权的办法来工作的。在它工作时,CPU 被挂起,所以并非设备与 CPU在并行工作。因此,在一定程度上影响了 CPU 的效率。使用“通道”方式来进行数据传输,在用户发出 I/O 请求后,CPU 就把该请求全部交由通道去完成。通道在整个 I/O 任务结束后,才发出中断信号,请求 CPU 进行善后处理。这时 CPU 对 I/O
42、 请求只去做启动和善后处理工作,输入/ 输出的管理以及数据传输等事宜,全部由通道独立完成,并且真正实现了 CPU 与设备之间的并行操作。5用户程序中采用“设备类,相对号”的方式使用设备有什么优点?答:在用户程序中采用“设备类,相对号”的方式使用设备的优点是:第一,用户不需要记住系统中每一台设备的具体设备号,这是非常麻烦的事情;第二,在多道程序设计环境下,用户并不知道当前哪一台设备已经分配,哪一台设备仍然空闲。通过“设备类,相对号”来提出对设备的使用请求,系统就可以根据当前的具体情况来分配,从而提高设备的使用效率;第三,用户并不知道设备的好坏情况。如果是用“绝对号”指定具体的设备,而该设备正好有
43、故障时,这次 I/O 任务就不可能完成,程序也就无法运行下去。但通过“设备类,相对号”来提出对设备的使用请求,系统就可以灵活处理这种情况,把好的设备分配出去。6启动磁盘执行一次输入/输出操作要花费哪几部分时间?哪个时间对磁盘的调度最有影响?答:执 行 一 次 磁 盘 的 输 入 /输 出 操 作 需 要 花 费 的 时 间 包 括 三 部 分 : ( 1) 查 找 时 间 ;( 2) 等 待 时 间 ; ( 3) 传 输 时 间 。 在 这 些 时 间 中 , 传 输 时 间 是 设 备 固 有 的 特 性 , 无 法 用 改变 软 件 的 办 法 将 它 改 进 。 因 此 , 要 提 高
44、磁 盘 的 使 用 效 率 , 只 能 在 减 少 查 找 时 间 和 等 待 时 间上 想 办 法 , 它 们 都 与 I/O 在 磁 盘 上 的 分 布 位 置 有 关 。 由 于 磁 臂 的 移 动 是 靠 控 制 电 路 驱 动 步进 电 机 来 实 现 , 它 的运动速度相对于磁盘轴的旋转来讲较缓慢。因此,查找时间对磁盘调度的影响更为主要。7解释通道命令字、通道程序和通道地址字。答:所谓“通道命令字” ,是指通道指令系统中的指令。只是为了与 CPU 的指令相区别,才把通道的指令改称为“通道命令字” 。若干条通道命令字汇集在一起,就构成了一个“通道程序” ,它规定了设备应该执行的各种操
45、作和顺序。通常,通道程序存放在通道自己的存储部件里。当通道中没有存储部件时,就存放在内存储器里。这时,为了使通道能取得通道程序去执行,必须把存放通道程序的内存起始地址告诉通道。存放这个起始地址的内存固定单元,被称为“通道地址字” 。8何为 DMA?通道与 DMA 有何区别?答:所谓“DMA” ,是指“直接存储器存取”的数据传输方式,其最大特点是能使 I/O设备直接和内存储器进行成批数据的快速传输。适用于一些高速的 I/O 设备,如磁带、磁盘等。通道方式与 DMA 方式之间的区别如下。(1)在 DMA 方式下,数据传输的方向、传输长度和地址等仍然需要由 CPU 来控制。但在通道方式下,所需的 C
46、PU 干预大大减少。(2)在 DMA 方式下,每台设备要有一个 DMA 控制器。当设备增加时,多个 DMA控制器的使用,显然不很经济;但在通道方式下,一个通道可以控制多台设备,这不仅节省了费用,而且减轻了 CPU 在输入/输出中的负担。(3)在 DMA 方式下传输数据时,是采用“窃取”总线控制权的办法来工作的。因此,CPU 与设备之间并没有实现真正的并行工作;在通道方式下,CPU 把 I/O 任务交给通道后,它就与通道就真正并行工作。9解释记录的成组与分解。为什么要这样做?答:往磁带、磁盘上存放信息时,经常是把若干个记录先在内存缓冲区里拼装成一块,然后再写到磁带或磁盘上。存储设备与内存储器进行
47、信息交换时,就以块为单位。这个把记录拼装成块的过程,被称为是“记录的成组” 。从磁带、磁盘上读取记录时,先是把含有那个记录的块读到内存的缓冲区中,在那里面挑选出所需要的记录,然后把它送到内存存放的目的地。这个把记录从缓冲区里挑选出来的过程,被称为是“记录的分解” 。之所以这样做,一是为了提高存储设备的存储利用率;二是减少内、外存之间信息交换次数,提高系统的效率。10试述 SPOOL 系统中的 3 个组成软件模块各自的作用。答:SPOOLING 系统中的 3 个软件模块是预输入程序、缓输出程序和井管理程序。它们各自的作用如下。(1)预输入程序预先把作业的全部信息输入到磁盘的输入井中存放,以便在需
48、要作业信息以及作业运行过程中需要数据时,可以直接从输入井里得到,而无需与输入机交往,避免了等待使用输入机的情况发生。(2)缓输出程序总是查看“输出井”中是否有等待输出的作业信息。如果有,就启动输出设备(如打印机)进行输出。因此,由于作业的输出是针对输出井进行的,所以不会出现作业因为等待输出而阻塞的现象。(3)井管理程序分为“井管理读程序”和“井管理写程序” 。当作业请求输入设备工作时,操作系统就调用井管理读程序,把让输入设备工作的任务,转换成从输入井中读取所需要的信息;当作业请求打印输出时,操作系统就调用井管理写程序,把让输出设备工作的任务,转换成为往输出井里输出。第 5 章 一、填空1一个文件的文件名是在 创建该文件 时给出的。2所谓“文件系统” ,由与文件管理有关的 那部分软件 、被管理的文件以及管理所需要的数据结构三部分组成。3 块 是辅助存储器与内存之间进行信息传输的单位。4在用位示图管理磁盘存储空间时,位示图的尺寸由磁盘的 总块数 决定。5采用空闲区表法管理磁盘存储空间,类似于存储管理中采用 可变分区存储管理 方法管理内存储器。6操作系统是通过 文件控制块(FCB )感知一个文件的存在的。7按用户对文件的存取权限将用户分成若干组,规定每一组用户对文件的访问权限。这样,所有用户组存取权限的集合称为该文件的 存取控制表 。8根据在辅存上的不同存储方式,文件可以有