<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Futex</id>
	<title>Futex - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Futex"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Futex&amp;action=history"/>
	<updated>2026-05-30T00:02:15Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Futex&amp;diff=1373468&amp;oldid=prev</id>
		<title>imported&gt;GünniX: Archivlink geprüft</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Futex&amp;diff=1373468&amp;oldid=prev"/>
		<updated>2025-12-14T14:47:41Z</updated>

		<summary type="html">&lt;p&gt;Archivlink geprüft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;Futex&amp;#039;&amp;#039;&amp;#039; ({{enS|&amp;#039;&amp;#039;fast userspace mutual exclusion&amp;#039;&amp;#039;}} etwa „schneller gegenseitiger Ausschluss im Userspace“) ist ein [[Mutex]]-[[Lock]]ingmechanismus, der vom [[Betriebssystem]] [[Linux]] unterstützt wird. Die Besonderheit der Futex-Implementierung liegt darin, dass ein Großteil der Operationen im [[Userspace]] ausgeführt wird, und dadurch [[Aufwandsschätzung (Softwaretechnik)|teure]] Aufrufe des [[Kernel (Betriebssystem)|Kernel]]s vermieden werden. Im Gegensatz zum Mutex dient ein Futex deshalb zur Synchronisation von zu einem Prozess gehörenden [[Thread (Informatik)|Threads]].&lt;br /&gt;
&lt;br /&gt;
Die Implementierung stammt von [[Hubertus Franke]] ([[IBM Thomas J. Watson Research Center]]), [[Matthew Kirkwood]], [[Ingo Molnár]] ([[Red Hat]]) und [[Rusty Russell]] ([[IBM Linux Technology Center]]), und wurde ab Version 2.5.7 Teil des [[Linux-Kernel]]s.&amp;lt;ref&amp;gt;Hubertus Franke, Rusty Russell, Matthew Kirkwood,  {{Webarchiv|text=Fuss, futexes and furwocks: Fast Userlevel Locking in Linux |url=http://www.linux.org.uk/~ajh/ols2002_proceedings.pdf.gz |wayback=20060922034808 }}, Ottawa Linux Symposium, 2002.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie ein [[Mutex]] ist ein Futex eine Speicherstelle, die von verschiedenen Prozessen durch Sperr- und Entsperroperationen &amp;#039;&amp;#039;(lock/unlock)&amp;#039;&amp;#039; [[Atomare Operation|atomar]] verändert wird. Die Sperroperation stellt dabei sicher, dass alle Prozesse blockiert werden, die einen schon gesperrten Futex selbst sperren möchten &amp;#039;&amp;#039;(gegenseitiger Ausschluss)&amp;#039;&amp;#039;. Im Gegensatz zu Mutexen werden die Futex-Operationen aber in den statistisch relevanten Fällen im User Space (d.&amp;amp;nbsp;h. direkt vom laufenden Programm) ausgeführt und der Kernel nur dann aufgerufen, wenn ein Prozess blockiert oder aktiviert werden muss.&lt;br /&gt;
&lt;br /&gt;
Linux unterstützt Futexe für die meisten, aber nicht für alle Prozessor-Architekturen.&lt;br /&gt;
&lt;br /&gt;
Im Allgemeinen implementiert ein User-Programm die Futex-Operationen nicht direkt, sondern es verwendet die &amp;quot;pthread_mutex...()&amp;quot; Funktionen in libc, die automatisch je nach Prozessor-Architektur Futexe oder eine interprozess-Mutex-Implementierung verwenden.&lt;br /&gt;
&lt;br /&gt;
Dadurch, dass nicht bei jedem Aufruf das Betriebssystem involviert ist, sind Futexe im Allgemeinen effizienter. Da das Betriebssystem aber nicht mehr die Kontrolle über alle [[Lock]]s hat, kam es in der Anfangsphase teilweise zu Problemen, wenn Prozesse mit gesperrtem Futex abgestürzt sind.&amp;lt;ref&amp;gt;Ingo Molnár, [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/locking/robust-futexes.rst Robust futexes], &amp;#039;&amp;#039;Linux Kernel Documentation.&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt; Diese Probleme wurden durch &amp;#039;&amp;#039;robuste Futexe&amp;#039;&amp;#039; behoben, die Verwendung von Futexen verlangt aber trotzdem erhöhte Aufmerksamkeit.&amp;lt;ref&amp;gt;Ulrich Drepper, [https://akkadia.org/drepper/futex.pdf Futexes Are Tricky], Red Hat, 2008 (PDF, 190&amp;amp;nbsp;kB).&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Parallelverarbeitung]]&lt;br /&gt;
[[Kategorie:Linux]]&lt;br /&gt;
[[Kategorie:Betriebssystemtheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;GünniX</name></author>
	</entry>
</feed>