Je lis l'article Wikipedia sur la gestion des processus . Je me concentre sur Linux. Je ne peux pas comprendre la relation et les différences entre l'appel système, le passage de message et l'interruption, dans leurs concepts et objectifs. S'agit-il tous de processus pour faire des requêtes au noyau pour des ressources et des services?
Quelques citations de l'article et quelques autres:
Il existe deux façons possibles pour un système d'exploitation de reprendre le contrôle du processeur pendant l'exécution d'un programme afin que le système d'exploitation effectue une désallocation ou une allocation:
- Le processus émet un appel système (parfois appelé interruption logicielle); par exemple, une demande d'E / S se produit demandant d'accéder à un fichier sur le disque dur.
- Une interruption matérielle se produit; par exemple, une touche a été enfoncée sur le clavier ou un minuteur est épuisé (utilisé dans le multitâche préventif).
Il existe deux techniques par lesquelles un programme s'exécutant en mode utilisateur peut demander les services du noyau:
* System call * Message passing
une interruption est un signal asynchrone indiquant le besoin d'attention ou un événement synchrone dans le logiciel indiquant le besoin d'un changement d'exécution.
Une interruption matérielle oblige le processeur à sauvegarder son état d'exécution et à commencer l'exécution d'un gestionnaire d'interruption. Les interruptions logicielles sont généralement implémentées en tant qu'instructions dans le jeu d'instructions, ce qui entraîne un changement de contexte vers un gestionnaire d'interruptions similaire à une interruption matérielle.