1. ARM开始

这是一张操作系统分层架构示意图,清晰展示了从用户空间到内核空间再到硬件的层次结构与功能模块,可从以下维度解读:

1. 层次划分与核心组件

层次 组件与功能
User space(用户空间) - 应用程序(App1、App2等):运行用户业务逻辑的程序。 - C library:封装系统调用,为应用提供统一的接口(如标准C库)。
Kernel space(内核空间) - 系统调用接口(System call interface) :用户空间与内核交互的桥梁,应用通过它请求内核服务。 - 核心功能模块 : - 进程管理:负责进程的创建、调度、销毁等。 - 内存管理:管理系统内存的分配、回收、虚拟内存等。 - 文件系统支持及类型:提供文件系统抽象,支持ext4、FAT32等不同文件系统类型。 - 设备控制:管理硬件设备,包含存储驱动、字符设备驱动(键盘、鼠标等)、网络设备驱动(网卡等)。 - 网络:处理网络协议栈、数据传输等。 - 硬件支持模块:CPU支持代码、CPU/MMU支持代码,适配不同硬件架构,提供底层硬件支持。
Hardware(硬件层) 包含CPU、RAM(内存)、存储设备(硬盘等)、字符设备(键盘、显示器等)、网络设备(网卡等)等物理硬件。

2. 架构意义与设计思想

  • 分层与隔离:通过用户空间、内核空间、硬件层的分层,实现"硬件抽象"和"权限隔离"------用户程序无法直接操作硬件,需通过内核的系统调用间接访问,保障系统稳定性。
  • 模块化设计:内核按功能拆分为进程管理、内存管理、文件系统、设备控制等模块,各模块职责明确,便于维护和扩展(如新增文件系统类型、支持新硬件驱动)。
  • 典型应用:这是Linux、Unix等现代操作系统的经典架构模型,解释了应用程序如何通过C库和系统调用,借助内核的各功能模块与硬件交互,是理解操作系统工作原理的核心参考框架。
  • 多级存储结构与地址空间
  • CPU工作原理概述
相关推荐
17(无规则自律)4 小时前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
梁洪飞17 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
代码游侠1 天前
学习笔记——Linux字符设备驱动
linux·运维·arm开发·嵌入式硬件·学习·架构
syseptember2 天前
Linux网络基础
linux·网络·arm开发
代码游侠2 天前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
程序猿阿伟2 天前
《Apple Silicon与Windows on ARM:引擎原生构建与模拟层底层运作深度解析》
arm开发·windows
wkm9562 天前
在arm64 ubuntu系统安装Qt后编译时找不到Qt3DExtras头文件
开发语言·arm开发·qt
unicrom_深圳市由你创科技2 天前
基于ARM+DSP+FPGA异构计算架构的高速ADC采集卡定制方案
arm开发·fpga开发
松涛和鸣2 天前
DAY69 Practical Guide to Linux Character Device Drivers
linux·服务器·arm开发·数据库·单片机·嵌入式硬件
松涛和鸣2 天前
69、Linux字符设备驱动实战
linux·服务器·网络·arm开发·数据库·驱动开发