第二章 Operating-System Structures(操作系统结构)
参考教材: Operating System Concepts, 9th Edition (Silberschatz et al.)
说明:以下题目依据第二章核心知识点原创整理,适合作为课后作业。
一、选择题()
- 以下哪一项不属于操作系统向用户和程序提供的基本服务?( )
A. 程序执行(Program Execution)
B. I/O 操作(I/O Operations)
C. 软件模式设计(Software Schema Design)
D. 错误检测(Error Detection)
- 从用户使用体验角度看,命令解释器(Shell)的主要作用是( )。
A. 负责完成进程调度
B. 作为用户与操作系统之间的接口,接收并解释命令
C. 直接管理磁盘中断
D. 替代内核执行所有系统调用
- 系统调用(System Call)最合适的描述是( )。
A. 用户程序请求操作系统服务的编程接口
B. 内核之间相互通信的物理总线
C. 专门用于编译程序的命令集合
D. 用户程序内部的普通函数调用,与操作系统无关
- 在系统调用分类中,创建和终止进程最直接对应于( )。
A. 文件管理
B. 设备管理
C. 进程控制
D. 信息维护
- 关于单体内核(Monolithic Structure)的说法,正确的是( )。
A. 所有内核功能都被严格限制在不同的用户进程中
B. 各功能模块通常运行在同一内核地址空间中,性能较高但边界较弱
C. 它无法支持系统调用
D. 它比微内核一定更安全且更易扩展
- 微内核(Microkernel)设计通常将下列哪类功能保留在内核中?( )
A. 最小的进程/线程管理、地址空间管理和进程间通信
B. 文件系统、网络协议栈和所有设备驱动
C. 命令解释器和图形界面
D. 所有系统服务与应用程序
- 分层系统(Layered Approach)的主要思想是( )。
A. 各层都可以任意调用任何其他层的函数
B. 系统功能按层组织,上层建立在下层提供的服务之上
C. 取消硬件抽象,直接面向物理设备编程
D. 只适用于分布式操作系统
- 可加载内核模块(Loadable Kernel Modules)的优势之一是( )。
A. 必须在重新编译整个内核后才能扩展功能
B. 兼顾内核内执行效率与一定的模块化扩展能力
C. 能够完全消除所有内核错误
D. 使所有服务都自动迁移到用户态
- 虚拟机(Virtual Machine)的核心思想是( )。
A. 让多个操作系统实例共享并抽象同一套底层硬件资源
B. 让一个进程同时运行在多个 CPU 上
C. 使用缓存代替主存
D. 将系统调用全部转换成库调用
- 关于系统启动(System Boot)的描述,最合理的是( )。
A. 应用程序先加载,再由应用程序激活内核
B. 引导程序负责初始化基本硬件环境并装入内核
C. 启动过程只与 CPU 有关,与存储设备无关
D. 一旦开机,操作系统无需任何装载过程即可自动存在于 RAM 中
二、简答题()
-
教材中将操作系统的服务分为“面向用户的便利服务”和“面向系统高效运行的服务”。请分别列举至少三项,并说明二者关注点的差异。
-
什么是系统调用接口(API 与 system-call interface 的关系)?请说明应用程序、API、运行时库和内核之间的大致关系。
-
请简述分层操作系统结构的优点与局限性。你认为在教学操作系统中采用分层设计有什么价值?
三、分析题()
- 某教学实验系统准备增加一个新的文件压缩服务。现有两种方案:
(a)把压缩功能直接编入内核;
(b)把压缩服务放到用户态,通过系统调用与内核交互。
请从安全性、性能、可维护性三个角度分析两种方案的差异,并说明在什么场景下你更倾向于选择哪一种方案。