<?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=Everything_is_a_file</id>
	<title>Everything is a file - 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=Everything_is_a_file"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Everything_is_a_file&amp;action=history"/>
	<updated>2026-06-05T21:27:10Z</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=Everything_is_a_file&amp;diff=2765859&amp;oldid=prev</id>
		<title>imported&gt;Ulanwp: 2 fehlende Sprachparameter eingefügt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Everything_is_a_file&amp;diff=2765859&amp;oldid=prev"/>
		<updated>2026-02-02T09:50:49Z</updated>

		<summary type="html">&lt;p&gt;2 fehlende Sprachparameter eingefügt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{lang|en|&amp;#039;&amp;#039;&amp;#039;Everything is a file&amp;#039;&amp;#039;&amp;#039;}} ({{enS}} für &amp;#039;&amp;#039;Alles ist eine [[Datei]]&amp;#039;&amp;#039;) beschreibt eine der definierenden Eigenschaften von [[Unix]] und seinen [[Geschichte von Unix|Abkömmlingen]], demnach Ein-/Ausgabe-Ressourcen wie Dateien, Verzeichnisse, Geräte (z.&amp;amp;nbsp;B. Festplatten, Tastaturen, Drucker) und sogar [[Pipe (Informatik)|Interprozess-]] und [[Socket (Software)|Netzwerk]]-Verbindungen als einfache [[Datenstrom|Byteströme]] via [[Dateisystem]] verfügbar sind.&amp;lt;ref&amp;gt;{{Literatur |Autor=Machtelt Garrels |Titel=Introduction to Linux. A Beginner’s Guide |Auflage=2. |Verlag=Fultus |Datum=2007 |ISBN=1-59682-112-4 |Kapitel=Abschnitt 3.1.1.1 |Sprache=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Vorteil dieses Ansatzes ist, dass dieselben [[Unix-Kommandos|Werkzeuge]] und [[Systemaufruf|Programmierschnittstellen]] für den Zugriff auf all diese Ressourcen genutzt werden können. Wenn eine Datei geöffnet wird, erhält das Programm vom [[Kernel (Betriebssystem)|Kernel]] einen [[Handle|Dateideskriptor]]. Für alle nachfolgenden Operationen dient dieser als Ein-/Ausgabe-Schnittstelle. Da auch für anonyme [[Pipe (Informatik)|Pipes]] und Netzwerk-[[Socket (Software)|Sockets]] Dateideskriptoren angelegt werden, die jedoch keinen Pfad haben, wird das Prinzip des Öfteren auch {{lang|en|&amp;#039;&amp;#039;Everything is a file descriptor&amp;#039;&amp;#039;}} (‚Alles ist ein Dateideskriptor‘) oder, nach [[Linus Torvalds]], {{lang|en|&amp;#039;&amp;#039;Everything is a stream of bytes&amp;#039;&amp;#039;}} (‚Alles ist ein [[Datenstrom|Bytestrom]]‘)&amp;lt;ref&amp;gt;{{cite web |first=Linus |last=Torvalds |url=http://yarchive.net/comp/linux/everything_is_file.html |title=signalfd v2 – signalfd core |access-date=2013-01-17 |language=en}}&amp;lt;/ref&amp;gt; genannt.&lt;br /&gt;
&lt;br /&gt;
Zusätzlich existiert eine Reihe von virtuellen Dateisystemen und Pseudodateisystemen, die Informationen über den Systemzustand und Prozesse hierarchisch strukturiert verfügbar machen.&lt;br /&gt;
&lt;br /&gt;
Der Begriff wird durchweg als Schlagwort für die Andersartigkeit von [[Unixoides System|unixoiden Systemen]] im Umgang mit Dateien verwendet. Er ist jedoch nicht scharf abgegrenzt und zielt, wie oben angedeutet, je nach Verwendung auf verschiedene Aspekte ab. Während die oben genannten Eigenschaften auch heutzutage nur bei unixartigen Betriebssystemen vorzufinden sind und weithin mit {{lang|en|&amp;#039;&amp;#039;everything is a file&amp;#039;&amp;#039;}} verbunden werden, sind von Unix auch Neuerungen ausgegangen, die mittlerweile allgegenwärtig sind. Die folgenden Abschnitte behandeln die Aspekte im Einzelnen.&lt;br /&gt;
&lt;br /&gt;
== Verzeichnisstruktur als Namensraum ==&lt;br /&gt;
{{Siehe auch|Namensraum}}&amp;lt;!-- {{Siehe auch|Unix-Dateirechte}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verzeichnisstruktur ist ein einheitlicher, hierarchisch gegliederter [[Namensraum]], über den eine Datei einen Pfad erhält, unter dessen&lt;br /&gt;
Namen sie verfügbar ist. Ein Verzeichnis ist eine spezielle Datei, die alle enthaltenen Verzeichniseinträge auflistet. Darunter können sowohl Dateien als auch wieder Verzeichnisse sein. Diese sich so ergebende Verzeichnishierarchie kann sich über verschiedene Geräte erstrecken. In dieser Form war das Dateisystem schon in [[Multics]], einem Vorläufer von Unix, enthalten.&amp;lt;ref&amp;gt;R. C. Daley, Peter G. Neumann: &amp;#039;&amp;#039;A General-Purpose File System For Secondary Storage.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;AFIPS &amp;#039;65 (Fall, part I).&amp;#039;&amp;#039; Las Vegas 1965, S. 213–229 ([http://www.multicians.org/fjcc4.html online]).&amp;lt;/ref&amp;gt; Derartige Verzeichnisstrukturen sind mittlerweile weit verbreitet, wenn auch mit gewissen Abweichungen. Beispielsweise sind sie bei [[MS-DOS]] und [[Microsoft Windows|Windows]] nicht einheitlich: Pfade enthalten auch einen gerätespezifischen [[Laufwerksbuchstabe#Laufwerksbuchstaben|Laufwerksbuchstaben]].&lt;br /&gt;
&lt;br /&gt;
Der Namensraum wird auch von [[Pipe (Informatik)#Unix|Named Pipes]] genutzt und dient als Grundlage für die weit verbreitete [[System V|System-V]]-[[Interprozesskommunikation|IPC]]-Schnittstelle, bei der existierende Dateien gewissermaßen als Treffpunkt zweier Prozesse fungieren.&amp;lt;ref&amp;gt;Siehe [http://linux.die.net/man/3/ftok ftok()] Bibliotheksfunktion&amp;lt;/ref&amp;gt; Das [[Portable Operating System Interface|POSIX]]-Analogon, POSIX-IPC-Namen, basieren nicht auf Dateien.&amp;lt;ref&amp;gt;Marc J. Rochkind: &amp;#039;&amp;#039;Advanced UNIX Programming.&amp;#039;&amp;#039; 2. Auflage, Addison-Wesley, 2004, Kapitel 7.6.2.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;!-- Der Zugriff auf eine Datei wird hinsichtlich [[Unix-Dateirechte|Berechtigung]] kontrolliert. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sekundärspeicher und Dateien ==&lt;br /&gt;
Eine weitere&amp;lt;ref name=&amp;quot;unix environment&amp;quot;&amp;gt;[[Brian W. Kernighan]], [[Rob Pike]]: &amp;#039;&amp;#039;The UNIX Programming Environment.&amp;#039;&amp;#039; Prentice Hall, 1984, Kapitel 2.&amp;lt;/ref&amp;gt; Lesart des Prinzips, die heute nicht mehr verbreitet ist, bezieht sich auf die Neuerung, dass Dateien unter UNIX aus einer einfachen Aneinanderreihung von Bytes bestehen und darüber hinaus in ihrem Format keinen Einschränkungen unterworfen sind (im Gegensatz zu damals verbreiteten Datensatz-orientierten Dateisystemen).&amp;lt;ref name=&amp;quot;unix environment&amp;quot; /&amp;gt; Ziel war, Gerätespezifika einzuebnen, von der Speicherorganisation zu abstrahieren und möglichst viele Entscheidungen dem [[Userspace]] zu überlassen:&lt;br /&gt;
&lt;br /&gt;
{{Zitat&lt;br /&gt;
 |Text=[…] the UNIX kernel does not support file access methods, file disposition, file formats, file maximum size, spooling, command language, logical records, physical records, assignment of logical file names, logical file names, more than one character set, an operator’s console, an operator, log-in, or log-out. Many of these things are symptoms rather than features. Many of these things are implemented in user software using the kernel as a tool.&lt;br /&gt;
 |Sprache=en&lt;br /&gt;
 |Autor=[[Ken Thompson]]&lt;br /&gt;
 |Übersetzung=[...] Der UNIX-Kernel unterstützt keine Dateizugriffsmethoden, Dateidisposition, Dateiformate, maximale Dateigröße, Spooling, Befehlssprache, logische Datensätze, physische Datensätze, Zuweisung logischer Dateinamen, logische Dateinamen, mehr als einen Zeichensatz, eine Operatorkonsole, einen Operator, eine An- oder Abmeldung. Viele dieser Dinge sind eher Symptome als Merkmale. Viele dieser Dinge sind in Benutzersoftware implementiert, die den Kernel als Werkzeug verwendet.&lt;br /&gt;
 |ref=&amp;lt;ref&amp;gt;Ken Thompson: &amp;#039;&amp;#039;UNIX Implementation.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Bell System Technical.&amp;#039;&amp;#039; 1978, Ausgabe 57, S. 1931–1946.&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Dieses Verständnis von Dateien ist heute selbstverständlich und in den meisten Mainstream-Betriebssystemen vorzufinden.&lt;br /&gt;
&lt;br /&gt;
== Geräte ==&lt;br /&gt;
{{Hauptartikel|Gerätedatei}}&lt;br /&gt;
&lt;br /&gt;
Die Idee, [[Hardware|Geräte]] über Dateien verfügbar zu machen, stammt nach eigenen Angaben von [[Dennis Ritchie]].&amp;lt;ref&amp;gt;Dennis Ritchie: &amp;#039;&amp;#039;The Evolution of the Unix Time-sharing System.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Language Design and Programming Methodology.&amp;#039;&amp;#039; 25–35, Springer, Berlin/Heidelberg 1980, ([https://www.bell-labs.com/usr/dmr/www/hist.html online]).&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Unix-Philosophie]]&lt;br /&gt;
* [[Geschichte von Unix]]&lt;br /&gt;
* [[Interprozesskommunikation#(Namenlose) Pipes]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Unix]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:Betriebssystemtheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ulanwp</name></author>
	</entry>
</feed>