Questions concernant les détails de la façon dont un programme utilise les appels système pour interagir avec l'API du noyau, quels appels sont disponibles, comment ils fonctionnent, etc.
J'essaie de comprendre comment une fonction, disons mkdir, fonctionne en regardant la source du noyau. Ceci est une tentative de comprendre les éléments internes du noyau et de naviguer entre différentes fonctions. Je sais mkdirest défini dans sys/stat.h. J'ai trouvé le prototype: /* Create a new directory named PATH, with …
En include/x86_64-linux-gnu/asm/unistd_64.h, je vois un appel système nommé tuxcall, #define __NR_tuxcall 184 Il n’ya rien à ce sujet à man tuxcallpart dire que c’est un appel système non implémenté . Qu'a-t-il fait? Cela n'a-t-il jamais été mis en œuvre ou at-il fait quelque chose dans l'Antiquité?
Quelle est la raison d'utiliser de tels noms d'appel système peu révélateurs comme timeet creatau lieu de getCurrentTimeSecset createFileou, peut-être plus appropriés sous Unix get_current_time_secset create_file. Ce qui m'amène au point suivant: pourquoi quelqu'un voudrait-il quelque chose comme cfsetospeedsans étui à chameaux ou au moins soulignés pour le rendre lisible? …
Je sais que l'interface d'appel système est implémentée à un niveau bas et dépend donc de l'architecture / de la plateforme, pas du code "générique". Cependant, je ne vois pas clairement pourquoi les appels système dans les noyaux Linux 32 bits x86 ont des numéros qui ne sont pas conservés …
En lisant les pages de manuel sur les appels read()et, write()il apparaît que ces appels sont interrompus par des signaux, qu'ils soient bloqués ou non. En particulier, supposons un processus établit un gestionnaire pour un certain signal. un appareil est ouvert (disons un terminal) avec le O_NONBLOCK non réglé (c'est-à-dire …
Avertissement: l'exécution de cette commande dans la plupart des shells entraînera un système défectueux qui nécessitera un arrêt forcé pour être corrigé Je comprends la fonction récursive :(){ :|: & };:et ce qu'elle fait. Mais je ne sais pas où est l'appel système fork. Je ne suis pas sûr, mais …
De man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds est le descripteur de fichier le plus numéroté dans l'un des trois ensembles, plus 1. À quoi sert nfds, lorsque nous en avons déjà readfds, writefdset à exceptfdspartir duquel les descripteurs de fichiers peuvent …
man getrusage 2 dit ru_maxrss (since Linux 2.6.32) This is the maximum resident set size used (in kilobytes). For RUSAGE_CHILDREN, this is the resident set size of the largest child, not the maximum resident set size of the process tree. Alors, que signifie exactement ce nombre?
Quand je viens d'utiliser de la pipe en bash, je n'y ai pas pensé davantage. Mais quand j'ai lu un exemple de code C utilisant pipe () d'appel système avec fork (), je me demande comment comprendre les pipes, y compris les pipes anonymes et les pipes nommées. On entend …
La documentation Perl 5.x indique que son implémentation de flock (..) utilisera l'un des appels natifs suivants, commençant à 1 et progressant vers 3 s'il n'est pas disponible: troupeau (2) fcntl (2) lockf (3) C'est très bien. Cependant, vous avez peut-être remarqué leur exclusion de responsabilité selon laquelle flock (2) …
Je lis l'article Wikipedia sur la gestion des processus . Je me concentre sur Linux. Je ne peux pas comprendre la relation et les différences entre l'appel système, le passage de message et l'interruption, dans leurs concepts et objectifs. S'agit-il tous de processus pour faire des requêtes au noyau pour …
Je voudrais comprendre le terme «appel système». Je sais que les appels système sont utilisés pour obtenir les services du noyau à partir d'une application en espace utilisateur. La partie sur laquelle j'ai besoin d'éclaircissements est la différence entre un "appel système" et une "implémentation C de l'appel système". Voici …
Sous Linux (mes serveurs en direct sont sur RHEL 5.5 - les liens LXR ci-dessous sont vers la version du noyau), man 7 ipdit: Une adresse de socket local TCP qui a été liée n'est pas disponible pendant un certain temps après la fermeture, sauf si l'indicateur SO_REUSEADDR a été …
Quelle est la différence entre les appels système lents et les appels système rapides? J'ai appris qu'un appel système lent peut bloquer si le processus capte certains signaux, car les signaux capturés peuvent réveiller l'appel système bloqué, mais je ne comprends pas exactement ce mécanisme. Tous les exemples seraient appréciés.
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.