## 2. 模块化
模块化是将操作系统按功能划分为若干具有一定独立性的模块。每个模块具有某方面的管理功能,并规定好各模块间的接口,使各模块之间能够通过接口进行通信。还可以进一步将各模块细分为若干具有一定功能的子模块,同样也规定好各子模块之间的接口。这种设计方法被称为模块-接口法,图1.5所示为由模块、子模块等组成的模块化操作系统结构。
图1.5 由模块、子模块等组成的模块化操作系统结构
在划分模块时,若将模块划分得太小,则虽然能降低模块本身的复杂性,但会使得模块之间的联系过多,造成系统比较混乱;若模块划分得过大,则又会增加模块内部的复杂性,显然应在两者间进行权衡。此外,在划分模块时,要充分考虑模块的独立性问题,因为模块独立性越高,各模块间的交互就越少,系统的结构也就越清晰。衡量模块的独立性主要有两个标准:
- 内聚性,模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越好。
- 耦合度,模块间相互联系和相互影响的程度。耦合度越低,模块独立性越好。
模块化的优点:①提高了操作系统设计的正确性、可理解性和可维护性;②增强了操作系统的可适应性;③加速了操作系统的开发过程。
模块化的缺点:①模块间的接口规定很难满足对接口的实际需求。②各模块设计者齐头并进,每个决定无法建立在上一个已验证的正确决定的基础上,因此无法找到一个可靠的决定顺序。
## 3. 宏内核
从操作系统的内核架构来划分,可分为宏内核和微内核。
宏内核,也称单内核或大内核,是指将系统的主要功能模块都作为一个紧密联系的整体运行在内核态,从而为用户程序提供高性能的系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。
随着体系结构和应用需求的不断发展,需要操作系统提供的服务越来越复杂,操作系统的设计规模急剧增长,操作系统也面临着“软件危机”困境。就像一个人,越胖活动起来就越困难。所以就出现了微内核技术,就是将一些非核心的功能移到用户空间,这种设计带来的好处是方便扩展系统,所有新服务都可以在用户空间增加,内核基本不用去做改动。
<!-- page: 39 -->
从操作系统的发展来看,宏内核获得了绝对的胜利,目前主流的操作系统,如Windows、Android、iOS、macOS、Linux等,都是基于宏内核的构架。但也应注意到,微内核和宏内核一直是同步发展的,目前主流的操作系统早已不是当年纯粹的宏内核构架了,而是广泛吸取微内核构架的优点而后揉合而成的混合内核。当今宏内核构架遇到了越来越多的困难和挑战,而微内核的优势似乎越来越明显,尤其是谷歌的Fuchsia和华为的鸿蒙OS,都瞄准了微内核构架。
## 4. 微内核
### (1)微内核的基本概念
微内核构架,是指将内核中最基本的功能保留在内核,而将那些不需要在内核态执行的功能移到用户态执行,从而降低内核的设计复杂性。那些移出内核的操作系统代码根据分层的原则被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信。
微内核结构将操作系统划分为两大部分:微内核和多个服务器。微内核是指精心设计的、能实现操作系统最基本核心功能的小型内核,通常包含:①与硬件处理紧密相关的部分;②一些较基本的功能;③客户和服务器之间的通信。这些部分只是为构建通用操作系统提供一个重要基础,这样就可以确保将内核做得很小。操作系统中的绝大部分功能都放在微内核外的一组服务器(进程)中实现,如用于提供对进程(线程)进行管理的进程(线程)服务器、提供虚拟存储器管理功能的虚拟存储器服务器等,它们都是作为进程来实现的,运行在用户态,客户与服务器之间是借助微内核提供的消息传递机制来实现交互的。图1.6展示了单机环境下的客户/服务器模式。
图1.6 单机环境下的客户/服务器模式
在微内核结构中,为了实现高可靠性,只有微内核运行在内核态,其余模块都运行在用户态,一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃。例如,文件服务代码运行时出了问题,宏内核因为文件服务是运行在内核态的,系统直接就崩溃了。而微内核的文件服务是运行在用户态的,只要将文件服务功能强行停止,然后重启,就可以继续使用,系统不会崩溃。
### (2)微内核的基本功能
微内核结构通常利用“机制与策略分离”的原理来构造OS结构,将机制部分以及与硬件紧密相关的部分放入微内核。微内核通常具有如下功能:
①进程(线程)管理。进程(线程)之间的通信功能是微内核OS最基本的功能,此外还有进程的切换、进程的调度,以及多处理机之间的同步等功能,都应放入微内核。举个例子,为实现进程调度功能,需要在进程管理中设置一个或多个进程优先级队列,这部分属于调度功能的机制部分,应将它放入微内核。而对用户进程如何分类,以及优先级的确认方式,则属于策略问题,可将它们放入微内核外的进程管理服务器中。
②低级存储器管理。在微内核中,只配置最基本的低级存储器管理机制,如用于实现将逻辑地址变换为物理地址等的页表机制和地址变换机制,这一部分是依赖于硬件的,因此放入微内核。而实现虚拟存储器管理的策略,则包含应采取何种页面置换算法、采用何种内存分配与回收的策略,应将这部分放在微内核外的存储器管理服务器中。
③中断和陷入处理。微内核OS将与硬件紧密相关的一小部分放入微内核,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,在识别中断或陷入的事件后,再发送给相关的服务器来处理,所以中断和陷入处理也应放入微内核。
<!-- page: 40 -->
微内核操作系统将进程管理、存储器管理以及I/O管理这些功能一分为二,属于机制的很小一部分放入微内核,而绝大部分放入微内核外的各种服务器实现,大多数服务器都要比微内核大。因此,在采用客户/服务器模式时,能将微内核做得很小。
(3)微内核的特点
附图通过 ▶ 微内核操作系统的特点(2023)
微内核结构的主要优点如下所示。
① 扩展性和灵活性。许多功能从内核中分离出来,当要修改某些功能或增加新功能时,只需在相应的服务器中修改或新增功能,或再增加一个专用的服务器,而无须改动内核代码。
② 可靠性和安全性。前面已举例说明。
③ 可移植性。与CPU和I/O硬件有关的代码均放在内核中,而其他各种服务器均与硬件平台无关,因而将操作系统移植到另一个平台上所需做的修改是比较小的。
④ 分布式计算。客户和服务器之间、服务器和服务器之间的通信采用消息传递机制,这就使得微内核系统能很好地支持分布式系统和网络系统。
微内核结构的主要问题是性能问题,因为需要频繁地在内核态和用户态之间进行切换,操作系统的执行开销偏大。为了改善运行效率,可以将那些频繁使用的系统服务移回内核,从而保证系统性能,但这又会使微内核的容量明显地增大。
虽然宏内核在桌面操作系统中取得了绝对的胜利,但是微内核在实时、工业、航空及军事应用中特别流行,这些领域都是关键任务,需要有高度的可靠性。
5. 外核
不同于虚拟机克隆真实机器,另一种策略是对资源进行划分,为每个用户分配整个资源的一个子集。例如,某虚拟机可能得到磁盘的 0~1023 盘块,而另一虚拟机得到磁盘的 1024~2047 盘块等。在底层,一种称为外核(exokernel)的程序在内核态中运行。它的任务是为虚拟机分配资源,并检查这些资源使用的安全性,以确保没有机器会使用他人的资源。每个用户的虚拟机可以运行自己的操作系统,但限制只能使用已经申请并且获得分配的那部分资源。
外核机制的优点是减少了资源的“映射层”。在其他设计中,每个虚拟机系统都认为它拥有完整的磁盘(或其他资源),这样虚拟机监控程序就必须维护一张表格以重映像磁盘地址,有了外核,这个重映射处理就不需要了。外核只需要记录已分配给各个虚拟机的有关资源即可。这种方法还有一个优点,它将多道程序(在外核内)与用户操作系统代码(在用户空间内)加以分离,而且相应的负载并不重,因为外核所做的只是保持多个虚拟机彼此不发生冲突。
1.5 操作系统引导
操作系统(如Windows、Linux等)是一种程序,程序以数据的形式存放在硬盘中,而硬盘通常分为多个区,一台计算机中又可能有多个或多种外部存储设备。操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环地完成上述过程。
附图通过 ▶ 操作系统的引导过程(2021)
常见操作系统的引导过程如下:
① 激活 CPU。激活的 CPU 读取 ROM 中的 boot 程序,将指令寄存器置为 BIOS(基本输入/输出系统)的第一条指令,即开始执行 BIOS 的指令。
<!-- page: 41 -->
## 格局追踪
- 操作系统引导过程中创建的数据结构(2022)
②硬件自检。BIOS程序在内存最开始的空间构建中断向量表,接下来的POST(通电自检)过程要用到中断功能。然后进行通电自检,检查硬件是否出现故障。如有故障,主板会发出不同含义的蜂鸣,启动中止;如无故障,屏幕会显示CPU、内存、硬盘等信息。
③加载带有操作系统的硬盘。通电自检后,BIOS开始读取Boot Sequence(通过CMOS里保存的启动顺序,或者通过与用户交互的方式),将控制权交给启动顺序排在第一位的存储设备,然后CPU将该存储设备引导扇区的内容加载到内存中。
④加载主引导记录(MBR)。硬盘以特定的标识符区分引导硬盘和非引导硬盘。若发现一个存储设备不是可引导盘,就检查下一个存储设备。如无其他启动设备,就会死机。主引导记录MBR的作用是告诉CPU去硬盘的哪个主分区去找操作系统。
⑤扫描硬盘分区表,并加载硬盘活动分区。MBR包含硬盘分区表,硬盘分区表以特定的标识符区分活动分区和非活动分区。主引导记录扫描硬盘分区表,进而识别含有操作系统的硬盘分区(活动分区)。找到硬盘活动分区后,开始加载硬盘活动分区,将控制权交给活动分区。
⑥加载分区引导记录(PBR)。读取活动分区的第一个扇区,这个扇区称为分区引导记录(PBR)。其作用是寻找并激活分区根目录下用于引导操作系统的程序(启动管理器)。
⑦加载启动管理器。分区引导记录搜索活动分区中的启动管理器,加载启动管理器。
## 格局追踪
- 操作系统运行的存储器(2013)
⑧加载操作系统。将操作系统的初始化程序加载到内存中执行。
## 1.6 虚拟机
### 1.6.1 虚拟机的基本概念
虚拟机是指利用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。有两类虚拟化方法。
### 1. 第一类虚拟机管理程序
从技术上讲,第一类虚拟机管理程序就像一个操作系统,因为它是唯一一个运行在最高特权级的程序。它在裸机上运行并且具备多道程序功能。虚拟机管理程序向上层提供若干虚拟机,这些虚拟机是裸机硬件的精确复制品。因为每台虚拟机都与裸机相同,所以在不同的虚拟机上可以运行任何不同的操作系统。图1.7(a)中显示了第一类虚拟机管理程序。
(a)
(b)
图1.7 两类虚拟机管理程序在系统中的位置
<!-- page: 42 -->
虚拟机作为用户态的一个进程运行,不允许执行敏感指令。然而,虚拟机上的操作系统认为自己运行在内核态(实际上不是),称为虚拟内核态。虚拟机中的用户进程认为自己运行在用户态(实际上确实是)。当虚拟机操作系统执行了一条CPU处于内核态才允许执行的指令时,会陷入虚拟机管理程序。在支持虚拟化的CPU上,虚拟机管理程序检查这条指令是由虚拟机中的操作系统执行的还是由用户程序执行的。若是前者,则虚拟机管理程序将安排这条指令功能的正确执行。否则,虚拟机管理程序将模拟真实硬件面对用户态执行敏感指令时的行为。
在过去不支持虚拟化的CPU上,真实硬件不会直接执行虚拟机中的敏感指令,这些敏感指令被转为对虚拟机管理程序的调用,由虚拟机管理程序模拟这些指令的功能。
## 2. 第二类虚拟机管理程序
图1.7(b)中显示了第二类虚拟机管理程序。它是一个依赖于Windows、Linux等操作系统分配和调度资源的程序,很像一个普通的进程。第二类虚拟机管理程序仍然伪装成具有CPU和各种设备的完整计算机。VMware Workstation是首个x86平台上的第二类虚拟机管理程序。
运行在两类虚拟机管理程序上的操作系统都称为客户操作系统。对于第二类虚拟机管理程序,运行在底层硬件上的操作系统称为宿主操作系统。
首次启动时,第二类虚拟机管理程序像一台刚启动的计算机那样运转,期望找到的驱动器可以是虚拟设备。然后将操作系统安装到虚拟磁盘上(其实只是宿主操作系统中的一个文件)。客户操作系统安装完成后,就能启动并运行。
虚拟化在Web主机领域很流行。没有虚拟化,服务商只能提供共享托管(不能控制服务器的软件)和独占托管(成本较高)。当服务商提供租用虚拟机时,一台物理服务器就可以运行多个虚拟机,每个虚拟机看起来都是一台完整的服务器,客户可以在虚拟机上安装自己想用的操作系统和软件,但是只需支付较低的费用,这就是市面上常见的“云”主机。
有的教材将第一类虚拟化技术称为裸金属架构,将第二类虚拟化技术称为寄居架构。
## 1.6.2 本节习题精选
### 单项选择题
01. 用()设计的操作系统结构清晰且便于调试。
A. 分层式构架
B. 模块化构架
C. 微内核构架
D. 室内核构架
02. 下列关于分层式结构操作系统的说法中,()是错误的。
A. 各层之间只能是单向依赖或单向调用
B. 容易实现在系统中增加或替换一层而不影响其他层
C. 具有非常灵活的依赖关系
D. 系统效率较低
03. 下列选项中,()不属于模块化操作系统的特点。
A. 很多模块化的操作系统,可以支持动态加载新模块到内核,适应性强
B. 内核中的某个功能模块出错不会导致整个系统崩溃,可靠性高
C. 内核中的各个模块,可以相互调用,无须通过消息传递进行通信,效率高
D. 各模块间相互依赖,相比于分层式操作系统,模块化操作系统更难调试和验证
04. 相对于微内核系统,()不属于大内核操作系统的缺点。
A. 占用内存空间大
B. 缺乏可扩展性而不方便移植
C. 内核切换太慢
D. 可靠性较低
05. 下列说法中,()不适合描述微内核操作系统。
A. 内核足够小
B. 功能分层设计
关注公众号【考研小点】
免费考研资料&无水印PDF
<!-- page: 43 -->
C. 基于 C/S 模式
D. 策略与机制分离
06. 对于以下五种服务,在采用微内核结构的操作系统中,( )不宜放在微内核中。
I. 进程间通信机制
II. 低级 I/O
III. 低级进程管理和调度
IV. 中断和陷入处理
V. 文件系统服务
A. I、II 和 III
B. II 和 V
C. 仅 V
D. IV 和 V
07. 相对于传统操作系统结构,采用微内核结构设计和实现操作系统有诸多好处,下列( )是微内核结构的特点。
I. 使系统更高效
II. 添加系统服务时,不必修改内核
III. 微内核结构没有单一内核稳定
IV. 使系统更可靠
A. I、III、IV
B. I、II、IV
C. II、IV
D. I、IV
08. 下列关于操作系统结构的说法中,正确的是( )。
I. 当前广泛使用的 Windows 操作系统,采用的是分层式 OS 结构
II. 模块化的 OS 结构设计的基本原则是,每一层都仅使用其底层所提供的功能和服务,这样就使系统的调试和验证都变得容易
III. 因为微内核结构能有效支持多处理机运行,所以非常适合于分布式系统环境
IV. 采用微内核结构设计和实现操作系统具有诸多好处,如添加系统服务时,不必修改内核、使系统更高效。
A. I 和 II
B. I 和 III
C. III
D. III 和 IV
09. 下列关于微内核操作系统的描述中,不正确的是( )。
A. 可增加操作系统的可靠性
B. 可提高操作系统的执行效率
C. 可提高操作系统的可移植性
D. 可提高操作系统的可拓展性
10. 下列关于操作系统外核(exokernel)的说法中,错误的是( )。
A. 外核可以给用户进程分配未经抽象的硬件资源
B. 用户进程通过调用“库”请求操作系统外核的服务
C. 外核负责完成进程调度
D. 外核可以减少虚拟硬件资源的“映射”开销,提升系统效率
11. 对于计算机操作系统引导,描述不正确的是( )。
A. 计算机的引导程序驻留在 ROM 中,开机后自动执行
B. 引导程序先做关键部位的自检,并识别已连接的外设
C. 引导程序会将硬盘中存储的操作系统全部加载到内存中
D. 若计算机中安装了双系统,引导程序会与用户交互加载有关系统
12. 存放操作系统自举程序的芯片是( )。
A. SRAM
B. DRAM
C. ROM
D. CMOS
13. 计算机操作系统的引导程序位于( )中。
A. 主板 BIOS
B. 片外 Cache
C. 主存 ROM 区
D. 硬盘
14. 计算机的启动过程是( )。① CPU 加电,CS:IP 指向 FFFF0H;② 进行操作系统引导;③ 执行 JMP 指令跳转到 BIOS;④ 登记 BIOS 中断程序入口地址;⑤ 硬件自检。
A. ①②③④⑤
B. ①③⑤④②
C. ①③④⑤②
D. ①⑤③④②
15. 检查分区表是否正确,确定哪个分区为活动分区,并在程序结束时将该分区的启动程序(操作系统引导扇区)调入内存加以执行,这是( )的任务。
A. MBR
B. 引导程序
C. 操作系统
D. BIOS
16. 下列关于虚拟机的说法中,正确的是( )。
I. 虚拟机可以用软件实现
II. 虚拟机可以用硬件实现
<!-- page: 44 -->
III. 多台虚拟机可同时运行在同一物理机器上,它实现了真正的并行
A. I 和 II
B. I 和 III
C. 仅 I
D. I、II 和 III
17. 下列关于 VMware Workstation 虚拟机的说法中,错误的是()。
A. 真实硬件不会直接执行虚拟机中的敏感指令
B. 虚拟机中只能安装一种操作系统
C. 虚拟机是运行在计算机中的一个应用程序
D. 虚拟机文件封装在一个文件夹中,并存储在数据存储器中
18. 虚拟机的实现离不开虚拟机管理程序(VMM),下列关于 VMM 的说法中正确的是()。
I. 第一类 VMM 直接运行在硬件上,其效率通常高于第二类 VMM
II. VMM 的上层需要支持操作系统的运行,应用程序的运行,因此实现 VMM 的代码量通常大于实现一个完整操作系统的代码量
III. VMM 可将一台物理机器虚拟化为多台虚拟机器
IV. 为了支持客户操作系统的运行,第二类 VMM 需要完全运行在最高特权级
A. I、II 和 III
B. I 和 III
C. I、III 和 IV
D. I、II、III 和 IV
19.【2013 统考真题】计算机开机后,操作系统最终被加载到()。
A. BIOS
B. ROM
C. EPROM
D. RAM
20.【2022 统考真题】下列选项中,需要在操作系统进行初始化过程中创建的是()。
A. 中断向量表
B. 文件系统的根目录
C. 硬盘分区表
D. 文件系统的索引节点表
21.【2023 统考真题】与宏内核操作系统相比,下列特征中,微内核操作系统具有的是()。
I. 较好的性能
II. 较高的可靠性
III. 较高的安全性
IV. 较强的可扩展性
A. 仅 II、IV
B. 仅 I、II、III
C. 仅 I、III、IV
D. 仅 II、III、IV
## 1.6.3 答案与解析
### 单项选择题
01. A
分层式结构简化了系统的设计和实现,每层只能调用紧邻它的低层的功能和服务,便于系统的调试和验证,若在调试某层时发现错误,则错误应在这层上,这是因为其低层都已调试好。
02. C
单向依赖是分层式 OS 的特点。分层式 OS 中增加或替换一个层中的模块或整层时,只要不改变相应层间的接口,就不会影响其他层,因而易于扩充和维护。层次定义好后,相当于各层之间的依赖关系也就固定了,因此往往显得不够灵活,选项 C 错误。每执行一个功能,通常都要自上而下地穿越多层,增加了额外的开销,导致系统效率降低。
03. B
模块化操作系统的各功能模块都在内核中,且模块之间相互调用、相互依赖,任何一个模块出错,都可能导致整个内核崩溃。选项 B 的设置属于“移花接木”,正确的说法应该是:在微内核操作系统中,内核外的某个功能模块出错不会导致整个系统崩溃,可靠性高。
04. C
微内核和宏内核作为两种对立的结构,它们的优缺点也是对立的。微内核 OS 的主要缺点是性能问题,因为需要频繁地在内核态和用户态之间进行切换,因而切换开销偏大。
05. B
功能分层设计是分层式 OS 的特点。通常可以从四个方面来描述微内核 OS:①内核足够小;
<!-- page: 45 -->
②基于客户/服务器模式;③应用“机制与策略分离”原理;④采用面向对象技术。
06. C
进程(线程)之间的通信功能是微内核最频繁使用的功能,因此几乎所有微内核 OS 都将其放入微内核。低级 I/O 和硬件紧密相关,因此应放入微内核。低级进程管理和调度属于调度功能的机制部分,应将它放入微内核。微内核 OS 将与硬件紧密相关的一小部分放入微内核处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,识别中断或陷入的事件后,再发送给相关的服务器处理,所以中断和陷入处理也应放入微内核。而文件系统服务是放在微内核外的文件服务器中实现的,所以仅选项 V 不宜放在微内核中。
07. C
微内核结构需要频繁地在内核态和用户态之间进行切换,操作系统的执行开销相对偏大,那些移出内核的操作系统代码根据分层的原则被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信,影响了系统的效率,因此选项 I 不是优势。因为内核的服务变少,且一般来说内核的服务越少内核越稳定,所以选项 III 错误。而选项 II、IV 正是微内核结构的优点。
08. C
Windows 是融合了宏内核和微内核的操作系统,选项 I 错误。选项 II 描述的是层次化构架的原则。微内核架构将操作系统的核心功能和其他服务分离,使不同的服务可在不同的处理器上并行执行,提高了系统的并发性和可扩展性;微内核架构可以方便地实现进程间的通信和同步,支持服务器之间的消息传递和远程过程调用,使得分布式系统的开发和管理更简单和高效,选项 III 正确。添加系统服务时不必修改内核,这就使得微内核构架的可扩展性和灵活性更强;微内核构架的主要问题是性能问题,“使系统更高效”显然错误。
09. B
微内核会增加一些开销,如上下文切换、消息传递、数据拷贝等。这些开销会降低操作系统的执行效率,尤其是对一些频繁调用的服务。选项 A、C、D 均正确。
10. C
在拥有外核的操作系统中,外核只负责硬件资源的分配、回收、保护等,进程管理相关的工作仍然由内核负责。
11. C
常驻内存的只是操作系统内核,其他部分仅在需要时才调入。
12. C
BIOS(基本输入/输出系统)是一组固化在主板的 ROM 芯片上的程序,它包含系统设置程序、基本输入/输出程序、开机自检程序和系统启动自举程序等。
13. D
操作系统的引导程序位于磁盘活动分区的引导扇区中。引导程序分为两种:一种是位于 ROM 中的自举程序(BIOS 的组成部分),用于启动具体的设备;另一种是位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(称为启动管理器),用于引导操作系统。
14. C
CPU 激活后,从顶端的地址 FFFF0H 获得第一条执行的指令,这个地址仅有 16 字节,放不下一段程序,所以是一条 JMP 指令,以跳到更低地址去执行 BIOS 程序。BIOS 程序在内存最开始的空间构建中断向量表和相应服务程序,在后续 POST 过程中要用到中断调用等功能。然后进行通电自检(Power-on Self Test,POST)以检测硬件是否有故障。完成 POST 后,BIOS 需要在硬盘、光驱或软驱等存储设备搜寻操作系统内核的位置以启动操作系统。
15. A
<!-- page: 46 -->
BIOS 将控制权交给排在首位的启动设备后,CPU 将该设备主引导扇区的内容[主引导记录(MBR)]加载到内存中,然后由 MBR 检查分区表,查找活动分区,并将该分区的引导扇区的内容[分区引导记录(PBR)]加载到内存加以执行。
16. A
软件能实现的功能也能由硬件实现,因为虚拟机软件能实现的功能也能由硬件实现,软件和硬件的分界面是系统结构设计者的任务,选项 I 和 II 正确。实现真正并行的是多核处理机,多台虚拟机同时运行在同一物理机器上,类似于多个程序运行在同一个系统中。
17. B
VMware Workstation 虚拟机属于第二类虚拟机管理程序,若真实硬件直接执行虚拟机中的敏感指令,则该指令非法时可能导致宿主操作系统崩溃,而这是不可能的,实际上是由第二类虚拟机管理程序模拟真实硬件环境。虚拟机看起来和真实物理计算机没什么两样,因此当然可以安装多个操作系统。VMware Workstation 就是一个安装在计算机上的程序,在创建虚拟机时,会为该虚拟机创建一组文件,这些虚拟机文件都存储在主机的磁盘上。
18. B
第一类 VMM 直接运行在硬件上;第二类 VMM 运行在宿主操作系统上,不能直接和硬件打交道,因此第一类 VMM 的效率通常更高。VMM 的功能没有操作系统的功能复杂,其代码量少于一个完整的操作系统。选项 III 是基本概念。第一类 VMM 运行在最高特权级(内核态),而第二类 VMM 和普通应用程序的地位相同,通常运行在较低特权级(用户态)。
19. D
系统开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域是 RAM。部分未复习计组的读者对该内容可能不太熟悉,但熟悉了各类存储介质后,解答本题并不难。
20. A
在操作系统初始化的过程中需要创建中断向量表,以实现通电自检(POST),CPU 检测到中断信号后,根据中断号查询中断向量表,跳转到相应的中断处理程序,选项 A 正确。在硬盘逻辑格式化之前,需要先对硬盘进行分区,即创建硬盘分区表。分区完成后,对物理分区进行逻辑格式化(创建文件系统),为每个分区初始化一个特定的文件系统,并创建文件系统的根目录。若某个分区采用 UNIX 文件系统,则还要在该分区中建立文件系统的索引节点表。
21. D
微内核构架将内核中最基本的功能保留在内核,只有微内核运行在内核态,其余模块都运行在用户态,一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃,因此具有较高的可靠性和安全性。微内核的非核心功能运行在用户空间,可通过插件或模块的方式进行扩展,无须改动内核代码,因此具有较强的可扩展性。微内核需要频繁地在用户态和内核态之间进行切换,操作系统的执行开销偏大,从而影响系统性能。
1.7 本章疑难点
1. 并行性与并发性的区别和联系
并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,并发性是指两个或多个事件在同一时间间隔内发生。
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但在单处理器系统中每个时刻却仅能有一道程序执行,因此微观上这些程序只能分时地交替执行。若在计算机
<!-- page: 47 -->
系统中有多个处理器,则这些可以并发执行的程序便被分配到多个处理器上,实现并行执行,即利用每个处理器来处理一个可并发执行的程序。