Nous supposons que le lecteur a vu Linux en tant qu’utilisateur de ce système d’exploitation et aussi, éventuellement, en tant qu’administrateur système, en particulier pour les systèmes individuels. Nous allons passer à l’étape suivante : la façon dont ce système d’exploitation est conçu
Cours de Système d'Exploitation II
Structure d’un système d’exploitationOn peut s’intéresser à la conception de Linux pour quatre raisons : par curiosité intellectuelle, pour comprendre comment on conçoit un système d’exploitation, pour participer au développement du noyau Linux, ou pour s’en inspirer pour développer un autre système d’exploitation.
Notre but est surtout de satisfaire les deux premières motivations, mais cet ouvrage pourra également servir pour les deux autres. L’intérêt de Linux est que les sources sont publiques et que, au-delà des grands principes, nous pourrons visualiser la mise en place des fonctionnalités du système à partir de ces sources et faire des expériences en changeant telle ou telle implémentation.
Chargement des programmesLes premiers micro-ordinateurs étaient fournis sans système d’exploitation. Les tous premiers micro-ordinateurs n’avaient qu’un seul programme : un interpréteur du langage BASIC qui était contenu en mémoire ROM.
Chargement des programmesLes premiers micro-ordinateurs étaient fournis sans système d’exploitation. Les tous premiers micro-ordinateurs n’avaient qu’un seul programme : un interpréteur du langage BASIC qui était contenu en mémoire ROM.
Lors de l’apparition des lecteurs de cassettes puis, de façon plus fiable, des lecteurs de disquettes, cela commença à changer : si une disquette exécutable était placée dans le lecteur de disquettes, ce programme était exécuté (il fallait éventuellement ensuite remplacer cette disquette par une disquette de données), sinon l’interpréteur BASIC reprenait la main.
Super-utilisateur Un système d’exploitation multi-utilisateurs prévoit un utilisateur particulier appelé superutilisateur ou superviseur (root en anglais). L’administrateur du système doit se connecter en temps que super-utilisateur pour gérer les comptes des utilisateurs et réaliser les tâches de maintenance telles que les sauvegardes et les mises à jour des programmes.
Le superutilisateur peut faire pratiquement n’importe quoi dans la mesure où le système d’exploitation ne lui applique jamais les mécanismes de protection, ceux-ci ne concernant que les autres utilisateurs, appelés utilisateurs ordinaires. Le super-utilisateur peut, en particulier, accéder à tous les fichiers du système et interférer sur l’activité de n’importe quel processus en cours d’exécution. Il ne peut pas, en revanche, accéder aux ports d’entrée-sortie qui n’ont pas été prévus par le noyau, comme nous le verrons.
Super-utilisateur Un système d’exploitation multi-utilisateurs prévoit un utilisateur particulier appelé superutilisateur ou superviseur (root en anglais). L’administrateur du système doit se connecter en temps que super-utilisateur pour gérer les comptes des utilisateurs et réaliser les tâches de maintenance telles que les sauvegardes et les mises à jour des programmes.
Le superutilisateur peut faire pratiquement n’importe quoi dans la mesure où le système d’exploitation ne lui applique jamais les mécanismes de protection, ceux-ci ne concernant que les autres utilisateurs, appelés utilisateurs ordinaires. Le super-utilisateur peut, en particulier, accéder à tous les fichiers du système et interférer sur l’activité de n’importe quel processus en cours d’exécution. Il ne peut pas, en revanche, accéder aux ports d’entrée-sortie qui n’ont pas été prévus par le noyau, comme nous le verrons.