Cinq activités majeures d'un système d'exploitation concernant la gestion des processus
Il existe cinq activités principales qu'un système d'exploitation doit maintenir afin de gérer les processus qu'il exécute. Sans ces cinq activités, un système d'exploitation ne pourrait pas rester stable pendant une longue période.
Création de processus
Lorsque vous allumez votre ordinateur pour la première fois, le système d'exploitation ouvre des processus pour exécuter des services pour tout, du spouleur d'impression à la sécurité informatique. Lorsque vous vous connectez à l'ordinateur et démarrez des programmes, les programmes créent des processus dépendants. Un processus n'est pas le programme lui-même, mais plutôt les instructions que la CPU utilise pour exécuter le programme. Un processus appartient à Windows ou à un autre programme que vous avez installé.
État de traitement
L'état d'un processus peut être "créé", "en cours d'exécution", "en attente" ou "bloqué". Vous pouvez dire qu'un processus "attend" le moment après le démarrage de son programme parent et avant qu'il n'ait été traité par le CPU. Un processus est "en cours d'exécution" lorsque le CPU le traite. Vous pouvez considérer un processus "bloqué" si l'ordinateur n'a pas assez de mémoire pour le traiter ou si les fichiers associés au processus sont introuvables. Tous les systèmes d'exploitation ont une sorte de système de gestion des processus, bien qu'ils aient des noms différents pour chaque état.
Synchronisation des processus
Une fois les processus en cours d'exécution, le système d'exploitation a besoin d'un moyen de s'assurer que deux processus n'accèdent pas aux mêmes ressources en même temps. Plus précisément, deux processus ne peuvent pas tenter d'exécuter la même zone de code à la fois. Si deux processus tentaient d'exécuter ce code en même temps, un crash pourrait se produire lorsqu'ils tenteraient d'appeler les mêmes fichiers et d'envoyer les mêmes instructions au CPU en même temps. Si deux processus doivent exécuter le même code, l'un doit attendre que l'autre se termine avant de continuer.
Processus de communication
L'ordinateur doit s'assurer que les processus peuvent communiquer avec le processeur et entre eux. Par exemple, un programme peut avoir plusieurs processus et chaque processus peut avoir un niveau d'autorisation différent. Un niveau d'autorisation est simplement une indication du niveau d'accès qu'un processus doit avoir au système. La communication de processus garantit que l'ordinateur peut déterminer les autorisations de chaque processus. Ceci est très important pour empêcher les logiciels malveillants de supprimer des fichiers système ou d'ajouter des instructions au système d'exploitation lui-même.
Prévention des interblocages
Enfin, l'ordinateur doit disposer d'un moyen de s'assurer que les processus ne se bloquent pas. Un blocage se produit lorsque deux processus nécessitent chacun une ressource que l'autre utilise actuellement, et qu'aucun processus ne peut donc terminer ce qu'il est en train de faire. Les ressources ne peuvent pas être libérées et les programmes se bloquent. Vous pouvez également qualifier cette situation d'"attente circulaire". Les systèmes d'exploitation empêchent les interblocages de différentes manières, mais la méthode la plus courante consiste à forcer un processus à déclarer les ressources dont il aura besoin avant de pouvoir démarrer. Alternativement, un processus peut être forcé de demander des ressources par blocs, puis de libérer les ressources au fur et à mesure qu'il les utilise.