Appel système dans le système d'exploitation (OperaSystème de synchronisation) : Qu'est-ce que c'est, types et exemples
⚡ Résumé intelligent
L'appel système est l'interface contrôlée qu'un processus utilise pour demander des services du noyau tels que l'accès aux fichiers, le contrôle des processus et la communication avec les périphériques, en faisant basculer en toute sécurité le processeur du mode utilisateur au mode noyau privilégié.

Qu'est-ce que l'appel système Operasystème de réglage ?
A appel système est un mécanisme qui fournit l'interface entre un processus et le système d'exploitation. Il s'agit d'une méthode programmatique dans laquelle un programme informatique demande un service au noyau du système d'exploitation.
L'appel système offre les services du système d'exploitation aux programmes utilisateur via API (Application Programming Interface). Les appels système sont les seuls points d'entrée pour le système du noyau.
Appels système entrants Operating système
Exemple d'appel système
Par exemple, pour écrire un programme qui lit des données d'un fichier et les copie dans un autre, le programme a d'abord besoin des noms des deux fichiers : le fichier d'entrée et le fichier de sortie.
Dans un système interactif, ce type d'exécution de programme nécessite des appels système de la part du système d'exploitation.
- La première étape consiste à afficher un message d'invite à l'écran.
- La seconde consiste à lire, au clavier, les caractères qui définissent les deux fichiers.
Comment fonctionne l’appel système ?
Voici les étapes d'un appel système dans un système d'exploitation :
Architecture de l'appel système
Comme vous pouvez le constater dans le diagramme d'appels système ci-dessus :
Étape 1) Les processus s'exécutent en mode utilisateur jusqu'à ce qu'un appel système les interrompe.
Étape 2) Ensuite, l'appel système est exécuté en mode noyau selon un ordre de priorité.
Étape 3) Une fois l'exécution de l'appel système terminée, le contrôle est rendu au mode utilisateur.
Étape 4) L'exécution des processus utilisateur reprend, alternant entre le mode utilisateur et mode noyau comme demandé.
Pourquoi avez-vous besoin d’appels système dans le système d’exploitation ?
Voici quelques situations qui nécessitent des appels système dans le système d'exploitation :
- La lecture et l'écriture à partir de fichiers nécessitent des appels système.
- Si un système de fichiers souhaite créer ou supprimer des fichiers, des appels système sont requis.
- Les appels système sont utilisés pour la création et la gestion de nouveaux processus.
- Les connexions réseau nécessitent des appels système pour envoyer et recevoir des paquets.
- L'accès aux périphériques matériels tels qu'un scanner ou une imprimante nécessite un appel système.
Types d'appels système
Voici les cinq types d'appels système dans un système d'exploitation :
- Contrôle de processus
- Gestion de fichiers
- Gestion des appareils
- Entretien des informations
- Communication
Types d'appels système dans un système d'exploitation
Contrôle de processus
Ces appels système permettent de réaliser la création de processus, la terminaison de processus, etc.
Les fonctions:
- Mettre fin et interrompre
- Charger et exécuter
- Créer un processus et terminer le processus
- Attends et Signal Espaces
- Allouer et libérer de la mémoire
Gestion de fichiers
Les appels du système de gestion de fichiers gèrent les tâches de manipulation de fichiers telles que la création d'un fichier, la lecture et l'écriture, etc.
Les fonctions:
- Créer un fichier
- Supprimer le fichier
- Ouvrir et fermer le fichier
- Lire, écrire et repositionner
- Obtenir et définir les attributs du fichier
Gestion des appareils
La gestion des périphériques effectue le travail de manipulation des périphériques, comme la lecture dans les tampons des périphériques, l'écriture dans les tampons des périphériques, etc.
Les fonctions:
- Appareil de demande et de libération
- Attacher ou détacher logiquement les appareils
- Obtenir et définir les attributs de l'appareil
Entretien des informations
Il gère les informations et leur transfert entre le système d'exploitation et le programme utilisateur.
Les fonctions:
- Obtenir ou définir l'heure et la date
- Obtenir les attributs du processus et de l'appareil
Communication
Ces types d'appels système sont spécialement utilisés pour la communication inter-processus.
Les fonctions:
- Créer et supprimer des connexions de communication
- Envoyer et recevoir des messages
- Aidez le système d'exploitation à fournir des informations sur l'état du transfert.
- Attacher ou détacher des appareils distants
Règles de transmission des paramètres pour l'appel système
Voici les règles générales pour passer des paramètres à l'appel système :
- Les paramètres doivent être empilés ou dépilés par le système d'exploitation.
- Les paramètres peuvent être transmis dans des registres.
- Lorsqu'il y a plus de paramètres que de registres, ils doivent être stockés dans un bloc, et l'adresse du bloc doit être passée dans un registre.
Appels système importants utilisés dans le système d'exploitation
attendre()
Dans certains systèmes, un processus doit attendre la fin d'un autre. Cela se produit lorsqu'un processus parent crée un processus enfant ; le processus parent reste alors suspendu jusqu'à ce que le processus enfant ait terminé.
La suspension du processus parent s'effectue automatiquement par un appel système wait(). Lorsque le processus enfant termine son exécution, le contrôle est rendu au parent.
fourchette()
Les processus utilisent cet appel système pour créer des copies d'eux-mêmes. Grâce à fork(), un processus parent crée un processus enfant et est suspendu jusqu'à l'exécution de ce dernier.
exécutable()
Cet appel système exécute un fichier exécutable au sein d'un processus déjà en cours d'exécution, remplaçant ainsi l'ancien. L'identifiant du processus d'origine est conservé puisqu'aucun nouveau processus n'est créé, mais la pile, les données, le tas, etc., sont remplacés par le nouveau processus.
tuer()
L'appel système `kill()` est utilisé par le système d'exploitation pour envoyer un signal de terminaison à un processus, l'incitant à s'arrêter. Cependant, un appel système `kill()` n'entraîne pas nécessairement l'arrêt du processus et peut avoir diverses significations.
sortie()
L'appel système `exit()` permet de mettre fin à l'exécution d'un programme. Dans un environnement multithread, cet appel signale la fin de l'exécution d'un thread. Le système d'exploitation libère alors les ressources utilisées par le processus.




