Notes d'Osdev
Un livre, à l'origine une collection de notes, destiné à guider le lecteur à travers les étapes de construction d'un noyau de système d'exploitation à partir de zéro. Écrit lors de l'écriture (et de la réécriture) de nos propres noyaux, chaque chapitre couvre une étape du processus depuis la sélection d'un chargeur de démarrage jusqu'à l'exécution d'un ELF chargé dans l'espace utilisateur.
Nous espérons que vous apprécierez et trouverez quelque chose d’intéressant ici !
Le contenu de ce référentiel est également disponible sous forme de livre imprimé , il peut être acheté via Lulu :
- Broché : Cliquez ici
- Relié : Cliquez ici
La dernière version principale contient le PDF créé à partir du maître.
Chapitres actuels :
- Partie 0 : Introduction
- Connaissance présumée
- À propos des auteurs
- Partie 1 : Création et protocoles de démarrage
- Construire un noyau
- Chargeurs de démarrage et protocoles de démarrage
- Fichiers Make
- Scripts de l'éditeur de liens
- Générer un ISO bootable
- Partie 2 : Architecture et pilotes de base
- Aperçu
- Bonjour le monde
- Un demi-noyau supérieur
- Tableau de descripteur global
- Interruptions
- Tableaux ACPI
- APIC
- Minuteries
- Présentation du clavier PS2
- Gestion des interruptions du clavier PS2
- Implémentation du pilote de clavier PS2
- Partie 3 : Sortie vidéo
- Le tampon de trame
- Dessiner du texte sur Framebuffer
- Partie 4 : Gestion de la mémoire
- Aperçu
- Mémoire physique
- Pagination
- Gestionnaire de mémoire virtuelle
- Allocation de tas
- Partie 5 : Planification
- Aperçu
- Le planificateur
- Processus et fils de discussion
- Serrures
- Partie 6 : Accéder à l'espace utilisateur
- Aperçu
- Modes de commutation
- Gestion des interruptions mise à jour
- Appels système
- Exemple d'appel système ABI
- Partie 7 : Communication inter-processus
- Aperçu
- Mémoire partagée
- Passage de messages
- Partie 8 : Système de fichiers
- Aperçu
- Le système de fichiers virtuel
- Le système de fichiers Tar
- Partie 9 : Chargement et exécution des ELF
- Théorie
- Chargement et exécution
- Partie 10 : Aller au-delà
- Extras : Annexes
- Dépannage général
- Trucs et astuces
- Langage C
- Travailler avec NASM
- Tout sur les compilateurs croisés
- Débogage
- Protection de la mémoire
- Ressources utiles
- Remerciements
Nos projets
- DreamOs64 : OS 64 bits écrit de toutes pièces par Ivan G.
- Northport : un autre système d'exploitation 64 bits avec SMP et prise en charge de riscv ! par Dean T.
- DreamOs : système d'exploitation 32 bits écrit à partir de zéro. Ce projet est abandonné, mais il mérite toujours d'être mentionné. Également par Ivan G.
Auteurs
- Ivan G (dreamos82) - Auteur et créateur de ces notes.
- Dean T (DeanoBurrito) - Auteur.
Licence
Le contenu (code, texte et autres actifs) de ce référentiel est sous licence publique Creative Commons Attribution-NonCommercial 4.0, voir le fichier LICENSE pour le texte intégral.
Bien qu'il ne s'agisse pas d'un avis juridique, cette licence peut se résumer comme suit :
- Vous êtes libre de partager (copier et redistribuer) ce matériel sur n’importe quel support ou format.
- Adapter (remixer, transformer et développer) le matériel.
Sous les restrictions suivantes :
- Vous devez accorder le crédit approprié, fournir un lien vers la licence et indiquer si des modifications ont été apportées.
- Vous ne pouvez pas utiliser le matériel à des fins commerciales.
Notez qu’aucune garantie d’aucune sorte n’est fournie.