Quelle est la différence entre le mode noyau et le mode utilisateur dans Windows ?

Un processeur exécute des programmes en mode utilisateur ou en mode noyau. Et lorsque vous utilisez votre PC, votre processeur bascule régulièrement entre les deux en fonction de ce qu’il fait. Mais qu’est-ce que le mode utilisateur et le mode noyau, et quelle est la différence entre les deux ?

Voyons quels sont ces modes et pourquoi un processeur doit basculer entre ces modes.

Qu’est-ce que le « mode utilisateur » dans Windows ?

Crédit image : Hertzsprung/Creative Commons

Lorsque vous démarrez un programme sous Windows, il se lance en mode utilisateur. Chaque fois qu’un programme en mode utilisateur veut s’exécuter, Windows crée un processus pour celui-ci. Un processus est juste un programme qu’un processeur exécute ou un programme que Windows a programmé pour être exécuté. Et chaque fois que Windows crée un processus, il crée également un espace d’adressage virtuel pour ce processus.

UNE espace d’adressage virtuel est la collection d’adresses logiques (non physiques) que Windows attribue à un processus. Les processus peuvent utiliser ces adresses pour stocker des données sur la mémoire physique.

De plus, les espaces d’adressage virtuels sont isolés. Ainsi, l’espace d’adressage virtuel d’un processus n’interfère pas avec l’espace d’adressage d’un autre processus. Et parce que les programmes en mode utilisateur ont des espaces d’adressage séparés, si un programme plante, il plante seul et ne supprime pas les autres programmes ou l’ensemble du système d’exploitation avec lui.

Voir aussi :  Pourquoi le gestionnaire des tâches liste-t-il des processus non liés sous Microsoft Edge ?

Une autre façon de décrire les applications en mode utilisateur consiste à utiliser le terme « moins privilégié ». Windows empêche les applications en mode utilisateur d’accéder directement aux ressources système critiques, ce qui les rend moins privilégiées. Par exemple, si une application veut accéder au matériel, elle doit passer par le noyau du système d’exploitation en utilisant des appels système.

En termes simples, les programmes d’application comme les jeux vidéo s’exécutent en mode utilisateur. Ils sont moins privilégiés et n’ont donc pas un accès illimité aux ressources système. Chaque application en mode utilisateur possède son propre espace d’adressage. Une application ne peut pas modifier l’espace d’adressage d’une autre application. Par conséquent, si une application tombe en panne, cela n’affecte pas les autres programmes exécutés sur l’ordinateur.

Qu’est-ce que le « mode noyau » dans Windows ?

Comment fonctionne le mode noyau Crédit d’image : Bobbo/Wikimedia Commons

Avant de discuter du mode noyau, nous devons d’abord définir ce qu’est un « noyau » et comment il fonctionne avec Windows.

Le noyau est le cerveau d’un système d’exploitation. C’est le composant logiciel de base sur lequel reposent tous les autres composants du système d’exploitation. Le noyau gère le matériel informatique, planifie quels processus s’exécutent sur l’ordinateur et quand, et gère les interactions entre le matériel et le logiciel d’application.

Voir aussi :  Comment réparer le dossier Téléchargements qui ne répond pas sous Windows

En bref, le noyau est le morceau de code le plus privilégié exécuté sur le système. C’est parce que c’est le code qui interagit directement avec le matériel. Tout autre programme qui souhaite utiliser les ressources matérielles doit demander l’accès via le noyau.

Lorsqu’un programme d’application s’exécute en mode utilisateur et souhaite accéder à du matériel tel que la webcam, il doit demander le noyau à l’aide d’un appel système. Pour répondre à ces requêtes, le CPU, au moment de l’exécution du programme, passe du mode utilisateur au mode noyau.

Une fois l’exécution d’un processus terminée, la CPU repasse en mode utilisateur et commence à exécuter le processus planifié suivant. C’est ce qu’on appelle le « changement de contexte ».

Quelle est la différence entre le mode utilisateur et le mode noyau ?

La principale différence entre le mode utilisateur et le mode noyau est le niveau de privilège offert par chaque mode. En mode utilisateur, les applications ont moins de privilèges. Ils n’ont pas d’accès direct aux ressources matérielles et ne peuvent pas non plus écrire dans les espaces d’adressage d’autres applications.

Le code qui s’exécute en mode noyau a des privilèges élevés. Il a non seulement un accès direct au matériel informatique, mais tous les programmes exécutés en mode noyau, y compris le système d’exploitation, partagent également un espace d’adressage. Ainsi, si un programme en mode noyau plante, il peut détruire tout le système d’exploitation avec lui. Pour s’assurer que de tels plantages ne se produisent pas, Windows n’autorise que certains processus à s’exécuter en mode noyau.

Voir aussi :  Qu'est-ce que l'agressivité de l'itinérance ? Comment obtenir un signal Wi-Fi plus puissant sous Windows

Windows adopte une approche en couches pour séparer les programmes utilisateur des ressources système

Windows utilise un modèle en couches pour déterminer le niveau de privilège des processus. Les applications qui résident sur la couche la plus externe sont celles qui ont le privilège de bail. Au cœur de ces couches se trouve le noyau. Par conséquent, le noyau a un accès illimité aux ressources du système d’exploitation.

L’approche en couches protège également les fonctionnalités vitales du système d’exploitation. Lorsque les programmes de la couche supérieure se bloquent de manière aléatoire, cela n’affecte pas le système d’exploitation. D’autre part, lorsque le noyau plante, tout le système d’exploitation tombe en panne.

Cliquez pour évaluer cet article !
[Total: Moyenne : ]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *