Fragen zu den Details, wie ein Programm Systemaufrufe verwendet, um mit der Kernel-API zu interagieren, welche Aufrufe verfügbar sind, wie sie funktionieren usw.
Ich versuche zu verstehen, wie eine Funktion funktioniert, mkdirindem ich mir die Kernelquelle anschaue. Dies ist ein Versuch, die Kernel-Interna zu verstehen und zwischen verschiedenen Funktionen zu navigieren. Ich weiß, mkdirist definiert in sys/stat.h. Ich habe den Prototyp gefunden: /* Create a new directory named PATH, with permission bits MODE. …
Zum Beispiel habe ich gitauf meinem System installiert. Aber ich kann mich nicht erinnern, wo ich es installiert habe. Welcher Befehl ist also geeignet, um dies herauszufinden?
In include/x86_64-linux-gnu/asm/unistd_64.hsehe ich einen Systemaufruf mit dem Namen tuxcall, #define __NR_tuxcall 184 Es ist nichts dran,man tuxcall außer zu sagen, dass es sich um nicht implementierte Systemaufrufe handelt . Was hat es gemacht? Wurde es nie implementiert oder hat es in der Antike etwas getan?
Was ist der Grund für die Verwendung solcher aufschlussreichen Systemaufrufnamen wie timeund creatanstelle von getCurrentTimeSecsund createFileoder, vielleicht besser geeignet für Unix get_current_time_secsund create_file. Was mich zum nächsten Punkt bringt: Warum sollte jemand etwas cfsetospeedohne Kamelkasten oder zumindest Unterstriche wollen, um es lesbar zu machen? Natürlich hätten die Aufrufe mehr Zeichen, …
Ich weiß, dass die Systemaufrufschnittstelle auf einer niedrigen Ebene implementiert ist und daher architektur- / plattformabhängiger, nicht "generischer" Code. Ich kann jedoch nicht klar erkennen, warum Systemaufrufe in Linux-32-Bit-x86-Kerneln Nummern haben, die in der ähnlichen Architektur von Linux-64-Bit-x86_64 nicht gleich bleiben. Was ist die Motivation / der Grund für diese …
Beim Lesen der Manpages auf den read()und write()-Anrufen scheint es, dass diese Anrufe durch Signale unterbrochen werden, unabhängig davon, ob sie blockiert werden müssen oder nicht. Insbesondere annehmen Ein Prozess erstellt einen Handler für ein Signal. Ein Gerät wird geöffnet (z. B. ein Terminal), wenn es O_NONBLOCK nicht eingestellt ist …
Warnung: Das Ausführen dieses Befehls in den meisten Shells führt zu einem Systemausfall, für dessen Behebung ein erzwungenes Herunterfahren erforderlich ist Ich verstehe die rekursive Funktion :(){ :|: & };:und was sie tut. Aber ich weiß nicht, wo der Anruf beim Gabelsystem ist. Ich bin mir nicht sicher, aber ich …
Von man select int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds ist der Dateideskriptor mit der höchsten Nummer in einem der drei Sätze plus 1. Wofür nfdshaben wir, wenn schon readfds, writefdsund exceptfdsworaus können die Dateideskriptoren ermittelt werden?
man getrusage 2 sagt 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. Was bedeutet diese Zahl genau?
Als ich gerade Pipe in Bash verwendet habe, habe ich nicht mehr darüber nachgedacht. Wenn ich jedoch ein C-Codebeispiel mit system call pipe () zusammen mit fork () lese, frage ich mich, wie ich Pipes verstehen kann, einschließlich anonymer Pipes und Named Pipes. Es ist oft zu hören, dass "alles …
In der Perl 5.x-Dokumentation wird angegeben, dass für die Implementierung von flock (..) einer der folgenden systemeigenen Aufrufe verwendet wird, die bei 1 beginnen und bei Nichtverfügbarkeit bei 3 arbeiten: Herde (2) fcntl (2) Schloss (3) Das ist gut. Möglicherweise haben Sie jedoch deren Haftungsausschluss bemerkt, dass flock (2) nicht …
Ich lese den Wikipedia-Artikel zum Prozessmanagement . Mein Fokus liegt auf Linux. Ich kann die Beziehung und Unterschiede zwischen Systemaufruf, Nachrichtenübergabe und Unterbrechung in ihren Konzepten und Zwecken nicht herausfinden. Sind sie alle für Prozesse, um Anfragen an den Kernel für Ressourcen und Services zu richten? Einige Zitate aus dem …
Ich möchte den Begriff "Systemaufruf" verstehen. Ich weiß, dass Systemaufrufe verwendet werden, um Kernel-Services von einer Userspace-Anwendung abzurufen. Der Teil, den ich klären muss, ist der Unterschied zwischen einem "Systemaufruf" und einer "C-Implementierung des Systemaufrufs". Hier ist ein Zitat, das mich verwirrt: Auf Unix-ähnlichen Systemen ist diese API in der …
Unter Linux (meine Live-Server sind auf RHEL 5.5 - die folgenden LXR-Links verweisen auf die Kernel-Version), man 7 ipheißt es: Eine gebundene lokale TCP-Socket-Adresse ist nach dem Schließen einige Zeit lang nicht verfügbar, es sei denn, das Flag SO_REUSEADDR wurde gesetzt. Ich benutze nicht SO_REUSEADDR. Wie lang ist "einige Zeit"? …
Was ist der Unterschied zwischen langsamen und schnellen Systemaufrufen? Ich habe gelernt, dass langsame Systemaufrufe blockieren können, wenn der Prozess einige Signale empfängt, weil die abgefangenen Signale den blockierten Systemaufruf möglicherweise aufwecken, aber ich kann diesen Mechanismus nicht genau verstehen. Irgendwelche Beispiele wären willkommen.
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.