Niveaux et couches d'abstraction dans un système Linux

Linux dispose d’un grand nombre de composants qui fonctionnent et communiquent entre eux. Bien que les fonctionnalités et détails de chaque composant soient nombreux, nous nous concentrerons sur le rôle de chaque composant par rapport à l'ensemble du système.
layers Linux

L'utilisation de l'abstraction pour diviser des systèmes informatiques en composants rend les choses plus faciles à comprendre, car elle permet aussi d'organiser les composants en couches ou niveaux. Une couche (layer) ou un niveau (level) est une classification d'un composant selon la position de ce composant entre l'utilisateur et le matériel. Les navigateurs Web et les jeux, par example, sont situés au niveau supérieur; à la couche inférieure, nous avons la mémoire dans le matériel informatique. Le système d'exploitation occupe la plupart des couches intermédiaires situées entre les deux couches précédentes.

Un système Linux a trois niveaux principaux :

1. Hardware

Le matériel (hardware) est à la base. Le matériel comprend la mémoire ainsi qu'une ou plusieurs unités centrales de traitement (CPU) pour effectuer le calcul et pour lire et écrire dans la mémoire. Les périphériques tels que les disques et les interfaces réseau font également partie du matériel.

2. Kernel

Le niveau suivant est celui du noyau (Kernel), qui est le cœur du système d'exploitation. Le noyau est un logiciel qui est chargé au niveau de la mémoire et commande le CPU. Le noyau gère le matériel et agit principalement comme interface entre le matériel et tout programme en cours d'exécution.

3. User process

Les processus (processes) ou processus utilisateurs (user processes) sont les programmes en cours d'exécution gérés par le noyau. Ils constituent collectivement le niveau supérieur du système, appelé espace utilisateur.

Différents modes d’exécution

Les modes d'exécution du noyau et des processus utilisateur sont différents: le noyau s'exécute en mode noyau et le les processus utilisateur s'exécutent en mode utilisateur. Le code exécuté en mode noyau a un accès illimité au processeur et à la mémoire principale. C'est un privilège puissant mais dangereux car il peut permettre à un processus du noyau de planter facilement l'ensemble du système. La zone à laquelle seul le noyau peut accéder est appelée espace du noyau.
Le mode utilisateur, en revanche, restreint l'accès à un sous-ensemble (généralement assez petit) de mémoire et aux opérations sûres du processeur. L'espace utilisateur fait référence aux parties de la mémoire principale auxquelles les processus utilisateur peuvent accéder. Si un processus fait une erreur et se bloque, les conséquences sont limitées et peuvent être nettoyées par le noyau. Cela signifie que si votre partie de jeu d’échecs plante, l’éditeur de texte contenant le texte que vous mettez en forme depuis 2 heures ne plantera pas.

En théorie, un processus utilisateur détraqué ne peut pas sérieusement endommager le reste du système.

Aucun commentaire:

Fourni par Blogger.