| Assembleur 370 |
SVC |
| Supervisor Call |
Syntaxe
Paramètres
| Nom |
Description |
| I1 |
Ce paramètre permet d'indiquer un entier immédiat (immédiat de 8 bits), compris entre 0 et 255. Il représente le numéro de service du système d'exploitation que l'on souhaite appeler. Chaque valeur de I1 correspond à une fonction spécifique du système (ex : lecture, écriture, gestion de fichiers,...). |
Description
Cette instruction permet d'appeler une interruption de superviseur.
Remarques
- L'instruction SVC permet de demander l'intervention du système d'exploitation en générant une interruption logicielle. Elle interrompt l'exécution du programme
utilisateur pour passer en mode superviseur. C'est un mécanisme essentiel pour accéder aux services protégés du système.
- Le paramètre I1 est un code de service immédiat (8 bits), qui identifie la fonction système à appeler. Chaque valeur (entre 0 et 255) correspond à une routine
spécifique du noyau. Par exemple, certains codes déclenchent des opérations d'entrée/sortie ou de gestion mémoire.
- Le passage par SVC garantit que les opérations critiques sont encadrées par le système d'exploitation. Cela empêche les programmes utilisateurs de manipuler
directement les ressources sensibles. SVC joue donc un rôle important dans la sécurité et la stabilité du système.
- L'exécution d'un SVC entraîne le sauvegarde de l'état du programme courant, puis le transfert de contrôle à une routine système. Ce mécanisme est semblable à une
interruption matérielle, mais déclenchée par le logiciel. Après traitement, le système peut revenir au programme appelant.
- La table des services SVC est souvent modulaire ou configurable, en fonction de l'environnement ou des extensions du système. Les codes disponibles et leur effet
peuvent varier selon l'implémentation. Une bonne documentation système est donc indispensable pour l'utiliser efficacement.
- Un usage typique de SVC concerne les fonctions d'entrée/sortie, telles que la lecture depuis un périphérique ou l'écriture en console. Ces opérations nécessitent
un accès au matériel, réservé au superviseur. SVC joue ici le rôle d'interface normalisée.
- L'appel SVC est souvent utilisé dans les programmes écrits en langage d'assemblage, mais peut aussi être appelé via des bibliothèques en langage de haut niveau.
Il permet ainsi de centraliser l'accès aux ressources système, quelle que soit la couche logicielle. C'est un point de passage universel.
- Comme tout appel système, SVC implique un certain coût en performance, dû au basculement entre mode utilisateur et superviseur. Il est donc recommandé de
l'utiliser avec parcimonie, uniquement pour les opérations nécessaires. Son usage excessif peut ralentir significativement un programme.
Dernière mise à jour : Mardi, le 22 août 2017