Code simple, autonome et propre, bien documenté, système d'exploitation 64 bits amateur pour les processeurs Intel et AMD. Il est écrit en assemblage (syntaxe Intel) et C (standard GNU99) dans lequel je m'efforce d'ajouter autant que possible les commentaires au code source afin qu'il puisse être utilisé comme référence pour les futurs développeurs de systèmes d'exploitation.
Il contient les composants suivants écrits à partir de zéro:
| Composant | Description | Code source |
|---|---|---|
| Mbr | Téléot de démarrage en première étape | code |
| Chargeur | Téléot de démarrage de deuxième étape | code |
| Composant | Description | Code source |
|---|---|---|
| PML4 | Pagination | code |
| Copain | Système d'allocateur de mémoire | code |
| Imprimer | utilitaire d'analyse de format de chaîne de type printf | code |
| Conducteur en série | Envoyer des msgs printk via RS232 pour aider à déboguer | code |
| Dépotoir de noyau | Dépenser les registres du processeur à des fins de débogage | code |
| Syscall / Sysret | Méthode choisie pour sauter pour sonner 3 et dos | code |
| FOSSE | Minuterie d'intervalle programmable | code |
| Pic | Contrôleur d'interruption programmable | code |
| (x) retard | Basé sur des serrures étant donné que j'utilise la fosse | code |
| CMOS RTC | Horloge en temps réel | code |
| Planificateur | Scheduleuse à tournoyer simple | code |
Les fonctions sont ajoutées à la demande: code
Plus à venir! Star / Regardez ce dépôt pour rester à l'écoute!
Afin de créer cette application, vous devez make installer et docker dans votre machine. Toutes les autres dépendances de construction doivent être prises en charge automatiquement par l'image Docker créée au cours de cette étape.
Pour le construire, vous devez courir:
make build
Afin d'exécuter cette application, vous devez avoir make et qemu-system-x86_64 installé dans votre machine.
make test
Pour m'assurer que je ne perdrai pas l'accent sur ce que je veux que ce système d'exploitation puisse faire, j'ai décidé d'écrire une liste de fonctionnalités que je souhaite mettre en œuvre à court et moyen terme.
Des choses qui seraient fantastiques à avoir, mais je ne sais pas si j'ai ce qu'il faut à faire de ma vie.
Ce sont toutes les références qui m'ont beaucoup aidé pendant le développement d'Almeidaos
Forums:
Livres:
OSES existants:
Cours: