操作系统分层结构

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


1.整体分层结构

32ed4db9ed3a079a4f71753548fc7cfc.png

2.每一层的作用

2.1用户空间(User Space)

应同一台机器上运行的不同应用程序或进程,也可以用于示意彼此隔离的运行环境。

主要特点:

  • 运行应用程序:例如浏览器、数据库、Web服务。
  • 受到权限限制:普通应用程序通常不能直接执行任意硬件操作,也不能随意访问内核内存。
  • 彼此隔离:不同进程通常拥有独立的虚拟地址空间,一个进程不能直接读写另一个进程的内存,除非通过共享内存等机制。
  • 通过系统调用请求服务:例如读写文件、创建进程、发送网络数据等。

例如,一个应用程序想读取文件时,通常不能直接操作磁盘控制器,而是调用read()等系统调用,请求内核完成读取。

2.2内核层(Kernel Layer)

用户空间与硬件之间的管理层。

主要职责:

功能 作用
进程管理 创建、终止进程,调度CPU时间
内存管理 分配物理内存,管理虚拟内存和页面映射
文件系统 管理文件、目录和存储访问
网络协议栈 处理网络协议和数据传输
设备驱动 控制磁盘、网卡、键盘等设备
权限与安全 检查访问权限,隔离不同进程

关键点:多个用户空间通常共享同一个操作系统内核。因此,内核需要统一管理CPU、内存、磁盘等资源,并确保不同进程之间的隔离和公平调度。

2.3硬件层(Hardware Layer)

  • CPU:执行指令。
  • RAM:保存运行中的程序和数据。
  • 磁盘或SSD:持久化保存数据。
  • 网卡:负责网络通信。
  • GPU:执行图形或并行计算任务。

硬件本身不负责提供完整的进程隔离、文件权限或应用程序管理机制,这些通常需要操作系统内核参与。