www.wikidata.de-de.nina.az
Everything is a file englisch fur Alles ist eine Datei beschreibt eine der definierenden Eigenschaften von Unix und seinen Abkommlingen demnach Ein Ausgabe Ressourcen wie Dateien Verzeichnisse Gerate z B Festplatten Tastaturen Drucker und sogar Interprozess und Netzwerk Verbindungen als einfache Bytestrome via Dateisystem verfugbar sind 1 Der Vorteil dieses Ansatzes ist dass dieselben Werkzeuge und Programmierschnittstellen fur den Zugriff auf all diese Ressourcen genutzt werden konnen Wenn eine Datei geoffnet wird erhalt das Programm vom Kernel einen Dateideskriptor Fur alle nachfolgenden Operationen dient dieser als Ein Ausgabe Schnittstelle Da auch fur anonyme Pipes und Netzwerk Sockets Dateideskriptoren angelegt werden die jedoch keinen Pfad haben wird das Prinzip des Ofteren auch Everything is a file descriptor Alles ist ein Dateideskriptor oder nach Linus Torvalds Everything is a stream of bytes Alles ist ein Bytestrom 2 genannt Zusatzlich existiert eine Reihe von virtuellen Dateisystemen und Pseudodateisystemen die Informationen uber den Systemzustand und Prozesse hierarchisch strukturiert verfugbar machen Der Begriff wird durchweg als Schlagwort fur die Andersartigkeit von 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 Wahrend die oben genannten Eigenschaften auch heutzutage nur bei unixartigen Betriebssystemen vorzufinden sind und weithin mit everything is a file verbunden werden sind von Unix auch Neuerungen ausgegangen die mittlerweile allgegenwartig sind Die folgenden Abschnitte behandeln die Aspekte im Einzelnen Inhaltsverzeichnis 1 Verzeichnisstruktur als Namensraum 2 Sekundarspeicher und Dateien 3 Gerate 4 Siehe auch 5 EinzelnachweiseVerzeichnisstruktur als Namensraum BearbeitenSiehe auch Namensraum Die Verzeichnisstruktur ist ein einheitlicher hierarchisch gegliederter Namensraum uber den eine Datei einen Pfad erhalt unter dessen Namen sie verfugbar ist Ein Verzeichnis ist eine spezielle Datei die alle enthaltenen Verzeichniseintrage auflistet Darunter konnen sowohl Dateien als auch wieder Verzeichnisse sein Diese sich so ergebende Verzeichnishierarchie kann sich uber verschiedene Gerate erstrecken In dieser Form war das Dateisystem schon in Multics einem Vorlaufer von Unix enthalten 3 Derartige Verzeichnisstrukturen sind mittlerweile weit verbreitet wenn auch mit gewissen Abweichungen Beispielsweise sind sie bei MS DOS und Windows nicht einheitlich Pfade enthalten auch einen geratespezifischen Laufwerksbuchstaben Der Namensraum wird auch von Named Pipes genutzt und dient als Grundlage fur die weit verbreitete System V IPC Schnittstelle bei der existierende Dateien gewissermassen als Treffpunkt zweier Prozesse fungieren 4 Das POSIX Analogon POSIX IPC Namen basieren nicht auf Dateien 5 Sekundarspeicher und Dateien BearbeitenEine weitere 6 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 daruber hinaus in ihrem Format keinen Einschrankungen unterworfen sind im Gegensatz zu damals verbreiteten Datensatz orientierten Dateisystemen 6 Ziel war Geratespezifika einzuebnen von der Speicherorganisation zu abstrahieren und moglichst viele Entscheidungen dem Userspace zu uberlassen 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 Der UNIX Kernel unterstutzt keine Dateizugriffsmethoden Dateidisposition Dateiformate maximale Dateigrosse Spooling Befehlssprache logische Datensatze physische Datensatze 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 Ken Thompson 7 Dieses Verstandnis von Dateien ist heute selbstverstandlich und in den meisten Mainstream Betriebssystemen vorzufinden Gerate Bearbeiten Hauptartikel Geratedatei Die Idee Gerate uber Dateien verfugbar zu machen stammt nach eigenen Angaben von Dennis Ritchie 8 Siehe auch BearbeitenUnix Philosophie Geschichte von Unix Interprozesskommunikation Namenlose PipesEinzelnachweise Bearbeiten Machtelt Garrels Introduction to Linux A Beginner s Guide 2 Auflage Fultus 2007 ISBN 1 59682 112 4 Abschnitt 3 1 1 1 Linus Torvalds signalfd v2 signalfd core Abgerufen am 17 Januar 2013 R C Daley Peter G Neumann A General Purpose File System For Secondary Storage In AFIPS 65 Fall part I Las Vegas 1965 S 213 229 online Siehe ftok Bibliotheksfunktion Marc J Rochkind Advanced UNIX Programming 2 Auflage Addison Wesley 2004 Kapitel 7 6 2 a b Brian W Kernighan Rob Pike The UNIX Programming Environment Prentice Hall 1984 Kapitel 2 Ken Thompson UNIX Implementation In Bell System Technical 1978 Ausgabe 57 S 1931 1946 Dennis Ritchie The Evolution of the Unix Time sharing System In Language Design and Programming Methodology 25 35 Springer Berlin Heidelberg 1980 online Abgerufen von https de wikipedia org w index php title Everything is a file amp oldid 223250415