Étant donné que ces sémantiques nécessitent une création d'instructions d'assemblage non portables, la plupart des utilisateurs seront probablement des auteurs de bibliothèques plutôt que des développeurs d'applications ordinaires. Futex est un seul appel système qui effectue de nombreuses opérations. Cela peut sembler étrange, même perplexe, sinon carrément. Autrement dit. Pour une autre instance, il est peu probable que les programmeurs découvrent car GLIBC le cache, bien que le système d'appel à douille unique implémente toutes les fonctions liées à la prise. En conséquence, si les threads y accédent en un seul processus, il peut être spécifié en tant que variable globale ou stocké dans un segment de mémoire partagé si les threads de divers processus l'utilisent. Un état mis à jour dans l'espace utilisateur à l'aide des opérations atomiques est stocké dans la variable partagée. Il n'y a pas besoin d'un appel système lorsque l'État dit qu'il n'y a pas de conflit. Si la condition indique une affirmation, de l'autre côté, un appel système Futex est fait pour endormir la tâche d'appel.
Exemple pour expliquer l'appel du système Futex () dans le langage C
Pour comprendre l'appel du système Futex () dans le langage C, nous avons installé Ubuntu 20.04 Système d'exploitation Linux. Créer un fichier intitulé «FC.C ". Le titre du fichier peut être modifié, mais l'extension restera la même. Alors d'abord, ouvrez la coque de l'ubuntu 20 installé.04 Système d'exploitation Linux en le trouvant dans la «applications» ou en vérifiant la clé «Ctrl + Alt + T». Une fois ouvert, exécutez l'instruction apposée dans le terminal de l'ubuntu 20 installé.04 Système d'exploitation Linux.
$ nano fc.cVous ne pouvez confirmer l'exécution réussie du fichier que si vous obtenez l'éditeur GNU Nano sur votre écran. Vous devez maintenant écrire le code affiché dans la capture d'écran ci-jointe. Ceci est l'un des exemples les plus élémentaires d'appel du système Futex ().
est un fichier contenant des déclarations pour diverses fonctions et macros qui sont nécessaires pour recevoir les entrées des entrées et afficher la sortie de la fenêtre de sortie du programme C. Il n'est pas nécessaire d'ajouter «stdio. H ”car nous pouvons fournir des commentaires au programme C à l'aide de tout autre programme, tel que DOS, et de stocker les résultats. L'en-tête fournit et déclare une variété de constantes et de types symboliques, ainsi qu'une variété de fonctions. SyScall () est une petite fonction de bibliothèque qui appelle l'appel système avec le montant demandé des arguments et l'interface de langue d'assemblage donnée. Une fois que vous comprenez le code ci-dessus, vous êtes prêt à vérifier la sortie. Nous avons installé un compilateur GCC pour la compilation du code. Le compilateur GNU C, ou GCC, est le compilateur le plus célèbre et le plus utilisé parmi les programmeurs qui utilisent C comme langage de programmation. GCC est un compilateur accessible qui est livré avec toutes les distributions Linux gratuitement. Exécutez maintenant la commande annexe dans le terminal de l'ubuntu 20.04 Système Linux.
$ gcc fc.cLa sortie peut être vue dans l'image ci-dessus.
Conclusion
Cet article a fourni une brève introduction de l'appel du système Futex () dans le langage de programmation C. Nous avons un exemple simple et bref d'appel système Futex (). La mise en œuvre des mêmes exemples et l'ajout de peu de modifications peuvent vous aider à comprendre l'appel du système Futex () dans le langage de programmation C.