4. Systèmes d'exploitation

La clé des systèmes d’exploitation modernes est la modularité (division des tâches). Le principe est de séparer ce qui relève des processus de ce qui relève de l'accès aux ressources et de leur administration. Le système abstrait toutes les ressources de la machine au bénéfice des processus. Inversement, il présente pour la machine une interface commune aux logiciels. Dans les systèmes les plus étanches (les mieux conçus) les processus n'ont aucun accès direct aux ressources et doivent passer obligatoirement par le système.

La mémoire est une ressource, donc : un processus n’écrit jamais directement dans la mémoire (il passe toujours par le système d’exploitation).

Les processus eux-mêmes sont des ressources, donc : si des processus veulent communiquer entre eux, ils doivent passer par l’intermédiaire du système d’exploitation (cette pratique n'est pas toujours systématique, malheureusement).

Un système d'exploitation comporte deux grandes sous-parties : 1) le noyau et les pilotes associés : contrôle des éléments, périphériques, tâches, etc., 2) les bibliothèques [librairies] standards : les traitements communs à de nombreux programmes (procédures génériques ou liées au système).

Grandes familles de systèmes pour ordinateurs :

La gestion des fenêtres est dévolue à un (ensemble de) programme particulier appelé système de fenêtres (sous Unix : X window ou X11). Leur habillage, déplacement, redimentionnement, etc. est dévolu au gestionnaire de fenêtres (nombreux sous Unix, les principaux : KDE, Gnome). A l'idéal ces éléments ne devraient pas être dans le système. C'est (malheureusement) largement le cas pour MacOS et Windows.