第二章 Operating-System Structures(操作系统结构)

参考教材: Operating System Concepts, 9th Edition (Silberschatz et al.)

说明:以下题目依据第二章核心知识点原创整理,适合作为课后作业。

一、选择题()

  1. 以下哪一项不属于操作系统向用户和程序提供的基本服务?( )

A. 程序执行(Program Execution)

B. I/O 操作(I/O Operations)

C. 软件模式设计(Software Schema Design)

D. 错误检测(Error Detection)

  1. 从用户使用体验角度看,命令解释器(Shell)的主要作用是( )。

A. 负责完成进程调度

B. 作为用户与操作系统之间的接口,接收并解释命令

C. 直接管理磁盘中断

D. 替代内核执行所有系统调用

  1. 系统调用(System Call)最合适的描述是( )。

A. 用户程序请求操作系统服务的编程接口

B. 内核之间相互通信的物理总线

C. 专门用于编译程序的命令集合

D. 用户程序内部的普通函数调用,与操作系统无关

  1. 在系统调用分类中,创建和终止进程最直接对应于( )。

A. 文件管理

B. 设备管理

C. 进程控制

D. 信息维护

  1. 关于单体内核(Monolithic Structure)的说法,正确的是( )。

A. 所有内核功能都被严格限制在不同的用户进程中

B. 各功能模块通常运行在同一内核地址空间中,性能较高但边界较弱

C. 它无法支持系统调用

D. 它比微内核一定更安全且更易扩展

  1. 微内核(Microkernel)设计通常将下列哪类功能保留在内核中?( )

A. 最小的进程/线程管理、地址空间管理和进程间通信

B. 文件系统、网络协议栈和所有设备驱动

C. 命令解释器和图形界面

D. 所有系统服务与应用程序

  1. 分层系统(Layered Approach)的主要思想是( )。

A. 各层都可以任意调用任何其他层的函数

B. 系统功能按层组织,上层建立在下层提供的服务之上

C. 取消硬件抽象,直接面向物理设备编程

D. 只适用于分布式操作系统

  1. 可加载内核模块(Loadable Kernel Modules)的优势之一是( )。

A. 必须在重新编译整个内核后才能扩展功能

B. 兼顾内核内执行效率与一定的模块化扩展能力

C. 能够完全消除所有内核错误

D. 使所有服务都自动迁移到用户态

  1. 虚拟机(Virtual Machine)的核心思想是( )。

A. 让多个操作系统实例共享并抽象同一套底层硬件资源

B. 让一个进程同时运行在多个 CPU 上

C. 使用缓存代替主存

D. 将系统调用全部转换成库调用

  1. 关于系统启动(System Boot)的描述,最合理的是( )。

A. 应用程序先加载,再由应用程序激活内核

B. 引导程序负责初始化基本硬件环境并装入内核

C. 启动过程只与 CPU 有关,与存储设备无关

D. 一旦开机,操作系统无需任何装载过程即可自动存在于 RAM 中

二、简答题()

  1. 教材中将操作系统的服务分为“面向用户的便利服务”和“面向系统高效运行的服务”。请分别列举至少三项,并说明二者关注点的差异。

  2. 什么是系统调用接口(API 与 system-call interface 的关系)?请说明应用程序、API、运行时库和内核之间的大致关系。

  3. 请简述分层操作系统结构的优点与局限性。你认为在教学操作系统中采用分层设计有什么价值?

三、分析题()

  1. 某教学实验系统准备增加一个新的文件压缩服务。现有两种方案:

(a)把压缩功能直接编入内核;

(b)把压缩服务放到用户态,通过系统调用与内核交互。

请从安全性、性能、可维护性三个角度分析两种方案的差异,并说明在什么场景下你更倾向于选择哪一种方案。