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é.

Contents Haut

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.

Contents Haut

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.

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 06/06/2005, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/systeme-exploitation-interrupt-calls-shell.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.