Différence Entre L'appel Système Et L'appel De Fonction

Différence Entre L'appel Système Et L'appel De Fonction
Différence Entre L'appel Système Et L'appel De Fonction

Vidéo: Différence Entre L'appel Système Et L'appel De Fonction

Vidéo: Différence Entre L'appel Système Et L'appel De Fonction
Vidéo: L'appel système wait PS 2024, Novembre
Anonim

Appel système vs appel de fonction

Un processeur typique exécute les instructions une par une. Mais il peut y avoir des occasions où le processeur doit arrêter l'instruction en cours et exécuter un autre programme ou segment de code (résidant à un autre endroit). Après cela, le processeur revient à l'exécution normale et reprend là où il s'était arrêté. Un appel système et un appel de fonction sont de telles occasions. Un appel système est un appel à un sous-programme intégré au système. Un appel de fonction est un appel à un sous-programme dans le programme lui-même.

Qu'est-ce qu'un appel système?

Les appels système fournissent aux programmes exécutés sur l'ordinateur une interface pour communiquer avec le système d'exploitation. Lorsqu'un programme a besoin de demander un service (pour lequel il n'a pas l'autorisation de le faire par lui-même) depuis le noyau du système d'exploitation, il utilise un appel système. Les processus de niveau utilisateur n'ont pas les mêmes autorisations que les processus interagissant directement avec le système d'exploitation. Par exemple, pour communiquer avec un périphérique d'E / S externe ou pour interagir avec tout autre processus, un programme utilise des appels système.

Qu'est-ce qu'un appel de fonction?

Un appel de fonction est également appelé appel de sous-programme. Un sous-programme (également appelé procédure, fonction, méthode ou routine) fait partie d'un programme plus vaste qui est responsable de l'exécution d'une tâche spécifique. Le programme plus volumineux peut exécuter une lourde charge de travail et le sous-programme peut n'effectuer qu'une tâche simple, qui est également indépendante du codage de programme restant. Une fonction est codée de manière à pouvoir être appelée plusieurs fois et à partir d'endroits différents (même à partir d'autres fonctions). Lorsqu'une fonction est appelée, le processeur peut aller là où réside le code de la fonction et exécuter les instructions de la fonction une par une. Après avoir terminé les fonctions, le processeur reviendra exactement là où il s'était arrêté et continuera l'exécution à partir de l'instruction suivante. Les fonctions sont un excellent outil pour la réutilisation du code. De nombreux langages de programmation modernes prennent en charge les fonctions. Une collection de fonctions s'appelle une bibliothèque. Les bibliothèques sont souvent utilisées comme moyen de partage et d'échange de logiciels. Dans certains cas, le programme entier pourrait être une séquence de sous-programmes (par exemple, compilation de code threadé).

Quelle est la différence entre l'appel système et l'appel de fonction?

L'appel système est un appel à un sous-programme intégré au système, tandis qu'un appel de fonction est un appel à un sous-programme dans le programme. Contrairement aux appels de fonction, les appels système sont utilisés lorsqu'un programme doit effectuer une tâche pour laquelle il n'a pas de privilège. Les appels système sont des points d'entrée dans le noyau du système d'exploitation et ne sont pas liés au programme (comme les appels de fonction). Contrairement aux appels système, les appels de fonction sont portables. La surcharge de temps d'un appel système est plus que la surcharge d'un appel de fonction car une transition entre le mode utilisateur et le mode noyau doit avoir lieu. Les appels système sont exécutés dans l'espace d'adressage du noyau, tandis que les appels de fonction sont exécutés dans l'espace d'adressage utilisateur.

Recommandé: