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 :
Unix, dont Linux, chacun étant régulièrement mis à jour et diffusé sous la forme de distributions. Les Unix récents gèrent plusieurs processeurs sur une même machine voire plusieurs machines agglutinées en "clusters".
Windows NT : inspiré d'Unix, dont il tend à se rapprocher en conservant une ergonomie par fenêtres.
DOS + Windows : système personnel de Microsoft, aujourd'hui remplacé par la famille WindowsNT.
OS/2 : l'alternative à Windows conçue par IBM, aujourd'hui disparue.
MacOS (avant la v. 9) : système du constructeur Apple pour ses Macintosh.
MacOS (depuis la v. 9) : inspiré d'Unix, mais conservant l'ergonomie Macintosh.
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.