Système d'exploitation, interruptions, calls, shell

Interruptions

Le système d'interruptions permet aux processus de signaler qu'ils attendent d'utiliser les ressources du processeur, ou qu'ils ont terminé l'exécution et qu'ils libèrent les ressources avant la consommation totale du temps alloué.

 

System calls

instruction TRAP

Les programmes utilisateurs communiquent avec le système d'exploitation et lui font des requêtes au moyen d'appels système.

Le programmeur ne peut pas faire d'appel système (system call), c'est le compilateur qui peut le faire. Mais le programmeur peut intercepter les messages d'erreur pour réaliser son programme.
Par exemple, si un programme lit un fichier et que le système renvoit une ereur de lecture car la fin du fichier est atteinte (EOF : end of file), ce message d'erreur doit être pris en compte par le programme pour savoir qu'il doit passer à l'étape suivante.

Pour être plus complet, un appel système correspond à une procédure de bibliothèque que l'utilisateur peut appeler. Cette procédure permet de donner à l'appel système l'apparence d'un appel de procédure ordinaire, en masquant les détails de l'instruction TRAP.

Les paramètres de l'appel sont préservés par exemple dans des registres du processeur, puis la procédure effectue une instruction TRAP pour activer le système d'exploitation. Ce dernier prend le contrôle, vérifie la validité des paramètres, effectue le traitement demandé, puis place dans un registre un code de statut (code qui indique si le traitement a bien été effectué, et éventuellement le type d'erreur). Enfin, il effectue une instruction RETURN FROM TRAP qui rend le contrôle à la procédure appelante.

 

Shell

Le shell est l'interpréteur de commande du système d'exploitation, mais ne fait pas partie de ce dernier. Le shell se situe dans les programmes système en mode kernel, juste au dessus du système d'exploitation, et en dessous des programmes en mode utilisateur.

C'est en quelque sorte l'interface entre le système d'exploitation et l'utilisateur.

Le moyen pour l'utilisateur d'utiliser manuellement les appels système est de le faire au travers du shell.

 

Document créé le 06/06/05 21:04, dernière modification le 28/06/17 14:26
Source du document imprimé : https://www.gaudry.be/systeme-exploitation-interrupt-calls-shell.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.