深入解析操作系统内部运行机制
立即解锁
发布时间: 2025-08-14 01:36:57 阅读量: 7 订阅数: 25 


计算机系统与网络通信精要
# 深入解析操作系统内部运行机制
## 1. 操作系统概述
操作系统作为计算机系统的核心组件,承担着管理硬件和软件资源的重要职责。其架构可视为一个层次结构,由多个程序层相互协作,处理命令处理、文件管理、输入输出(I/O)、资源管理、通信和调度等日常任务。
现代操作系统需要解决诸多问题,例如决定哪些程序何时进入内存、程序在内存中的位置、如何为各个程序分配 CPU 时间、解决 I/O 服务的冲突需求,以及在共享程序的同时确保安全性和程序数据的完整性等。操作系统本身往往需要数百兆字节的内存。
操作系统的基本操作涵盖程序的加载与执行、启动过程、进程管理、内存管理、进程调度和 CPU 分配、二级存储管理等。现代计算机的 CPU 硬件特性与操作系统软件协同工作,以解决一些具有挑战性的问题,其中虚拟存储技术是一项重要的进步,它能有效解决内存管理中的诸多难题。
## 2. 操作系统的基本要求
任何操作系统的根本目的都是加载和执行程序。为实现这一目标,系统需具备以下能力:
- 提供将程序从 I/O 设备(如磁盘)存储位置加载到内存的方法。
- 为程序及其数据在内存中提供存储位置。
- 为程序执行分配 CPU 时间。
- 提供程序执行过程中所需的 I/O 设施访问权限。
由于多个程序通常会共享系统及其资源,因此操作系统必须公平地满足不同程序有时相互冲突的需求。
操作系统的层次模型中,较低层的程序负责满足上述要求。文件管理器层将命令外壳或用户程序的逻辑文件请求转换为特定的物理 I/O 请求,由相应的 I/O 设备管理程序执行。该层还提供资源分配管理,以解决不同程序同时请求 I/O 服务时的冲突,这些 I/O 设备管理和资源分配程序通常被统称为 I/O 控制系统(IOCS)。
资源分配功能中的内存管理和调度操作决定是否可以将程序和数据加载到内存,以及程序在内存中的加载位置。程序加载到内存后,调度器为其分配执行时间。若内存中有多个程序,调度器会尝试公平地为每个程序分配时间。
为提高安全性,许多操作系统将程序构建成层次结构,每层程序通过既定的调用过程向更内层的程序请求服务。现代计算机为此提供了特殊的受保护硬件指令。至少,操作系统的关键部分会在受保护模式下执行,而其他程序则在用户模式下执行。设计良好的操作系统能够抵御通过非既定操作系统调用过程对系统内部层的攻击,既能隔离和保护每个程序,又能在需要时允许程序共享数据和进行通信。
不同的操作系统功能实现方式各有优缺点,所选择的权衡方案反映了特定系统的设计目标。例如,严格以批处理模式运行的计算机可能使用简单的 CPU 调度算法,允许程序在无需等待 I/O 时连续运行;而交互式系统(如用户点击鼠标或在键盘输入时需要快速屏幕响应的系统,或智能手机在来电时)则需要更复杂的调度算法。
各资源管理器之间并非完全独立。例如,在交互式系统中,内存中的程序越多,调度器为每个程序分配的时间就越短,以实现满意的用户响应;同时,内存中程序的增加会增加磁盘管理器的工作量,使多个程序同时等待磁盘 I/O 的可能性增大。设计良好的操作系统会尝试平衡各种需求,以最大化系统的生产效率。
### 2.1 简单多任务操作系统示例:MINOS
MINOS 是一个极其小巧且简单的多任务系统,具备大型系统的许多重要内部特性。它基于作者在 20 世纪 70 年代为早期原始微计算机开发的操作系统,该计算机主要用于偏远农村地区的数据测量,对数据进行计算后将结果远程传输到大型计算机进行进一步处理。其设计目标如下:
- **简单性**:当时内存成本高昂,因此操作系统占用的内存较少,机器仅有 8 KB 内存。
- **实时支持**:为一个频繁运行且需要快速操作的重要程序(数据测量程序)提供实时支持,系统采用优先级调度系统来选择运行的程序。
MINOS 的内部设计比用户界面或文件系统更受关注。该计算机没有磁盘,只有一个经过改造用于存储计算机数据的音频盒式磁带录音机,因此文件系统较为简单。它具有键盘/打印机用户界面,但没有视频显示界面,安全性也不是主要考虑因素。
MINOS 的重要规格如下:
- **用户界面**:采用键盘/打印机命令行用户界面,为简化操作,只有少数命令,大多数可通过输入单个字符来执行。例如,字母“l”用于从磁带加载程序,字母“s”用于将程序保存到磁带。
- **内存分区**:内存被划分为六个不同大小的固定分区,如图 1 所示。一个分区预留用于 MINOS,该分区完全驻留在内存中。分区 P - 1 预留用于高优先级程序,通常是数据检索程序,因为它需要实时检索数据。分区 P - 2、P - 3 和 P - 4 大小不同,但具有相同的中等优先级。分区 P - 5 是低优先级区域,用于后台任务,主要是内部系统检查,同时有一个简单的二进制编辑器可加载到该低优先级分区,用于调试和修改程序。
|分区|大小|用途|
| ---- | ---- | ---- |
|MINOS 内核| - |驻留操作系统|
|P - 1| - |高优先级程序(如数据检索程序)|
|P - 2| - |中等优先级程序|
|P - 3| - |中等优先级程序|
|P - 4| - |中等优先级程序|
|P - 5| - |低优先级程序(如后台任务、二进制编辑器)|
图 1:MINOS 内存分区
- **操作系统层次**:操作系统分为三个层次,即命令界面、I/O 子系统和内核。内核包含内存管理器、通信接口和调度器,默认情况下具有最高优先级,因为它需要响应用户命令并提供调度服务,能够中断和抢占其他程序,但如程序加载等常规操作在最低优先级级别处理。MINOS 的框图如图 2 所示。
```mer
```
0
0
复制全文
相关推荐










