操作系统-精髓与设计原理(第八版)复习题 - 随笔分类 - 浩楠honer - 博客园 (cnblogs.com) 转至此
操作系统--精髓与设计原理(第八版)第一章复习题答案
1.1 列出并简要定义计算机的四个组成部分。
- 处理器:控制计算机的操作,执行数据处理功能。
- 内存:也叫主存储器,存储数据和程序。
- 输入/输出模块:在计算机和外部环境之间移动数据。
- 系统总线:在处理器、内存和输入输出间提供通信的设施。
1.2 定义处理器寄存器的两种主要类别。
- 用户可见寄存器: 优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器,一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
- 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3 一般而言,一条机器指令能指定的四种不同操作是什么?
- 处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
- 处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
- 数据处理:处理器可以执行很多关于数据的算术操作或者逻辑操作。
- 控制:某些指令可以改变执行顺序。
1.4 什么是中断?
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
1.5 多个中断的处理方式是什么?
处理多中断有两种方法。
- 第一种方法是当正在处理一个中断时,禁止再发生中断。
- 第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6 内存层次各个元素间的特征是什么?
存储器的三个重要特性是:价格,容量和访问时间。并且各层次从上到下,每“位”价格降低,容量递增,访问时间递增。
1.7 什么是高速缓存?
高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8 多处理器系统和多核系统的区别是什么?
- 多处理器系统(Multiprocessor Systems)是指包含两台或多台功能相近的处理器,处理器之间彼此可以交换数据,所有处理器共享内存,I/O 设备,控制器,及外部设备,整个硬件系统由统一-的操作系统控制,在处理器和程序之间实现作业、任务、程序、数组极其元素各级的全面并行。
- 多内核(multicore chips) 是指在一枚处理器(chip) 中集成两个或多个完整的计算引擎(内核)。
1.9 空间局部性和时间局部性的区别是什么?
- 空间局部性是指最近被访问的元素的周围在不久的将来可能会被访问。
- 临时局部性(即时间局部性):是指最近被访问的元素在不久的将来可能会被再次访问。
1.10 开发空间局部性和时间局部性的策略是什么?
- 空间局部性的开发是利用更大的缓冲块并且在存储器控制逻辑中加入预处理机制。
- 时间局部性的开发是利用在高速缓冲存储器中保留最近使用的指令及数据,并且定义缓冲存储的优先级。
操作系统--精髓与设计原理(第八版)第二章复习题答案
2.1 操作系统设计的三个目标是什么?
- 方便:操作系统使计算机更易于使用。
- 有效:操作系统允许以更有效的方式使用计算机系统资源。
- 扩展的能力:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能。
2.2 什么是操作系统的内核?
操作系统内核是计算机上最低层的软件,提供计算机最核心的功能,比如:进程管理、内存管理、I/O管理、文件管理、网络管理等。
2.3 什么是多道程序设计?
两个或两个以上程序在计算机系统中同处于开始到结束之间的状态,这就称为多道程序设计。也就是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。多道程序技术运行的特征:多道、宏观上并行、微观上串行。
2.4 什么是进程?
进程由三部分组成:
- 一 段可执行的程序。
- 程序所需要的相关数据(变量、工作空间、缓冲区等)。
- 程序的执行上下文(也称进程状态)。
2.5 操作系统是怎么使用进程上下文的?执行上下文又称为进程状态,是操作系统用来管理和控制所需的内部数据。这种内部信息和进程是分开的,因为操作系统信息不允许被进程直接访问。上下文包括操作系统管理进程以及处理器正确执行进程所需要的所有信息,包括各种处理器寄存器的内容,如程序计数器和数据寄存器。它还包括操作系统使用的信息,如进程优先级以及进程是否在等待特定I/O事件的完成。
2.6 列出并简要介绍操作系统的五种典型存储管理职责。
- 进程隔离:操作系统必须保护独立的进程,防止互相干扰各自的存储空间,包括数据和指令。
- 自动分配和管理:程序应该根据需要在存储层次间动态的分配,分配对程序员是透明的。因此,程序员无需关心与存储限制有关的问题,操作系统有效的实现分配问题,可以仅在需要时才给作业分配存储空间。
- 支持模块化程序设计:程序员应该能够定义程序模块,并动态地创建、销毁模块,动态地改变模块大小。
- 保护和访问控制:不论在存储层次中的哪一级,存储器的共享都会产生一个程序访问另一个程序存储空间的潜在可能性。当某个特定的应用程序需要共享时,这是可取的。但在其他时候,他可能会威胁到程序的完整性,甚至威胁到操作系统本身。
- 长期存储:许多应用程序需要在计算机关机后长时间的保存信息。
2.7 解释实地址和虚地址的区别。实地址:指的是主存中的地址,实际的主存储器的地址,对应主存空间,即物理空间。虚地址:指的是存在于虚拟内存中的地址,它有时候在磁盘中,有时候在主存中。
2.8 描述时间片轮询调度技术。
轮询调度是一种调度算法,所有的进程存放在一个环形队列中并按固定循序依次激活。因为等待一些事件(例如:等待一个子进程或者一个I/O操作