Da diese Semantik nicht portable Montageanweisungen erfordern, sind die meisten Benutzer höchstwahrscheinlich eher Bibliotheksautoren als gewöhnliche Anwendungsentwickler. Futex ist ein einzelner Systemaufruf, der viele Vorgänge ausführt. Das mag seltsam erscheinen, sogar verwirrend, wenn nicht geradezu. Das heißt denn. Für eine andere Instanz ist es unwahrscheinlich. Wenn Threads in einem einzigen Prozess darauf zugreifen, kann es als globale Variable angegeben oder in einem gemeinsam genutzten Speichersegment gespeichert werden. Ein im UserSpace über Atomoperationen aktualisierter Status wird in der gemeinsam genutzten Variablen gespeichert. Es besteht kein Systemanruf, wenn der Staat sagt, dass es keinen Konflikt gibt. Wenn die Bedingung auf der anderen Seite eine Konsequenz anzeigt.
Beispiel zum Erklären von FUTEX () -Systemaufruf in C -Sprache
Um den Futex () -Systemanruf in C -Sprache zu verstehen, haben wir Ubuntu 20 installiert.04 Linux -Betriebssystem. Erstellen Sie eine Datei mit dem Titel „FC).C". Der Titel der Datei kann geändert werden, aber die Erweiterung bleibt gleich. Öffnen Sie also zunächst die Hülle der installierten Ubuntu 20.04 Linux -Betriebssystem, indem Sie es in den „Anwendungen“ finden oder die Taste „Strg+Alt+T“ überprüfen. Leiten Sie nach der Öffnung die angebotene Anweisung im Terminal des installierten Ubuntu 20 aus.04 Linux -Betriebssystem.
$ nano fc.CSie können die erfolgreiche Ausführung der Datei nur bestätigen, wenn Sie den GNU -Nano -Editor auf Ihrem Bildschirm erhalten. Jetzt müssen Sie den im angehängten Screenshot angezeigten Code schreiben. Dies ist eines der grundlegendsten Beispiele für Futex () -Systemanrufe.
ist eine Datei, die Deklarationen für verschiedene Funktionen und Makros enthält, die für die Empfangen von Eingaben aus Eingängen erforderlich sind und die Ausgabe im Ausgangsfenster des C -Programms angezeigt haben. Es ist unnötig, „Stdio zu fügen. H ”, da wir mit einem anderen Programm wie DOS Eingaben in das C -Programm bereitstellen und Ergebnisse speichern können. Der Header bietet eine Vielzahl symbolischer Konstanten und Typen sowie eine Vielzahl von Funktionen. syScall () ist eine winzige Bibliotheksfunktion, die den Systemanruf mit der angeforderten Menge an Argumenten und der angegebenen Montage -Schnittstelle aufruft. Sobald Sie den oben genannten Code verstanden haben, können Sie die Ausgabe überprüfen. Wir haben einen GCC -Compiler für die Zusammenstellung von Code installiert. Der GNU C -Compiler (GCC) ist der berühmteste und ausführlichste verwendete Compiler unter Programmierern, die C als Programmiersprache verwenden. GCC ist ein zugänglicher Compiler, der mit allen Linux -Verteilungen kostenlos geliefert wird. Führen Sie nun den angehängten Befehl im Terminal des Ubuntu 20 aus.04 Linux -System.
$ GCC FC.CDie Ausgabe ist im oben genannten Bild zu sehen.
Abschluss
Dieser Artikel lieferte eine kurze Einführung des FUTEX () -Systemaufrufs in C -Programmiersprache. Wir haben ein einfaches und kurzes Beispiel für einen Futex () -Systemanruf. Durch die Implementierung der gleichen Beispiele und das Hinzufügen von geringen Änderungen können Sie FUTEX () -Systemanrufe in der C -Programmiersprache verstehen.