Introduction aux systèmes d'exploitation
Progression
#Introduction aux systèmes d'exploitation
Comprendre un système d'exploitation commence par observer son double rôle : offrir des abstractions confortables aux applications tout en conservant un contrôle serré sur le matériel. Quand vous lancez un éditeur de texte, le noyau alloue un processus, réserve un espace mémoire privé, ouvre la fenêtre graphique via un pilote et veille à ce que le CPU alterne équitablement entre votre éditeur et le reste du système. Rien de tout cela n'est laissé au hasard : une suite d'algorithmes, de tables de données et de conventions se coordonnent pour maintenir l'illusion d'une machine simple.
#1. Les quatre responsabilités du noyau
Abstraire : transformer une carte réseau, un disque ou une horloge matérielle en objets manipulables par un programme utilisateur. Arbitrer : décider qui obtient le CPU, quand accéder au disque, quelle requête réseau traiter en priorité. Isoler : empêcher un programme fautif de corrompre les autres, séparer les privilèges entre utilisateur et superutilisateur, contrôler l'accès aux périphériques. Pérenniser : assurer la durabilité des données en dépit des pannes et conserver un état cohérent du système. Toute la suite du module se déploie autour de ces quatre axes.
#2. Architecture du noyau
Les noyaux monolithiques (Linux, BSD) regroupent les pilotes, la gestion mémoire, l'ordonnancement et les systèmes de fichiers dans un même espace privilégié. Les micro-noyaux (Minix, QNX) délèguent davantage aux serveurs en espace utilisateur et s'appuient massivement sur la messagerie inter-processus. Les noyaux hybrides (Windows NT) composent entre les deux. Pour un étudiant de L2, l'enjeu est de comprendre que ce choix n'altère pas l'interface offerte aux programmes : les appels système restent stables, seuls les modules internes changent d'emplacement et de modèle de communication.
#Atelier
Installez strace
puis observez les appels système déclenchés par un simple ls
: chaque ligne révèle une interaction noyau. Relancez strace
sur un programme interactif comme nano
et identifiez les appels répétés qui assurent la réactivité (lecture clavier, rafraîchissement du terminal). Cette observation constitue votre premier « stéthoscope » sur le cœur du système.