Unix
Système d’exploitation
Un lien entre la machine (Hardware) et les applications (Software). Il est chargé d'assurer la liaison entre les ressources matérielles, l'utilisateur et les applications. Il permet une:
Gestion du processeur: le système d'exploitation est chargé de gérer l'allocation du processeur entre les différents programmes grâce à un algorithme d'ordonnancement.
Gestion de la mémoire vive: le système d'exploitation est chargé de gérer l'espace mémoire alloué à chaque application. Gestion d’une mémoire virtuelle où l’OS masque la localisation physique et de la mémoire (RAM, HDD…). Ainsi, tout processus croit manipuler une mémoire "logique" qui a les propriétés suivantes: la mémoire peut être étendue jusqu’aux capacités théoriques de la machine; la mémoire est privée (protégée), un processus ne peut pas accéder à la mémoire d’un autre processus (sauf allocations et autorisations spécifiques).
Gestion des entrées/sorties: le système d'exploitation permet d'unifier et de contrôler l'accès des programmes aux ressources matérielles par l'intermédiaire des pilotes.
Gestion des fichiers: le système d'exploitation gère la lecture et l'écriture dans le système de fichiers et les droits d'accès aux fichiers par les utilisateurs et les applications.
Noyau
Le noyau représente les fonctions fondamentales du système d'exploitation telles que la gestion de la mémoire, des processus, des fichiers, des entrées-sorties principales, et des fonctionnalités de communication.
Appel système
Appel à des fonctionnalités permettant aux processus d’accéder à certaines fonctionnalités du noyau.
Mode utilisateur/mode noyau
Pour obtenir une bonne séparation entre programmes systèmes et programmes applicatifs, il nous faut deux niveaux de privilèges distincts. Cela nous donne donc au moins deux anneaux mémoire :
L’espace noyau, accès à toutes les fonctionnalités matérielles: Un anneau dans lequel on place les programmes systèmes.
L’espace utilisateur, un accès limité