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工作原理概述
相关推荐
fenglllle4 小时前
使用AI能力编译ARM版本的截图软件
arm开发·人工智能
somi71 天前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
XINVRY-FPGA1 天前
XC7VX690T-2FFG1157I Xilinx AMD Virtex-7 FPGA
arm开发·人工智能·嵌入式硬件·深度学习·fpga开发·硬件工程·fpga
cpp_learners2 天前
Linux ARM架构 使用 linuxdeployqt 打包QT程序
linux·arm开发·qt
森G2 天前
3.1、移植Qt程序到ARM平台----移植Qt程序到ARM平台(扩展)
arm开发·c++·qt
炭烤毛蛋2 天前
rk3588 适配音频解码芯片 es8388
arm开发·音视频·rk3588·es8388
路溪非溪2 天前
Linux中Netlink简介和使用总结
linux·网络·arm开发·驱动开发
Bohemian—Rhapsody2 天前
麒麟v10-arm架构部署rabbitmq
arm开发·架构·rabbitmq
古译汉书2 天前
【IoT死磕系列】Day 9:架构一台“自动驾驶物流车”,看8种协议如何协同作战
网络·arm开发·单片机·物联网·tcp/ip·架构·自动驾驶
路溪非溪2 天前
Linux中gpio子系统的现代接口
linux·arm开发·驱动开发