2. Programmes et processus

L'être humain qui doit utiliser une application n'interagit que d'une façon virtuelle avec celle-ci : en réalité il interagit matériellement avec la machine. Il faut donc une interface entre les deux : elle est réalisée par le système d'exploitation, aussi appelé système (tout court), qui abstrait la machine.

Le système donne des moyens logiciels permettant aux diverses applications d'utiliser chaque élément matériel. Par exemple pour un disque dur, le système contient un gestionnaire de disque dur, qui permet aux applications d'enregistrer des données sans s'inquiéter des différents modèles de disques. Les éléments du systèmes qui donnent accès aux périphériques sont appelés pilotes ou gestionnaires, en anglais drivers.

La contrepartie en mémoire d'un logiciel en train de s'exécuter est appelée processus. Le système a notamment pour rôle de gérer la mémoire et le temps de calcul, notamment pour le répartir entre les divers processus (c'est à dire entre les tâches à effectuer à un moment donné). Quand un seul processus est réellement actif à un moment donné ou que les processus se passent la main (ex. : windows 95) et, donc, sont susceptibles de bloquer la machine, on dit que le système est monotâche. Quand c'est le système qui découpe arbitrairement son temps et le répartit entre les processus, on dit qu'il est multitâche.

Les principaux types de systèmes actuels sont : UNIX (dont Linux), WindowsNT (dont Windows XP), MacOS, DOS (associé à Windows non-NT). Les systèmes "récents" (Unix, WindowsNT, MacOS depuis la version 9) sont réellement multitâches et sont d'architecture générale relativement proche.

Les services permanents (serveur web, serveur de fichiers, etc.) sont assurés par des processus "dormants" qui se "réveillent" quand une requête arrive. On parle parfois de démons. Sous WindowsNT les services automatiquement lancés sont contrôlés par un gestionnaire de services. Sous Unix (dont Linux), les outils de configuration propre à chaque distribution permettent de décider quels services doivent être ou non activés.

Les systèmes évolués disposent d'un (ou plusieurs) gestionnaires de tâches, qui permettent de gérer certains privilèges ou de "tuer" des processus (parce qu'ils ne répondent plus, par exemple). Sous les systèmes WindowsNT, on l'obtient par ◊^Suppr (contrôle+alt.+suppr.).