Suivant
BosoKernel : une introduction a la programmation de systemes d'exploitation
1. Introduction
- 1.1 Presentation
- 1.2 Pre-requis
- 1.3 Les outils
2. Realiser un secteur de boot
- 2.1 Qu'est-ce qu'un secteur de boot ?
- 2.2 Charger un secteur de boot en memoire
- 2.3 Un secteur de boot qui affiche un message
- 2.4 La pratique : compiler et tester un programme de secteur de boot
3. Charger un noyau
- 3.1 Presentation
- 3.2 Un programme de boot plus complet
- 3.3 Un premier noyau tres simple
- 3.4 Compiler et tester la disquette de boot
4. Passer en mode protege
- 4.1 Pourquoi passer en mode protege ?
- 4.2 Comment passer du mode reel au mode protege
- 4.3 Addressage de la memoire en mode protege
- 4.3.1 Differents types d'adresses
- 4.3.2 Le mecanisme de segmentation
- 4.3.3 Les descripteurs de segments
- 4.4 A quel moment passer en mode protege ?
- 4.5 Un programme de boot qui passe en mode protege
- 4.6 Un noyau tres simple
- 4.6.1 Le code
- 4.6.2 Afficher quelque chose a l'ecran
5. Passer d'un noyau en assembleur a un noyau en C
- 5.1 Lier du code assembleur avec du code C
- 5.2 Une bibliotheque d'affichage
- 5.3 Un kernel tres simple en assembleur
- 5.4 Le meme kernel en C
- 5.5 Compiler et tester les programmes
6. Passer en mode protege, mise en oeuvre en langage C
7. Gerer les interruptions (1)
- 7.1 Le processeur et les interruptions
- 7.1.1 Des interruption pour prevenir le processeur d'un evenement
- 7.1.2 Executer la bonne routine : la table des vecteurs d'interruptions
- 7.2 Le controleur d'interruptions
- 7.2.1 Des interruptions materielles gerees par un chipset : le 8259A (1)
- 7.2.2 Des interruptions materielles gerees par un chipset : le 8259A (2)
- 7.2.3 Parametrer le controleur d'interruptions
- 7.2.3.1 Envoyer des parametres en utilisant les ports d'entree/sortie
- 7.2.3.2 Des registres pour stocker les parametres du controleur
- 7.2.3.3 Initialiser le controleur en remplissant les registres ICW
- 7.2.3.4 Une routine en assembleur pour initialiser le controleur
8. Gerer les interruptions (2) : la mise en oeuvre
- 8.1 Une ebauche de gestionnaire d'interruptions
- 8.2 Le code
A. La programmation separee avec nasm
B. Code de BosoKernel en assembleur
C. Code de BosoKernel en C
Vous pouvez m'adresser toutes vos remarques ici .
Le code de BosoKernel peut etre telecharge en cliquant
ici tout en laissant la touche shift enfoncee.