Bienvenue pour écrire votre propre cours sur le système d’exploitation 64 bits.
Ce cours vous apprend à créer un système d’exploitation simple à partir de zéro. Il couvre les bases de l’architecture x86 et de la programmation de bas niveau. Dans ce cours, nous vous guiderons pas à pas dans le processus de construction d’un petit système de travail.
La première partie du cours enseigne tout ce que vous devez savoir (modes de processeur, pagination, gestion des exceptions et des interruptions , etc.) avant de pouvoir construire le noyau sur l’architecture x86. Dans cette partie, nous verrons comment préparer le changement de mode. On passe du mode réel au mode protégé puis on passe au mode long. Notre noyau fonctionne en mode 64 bits. Après être passé en mode 64 bits, nous verrons comment gérer les exceptions et les interruptions, comment basculer entre le mode noyau et le mode utilisateur.
La deuxième partie du cours vous apprend à construire des modules noyau tels que comme les processus, la gestion de la mémoire, la gestion des interruptions, etc. Dans cette partie, nous verrons comment écrire un pilote de clavier et une console, comment interagir avec le noyau de l’OS à l’aide de la console. Après avoir terminé cette partie, vous devez savoir comment écrire des programmes utilisateur et les faire fonctionner dans votre propre système d’exploitation.
- Dans ce cours vous apprendrez :
Comment créer un système d’exploitation simple pour l’architecture x86.
Comprendre le mode réel
Comprendre le mode protégé et le mode long
Comment gérer les interruptions et les exceptions en mode 64 bits
Comment écrire le noyau du système d’exploitation avec le code assembleur et le code C
Être capable d’écrire la fonction d’impression pour imprimer des caractères à l’écran
Être capable de créer ungestionnaire de mémoire en utilisant le mécanisme de pagination x86
Comment écrire un gestionnaire de minuterie pour le gestionnaire de processus
Comment créer un gestionnaire de processus pour planifier les processus et les modifier entre différents états (veille, prêt, arrêté)
Comment implémenter le module appel système pour exécuter des programmes utilisateur dans le système
Écrire un pilote de clavier (PS/2)
Écrivez une console simple et interagissez avec le noyau du système d’exploitation à l’aide de commandes
Être capable d’écrire un module de système de fichiers simple qui prend en charge la lecture du système fat16.
À la fin du cours, vous devriez être capable de développer votre propre système d’exploitation 64 bits.
Introduction
Installation and Setup
Boot Up
In this lecture, we will write our first program in assembly language to boot the virtual machine and real machine from usb flash drive.
Loading the Loader and Switching to Long Mode
In this video, we will read the loader from disk into memory.
We will check to see if the processor supports long mode.
In this video, service E820 is used to get memory map info.
In this video, we will learn how to print characters on the screen in text mode.
In this lecture, we will switch to protected mode and set up environment for long mode.
The operating system is designed to run in 64-bit mode and all the modules we will build are running in this mode.
Exceptions and Interrupts Handling on the x86
Working With C
In this lecture, we will see how to write the kernel using assembly and c language.