s-matyukevich/raspberry-pi-os
s-matyukevich/raspberry-pi-os has 13,964 GitHub stars and 1,339 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-11 12:48 UTC. Last push 2024-03-29.
Comment ces chiffres sont mesurés
Apprendre le développement de systèmes d’exploitation avec le noyau Linux et Raspberry Pi
Progression mesurée des étoiles
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalLearning operating system development using Linux kernel and Raspberry Pi
This repository contains a step-by-step guide that teaches how to create a simple operating system (OS) kernel from scratch. I call this OS Raspberry Pi OS or just RPi OS. The RPi OS source code is largely based on Linux kernel, but the OS has very limited functionality and supports only Raspberry PI 3.
Each lesson is designed in such a way that it first explains how some kernel feature is implemented in the RPi OS, and then it tries to demonstrate how the same functionality works in the Linux kernel. Each lesson has a corresponding folder in the src directory, which contains a snapshot of the OS source code at the time when the lesson had just been completed. This allows the introduction of new concepts gracefully and helps readers to follow the evolution of the RPi OS. Understanding this guide doesn't require any specific OS development skills.
For more information about project goals and history, please read the Introduction. The project is still under active development, if you are willing to participate - please read the Contribution guide.
Table of Contents
- Introduction
- Contribution guide
- Prerequisites
- Lesson 1: Kernel Initialization
- 1.1 Introducing RPi OS, or bare metal "Hello, world!"
- Linux
- 1.2 Project structure
- 1.3 Kernel build system
- 1.4 Startup sequence
- 1.5 Exercises
- Lesson 2: Processor initialization
- Lesson 3: Interrupt handling
- 3.1 RPi OS
- Linux
- 3.2 Low level exception handling
- 3.3 Interrupt controllers
- 3.4 Timers
- 3.5 Exercises
- Lesson 4: Process scheduler
- 4.1 RPi OS
- Linux
- 4.2 Scheduler basic structures
- 4.3 Forking a task
- 4.4 Scheduler
- 4.5 Exercises
- Lesson 5: User processes and system calls
- Lesson 6: Virtual memory management
- Lesson 7: Signals and interrupt waiting (To be done)
- Lesson 8: File systems (To be done)
- Lesson 9: Executable files (ELF) (To be done)
- Lesson 10: Drivers (To be done)
- Lesson 11: Networking (To be done)
Explorer des projets similaires
sindresorhus/awesome
😎 Listes Awesome sur toutes sortes de sujets intéressants [NOTE : les pull requests sont temporairement désactivées jusqu’à ce que j’aie l’occasion de rattraper celles qui existent déjà]
535,377 étoilesEbookFoundation/free-programming-books
:books: Livres de programmation librement disponibles
401,426 étoilesnilbuild/developer-roadmap
Feuilles de route interactives, guides et autres contenus éducatifs pour aider les développeurs à progresser dans leur carrière.
371,841 étoilesvinta/awesome-python
La liste de référence qui répond à « Je veux faire X en Python : quel outil dois-je utiliser ? ».
334,114 étoiles