Maison  >  Article  >  Quelle interface le système d’exploitation fournit-il aux programmeurs ?

Quelle interface le système d’exploitation fournit-il aux programmeurs ?

青灯夜游
青灯夜游original
2020-07-23 14:31:1119589parcourir

L'interface fournie par le système d'exploitation aux programmeurs est : l'appel système. L'appel système est un ensemble de tous les appels système fournis par l'implémentation du système d'exploitation, c'est-à-dire l'interface du programme ou l'interface de programmation d'application (Application Programming Interface, API) ;

Quelle interface le système d’exploitation fournit-il aux programmeurs ?

L'appel système est la seule interface fournie par le système d'exploitation aux programmeurs.

La fonction principale du système d'exploitation est de gérer les ressources matérielles et de fournir un bon environnement aux développeurs d'applications afin d'améliorer la compatibilité des applications. Pour atteindre cet objectif, le noyau fournit une série de. des fonctions multi-noyaux avec des fonctions prédéterminées sont présentées à l'utilisateur via un ensemble d'interfaces appelées appels système (appel système). L'appel système transmet la requête de l'application au noyau, appelle la fonction du noyau correspondante pour terminer le traitement requis et renvoie le résultat du traitement au programme d'application.

Les systèmes d'exploitation modernes ont généralement des capacités multitâches, qui sont généralement mises en œuvre par des processus. Étant donné que le système d’exploitation bascule rapidement l’exécution entre chaque processus, tout semblera simultané.

En même temps, cela entraîne également de nombreux problèmes de sécurité. Par exemple, un processus peut facilement modifier les données dans l'espace mémoire du processus pour provoquer un dysfonctionnement d'un autre processus ou atteindre certains objectifs. Le système doit garantir que chaque processus peut être exécuté en toute sécurité. La solution à ce problème consiste à ajouter des registres de base et des registres de limite au processeur.

Le contenu de ces deux registres utilise du matériel pour limiter l'adresse de la mémoire accédée par l'instruction d'accès à la mémoire. De cette manière, lorsque le système change de processus, le contenu de ces deux registres peut être écrit dans la plage d'adresses attribuée au processus, évitant ainsi les logiciels malveillants.

Afin d'empêcher les programmes utilisateur de modifier le contenu du registre de base et du registre limite pour accéder à d'autres espaces mémoire, ces deux registres doivent être accessibles via des instructions spéciales. Habituellement, le processeur a deux modes : "mode utilisateur" et "mode noyau". Un bit de balise est utilisé pour identifier le mode dans lequel il se trouve actuellement. Certaines instructions telles que la modification du contenu du registre d'adresses de base ne peuvent être exécutées qu'en mode noyau. En mode utilisateur, le matériel ignorera directement cette instruction et continuera à exécuter la suivante.

De même, pour des raisons de sécurité, certaines instructions d'opération d'E/S sont limitées à l'exécution uniquement en mode noyau, il est donc nécessaire que le système d'exploitation fournisse des interfaces pour fournir aux applications des fonctions telles que la lecture de données à partir d'un certain emplacement. sur le disque, ces interfaces sont appelées appels système.

Lorsque le système d'exploitation reçoit la demande d'appel système, le processeur passe en mode noyau pour exécuter des instructions telles que des opérations d'E/S et modifier le contenu du registre d'adresses de base après avoir traité le contenu de l'appel système. , l'opération Le système ramènera le processeur en mode utilisateur pour exécuter le code utilisateur.

Pour plus de connaissances connexes, veuillez visiter : Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn