Raspberry Pi OS 操作系统开发教程 raspberry-pi-os

机器人 3/5 🧩 软硬件结合 已发布
s-matyukevich 5368 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5
Raspberry Pi OS 操作系统开发教程

项目简介

Learning operating system development using Linux kernel and Raspberry Pi


这是一个面向操作系统爱好者的硬核开源教学项目,旨在通过树莓派3硬件平台,从零开始构建一个功能虽简但五脏俱全的操作系统内核。项目名为RPi OS,其核心思路是“以Linux内核为教科书”——每一课都先讲解RPi OS如何实现某一内核特性,再对照分析Linux内核中相同功能的实现原理,让学习者在动手实践中深刻理解操作系统的底层机制。

标签

项目特点

**从零开始**:逐步构建一个完整的操作系统内核,涵盖从启动到进程管理的核心概念。
**与 Linux 内核对比**:每个功能点都同时讲解 RPi OS 和 Linux 内核的实现方式,加深理解。
**渐进式学习**:每个课程都有独立的源代码快照,学习者可以随时查看当前阶段的完整代码。
**社区活跃**:提供 Twitter、Facebook、Slack 等社区渠道,方便交流和学习。
**持续更新**:项目仍在积极开发中,未来将涵盖文件系统、驱动、网络等更高级的主题。

技术规格

目标硬件 Raspberry Pi 3 Model B
内核架构 ARMv8-A (64位)
编程语言 C 语言、汇编语言
参考内核 Linux 内核
当前功能 内核初始化、处理器初始化、中断处理、进程调度、用户进程与系统调用、虚拟内存管理
未来计划 信号、文件系统、ELF 可执行文件、驱动、网络

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Raspberry Pi 3 Model B 1 核心开发板
MicroSD 卡 (8GB+) 1 用于存储操作系统镜像
5V/2.5A 电源适配器 1 为树莓派供电
USB 转 TTL 串口线 1 用于调试输出(可选)
面包板及跳线 若干 用于连接外设(可选)
交叉编译工具链 (aarch64-linux-gnu-) 1 用于在 PC 上编译 ARM 代码
QEMU 模拟器 1 用于在 PC 上模拟运行(可选)

能力画像

⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 5/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 4/5
⚪ 动手与操作: 3/5
⚪ 狂热与坚持: 5/5
⚪ 创造与创新: 4/5

所需技能

🔧 **动手能力**:需要能够搭建树莓派硬件环境,包括连接串口线、烧录 SD 卡等基本操作。 💻 **编程能力**:需要扎实的 C 语言基础,了解汇编语言(ARM64)更佳。需要熟悉 Linux 命令行操作。 ⚡ **电子电路**:基本了解即可,主要涉及树莓派的 GPIO 和串口通信。

适用场景

计算机科学或嵌入式系统专业的学生,希望深入理解操作系统内核原理。
对底层软件开发感兴趣的软件工程师,希望挑战自己,构建一个完整的操作系统。
准备面试操作系统相关岗位的求职者,通过实践项目巩固理论知识。
树莓派爱好者,希望探索其硬件能力的极限,运行自己编写的操作系统。