操作系统分层结构
操作系统的经典分层结构,主要分为三层:用户空间(User Space)、内核层(Kernel Layer)和硬件层(Hardware Layer)。
1.整体分层结构

2.每一层的作用
2.1用户空间(User Space)
应同一台机器上运行的不同应用程序或进程,也可以用于示意彼此隔离的运行环境。
主要特点:
- 运行应用程序:例如浏览器、数据库、Web服务。
- 受到权限限制:普通应用程序通常不能直接执行任意硬件操作,也不能随意访问内核内存。
- 彼此隔离:不同进程通常拥有独立的虚拟地址空间,一个进程不能直接读写另一个进程的内存,除非通过共享内存等机制。
- 通过系统调用请求服务:例如读写文件、创建进程、发送网络数据等。
例如,一个应用程序想读取文件时,通常不能直接操作磁盘控制器,而是调用read()等系统调用,请求内核完成读取。
2.2内核层(Kernel Layer)
用户空间与硬件之间的管理层。
主要职责:
| 功能 | 作用 |
|---|---|
| 进程管理 | 创建、终止进程,调度CPU时间 |
| 内存管理 | 分配物理内存,管理虚拟内存和页面映射 |
| 文件系统 | 管理文件、目录和存储访问 |
| 网络协议栈 | 处理网络协议和数据传输 |
| 设备驱动 | 控制磁盘、网卡、键盘等设备 |
| 权限与安全 | 检查访问权限,隔离不同进程 |
关键点:多个用户空间通常共享同一个操作系统内核。因此,内核需要统一管理CPU、内存、磁盘等资源,并确保不同进程之间的隔离和公平调度。
2.3硬件层(Hardware Layer)
- CPU:执行指令。
- RAM:保存运行中的程序和数据。
- 磁盘或SSD:持久化保存数据。
- 网卡:负责网络通信。
- GPU:执行图形或并行计算任务。
硬件本身不负责提供完整的进程隔离、文件权限或应用程序管理机制,这些通常需要操作系统内核参与。