Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Folie 1 Betriebssysteme 1 Thomas Kolarz
Folie 2 Betriebssysteme 1 Thomas Kolarz
Betriebssysteme I -‐ Inhalt
0. Einführung, Geschichte und Überblick 1. Prozesse und Threads
(die AbstrakFon der CPU)
2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers)
3. Dateisysteme (die AbstrakFon der PlaPe)
4. Eingabe und Ausgabe
5. VerFefung am Beispiel von Linux
6. Virtuelle Maschinen und Verteilte Systeme
Folie 3
Einleitung -‐ Geschichte -‐ Linux SchniPstellen -‐ Linux Kernstruktur
Prozesse und Threads in Linux -‐ Prozesse in Linux -‐ Prozesserzeugung mit f o r k -‐ Threads in Linux -‐ Der System Call c l o n e -‐ Scheduling und Prioritätenklassen -‐ Die Linux Run-‐Queue -‐ StaFsche und Dynamische Prioritäten
Signale und Pipes in Linux -‐ Signale in Linux -‐ Der Signal System Call -‐ Signalgruppen und SignalfunkFonen -‐ (namenlose) Pipes -‐ Benannte Pipes (FIFOs)
Betriebssysteme 1 Thomas Kolarz
5. Ver@efung am Beispiel von Linux
Folie 4
Linux Bootvorgang -‐ Phase 1: HW-‐Boot -‐ Phase 2: Bootcode -‐ Phase 3: Start des Kernels -‐ Phase 4: init-‐Prozess -‐ Phase 5: Bootskripte
Linux Speicherverwaltung -‐ Speicherverwaltung in Linux -‐ Segmente in Linux -‐ Memory-‐mapped Dateien -‐ Systemaufrufe zur Speicherverwaltung -‐ ImplemenFerung der Speicherverwaltung -‐ Verwaltung des physischen Speichers -‐ Seitendeskriptoren -‐ Zonendeskriptoren -‐ Knotendeskriptoren -‐ Verwaltung des virtuellen Speichers -‐ vm_area_struct Einträge -‐ Paging in Linux -‐ Der Seitenersetzungsalgorithmus
Betriebssysteme 1 Thomas Kolarz
5. Ver@efung am Beispiel von Linux
Folie 5
Linux Dateisysteme -‐ Dateien -‐ Links -‐ Zeichen-‐ und Blockdateien -‐ Mounten von Dateisystemen -‐ Einige wichFge Verzeichnisse -‐ Dateisystem Systemaufrufe -‐ Das VFS von Linux -‐ Das ext2-‐Dateisystem -‐ Zugriff auf eine Datei -‐ Audau einer Verzeichnisdatei -‐ Das Öffnen einer Datei -‐ I-‐Node Struktur -‐ Filedeskriptoren -‐ Open File DescripFon Table -‐ Journaling Dateisysteme -‐ ext3, ext4 und ReiserFS -‐ Das /proc-‐Dateisystem -‐ NFS (Network File System)
Betriebssysteme 1 Thomas Kolarz
5. Ver@efung am Beispiel von Linux
Folie 6
Ein-‐/Ausgabe in Linux -‐ ImplemenFerung der Ein-‐/Ausgabe -‐ Spezialdateien -‐ Blockdateien -‐ Zeichendateien -‐ Hauptgeräte-‐ und Nebengerätenummer -‐ Gerätetreiber und FunkFonsprinzip -‐ Linux Kernmodule -‐ Beispiel NetzwerkimplemenFerung -‐ Sockets -‐ Socket-‐Typen
Sicherheit in Linux -‐ Benutzer (UID und GID) -‐ Schutzrechte -‐ SETUID-‐Bit -‐ Sicherheits-‐Systemaufrufe -‐ Erweiterte Schutzrechte -‐ Beispiel: login-‐Prozess -‐ Access Control Lists
Betriebssysteme 1 Thomas Kolarz
5. Ver@efung am Beispiel von Linux
Folie 7
Datei
Eine Datei in Linux ist eine Folge von 0 oder mehr Bytes, die beliebige InformaFonen enthalten.
Betriebssysteme 1 Thomas Kolarz
Linux Dateisysteme
Es wird zunächst keine Unterscheidung zwischen ASCII-‐, Binär-‐ und sonsFgen Dateien getroffen.
Dateinamen sind auf 255 Zeichen begrenzt (inkl. Erweiterungen). Alle ASCII-‐Zeichen ausser „blank“ sind erlaubt.
Dateiendungen (hinter dem Punkt) können beliebig lang sein und Dateien können mehrere Endungen haben (z.B. prog.c.txt.gz). KonvenFonen für die Endungen werden vom BS nicht erzwungen.
Folie 8 Betriebssysteme 1 Thomas Kolarz
Links
Folie 9 Betriebssysteme 1 Thomas Kolarz
Links
Symbolische Links
Spiegelt das Objekt scheinbar an einer besFmmten Stelle des Dateisystems.
Es wird ein eigener I-‐Node angelegt, der den Namen (vollständigen Pfad) der Datei enthält auf die verwiesen wird, bzw. auf den Pfad zeigt.
Wird das Ziel gelöscht , dann verbleibt der Link, zeigt jedoch ins Leere.
Ein Link stellt eine Verbindung zwischen Filesystem-‐Objekten her.
Folie 10 Betriebssysteme 1 Thomas Kolarz
Links
Harte Links
Ein harter Link entspricht einem weiteren Dateinamen für eine vorhandene Datei. Es gibt keinen eigenen I-‐Node, der exisFerende I-‐Node der Datei wird genutzt.
In diesem I-‐Node gibt es einen Zähler, der für jeden Link um 1 erhöht wird. Dieser steht ursprünglich auf 1 für den eigentlichen Namen der Datei.
Ist z.B. eine Datei unter dem Namen A als auch unter dem harten Link B erreichbar, dann wird die Datei und der zugehörige I-‐Node erst gelöscht, wenn A und B gelöscht sind.
Nur das Löschen von A oder B vermindert lediglich den Zähler im I-‐Node um 1. Für das Löschen der Datei und des I-‐Nodes muss der Zähler auf 0 stehen.
Folie 11
Neben den regulären Dateien unterstützt Linux auch Zeichen und Blockdateien.
Betriebssysteme 1 Thomas Kolarz
Zeichen-‐ und Blockdateien
Zeichendateien modellieren serielle Ein-‐/Ausgabegeräte, z.B. Tastaturen, Drucker (öffnen und lesen von /dev/Py liest von der Tastatur, öffnen und schreiben von /dev/lp schreibt auf den Drucker)
Blockdateien, op mit Namen wie /dev/hd1, können zum Lesen und Schreiben von rohen PlaPenparFFonen unabhängig vom Dateisystem verwendet werden. Dabei wird die I-‐Node und Dateistruktur vollkommen ignoriert.
Bei mehreren PlaPen wird auf jeder ein abgeschlossenes Dateisystem mit eigenem Wurzelverzeichnis angelegt. Das Gerät muss dann durch einen Namen (z.B. C:, D:) idenFfiziert werden.
In Linux kann eine PlaPe (oder anderes LW) in den Dateibaum eine anderen PlaPe eingebunden werden – moun@ng genannt.
Folie 12 Betriebssysteme 1 Thomas Kolarz
„Mounten“ von Dateisystemen
Folie 13 Betriebssysteme 1 Thomas Kolarz
Einige wich@ge Verzeichnisse in Linux
Folie 14 Betriebssysteme 1 Thomas Kolarz
Linux Dateisystem -‐ Systemaufrufe
Folie 15 Betriebssysteme 1 Thomas Kolarz
Das VFS von Linux
Die obere SchniPstelle zu den Benutzerprozessen bilden die Standard-‐POSIX-‐Aufrufe, wie open, read, write, lseek, etc.
Die SchniPstelle nach unten, die VFS-‐SchniPstelle, ist durch 4 SchlüsselobjekPypen und zugehörigen OperaFonen definiert, die das spezielle Dateisystem unterstützen muss.
Folie 16 Betriebssysteme 1 Thomas Kolarz
Das VFS von Linux
Virtual File System
VFS verbirgt vor den Prozessen der höheren Ebene und den Anwendungen die Unterschiede zwischen den vielen Dateisystemen, die von Linux unterstützt werden.
VFS definiert eine Menge von grundlegenden Abstrak@onen sowie Opera@onen des Dateisystems, die auf diesen AbstrakFonen zugelassen sind.
Das VFS bildet die einheitliche SchniPstelle, in die alle Dateisystemtreiber integriert werden können (z.B. ext2, ext3, ext4, ReiserFS 4, FAT, NTFS, …..).
Die Aufgabe der Dateisystemtreiber ist es die VFS FunkFonsaufrufe auf das spezielle Dateisystem umzusetzen.
Folie 17 Betriebssysteme 1 Thomas Kolarz
Das VFS von Linux
Die 4 wich@gsten Dateisystemstrukturen im VFS
Der Superblock: enthält kriFsche InformaFonen über das Layout des Dateisystems.
Der Inode (o. V-‐Node): beschreibt genau eine Datei (auch Geräte und Verzeichnisse werden als Datei repräsenFert und haben ebenfalls einen zugehörigen Inode).
Dentry: Datenstruktur, die Verzeichniseinträge repräsenFert; werden durch das System nebenher erzeugt. Verzeichniseinträge werden in einem Dentry-‐Cache gepuffert (z.B. Einträge für /, /usr, /bin).
File: Diese Datenstruktur ist eine speicherinterne Darstellung einer geöffneten Datei.
Folie 18 Betriebssysteme 1 Thomas Kolarz
Das VFS von Linux
und zusätzlich die aktuelle PosiFon in der offenen Datei
sind nur im RAM gespeichert
öffnen einer Datei
abhängig vom konkreten Dateisystem
Folie 19 Betriebssysteme 1 Thomas Kolarz
Das VFS von Linux
Das VFS hat nichts mit der Art der Speicherung der Daten auf der PlaPe zu tun, dafür ist das tatsächlich verwendete Dateisystem verantwortlich.
Das VFS kommt erst dann zum Einsatz, wenn auf eine besFmmte Datei zugegriffen wird. Dann wird eine virtuelle (temporäre) Struktur im Speicher erzeugt, über die sämtliche Zugriffe auf die Datei umgesetzt werden.
Ein konkretes Dateisystem, sehr ähnlich zu VFS, ist ext2.
Folie 20 Betriebssysteme 1 Thomas Kolarz
Das ext2-‐Dateisystem von Linux
Die ParFFon ist in Gruppen von Blöcken aufgeteilt.
Der erste Block in einer Gruppe ist der Superblock mit den Infos über das Layout des Dateisystems (wie #I-‐Nodes, #PlaPenblöcke, Zeiger auf die Liste der freien Blöcke.
Gruppendeskriptor enthält die Infos über die PosiFon der Bitmaps für I-‐Nodes und freie Blöcke in der Gruppe und die Anzahl der Verzeichnisse.
Folie 21 Betriebssysteme 1 Thomas Kolarz
Das ext2-‐Dateisystem von Linux
Die Block-‐ und die I-‐Node Bitmaps sind genau ein Block groß. Die Bitmaps vereinfachen die Verwaltung der Datenblöcke und I-‐Nodes.
Mit 1KB Blöcken limiFert dieser Entwurf eine Blockgruppe auf 8192 Blöcke und 8192 I-‐Nodes (d.h. eine Blockgruppe hat insgesamt …..?)
Die I-‐Nodes selbst sind durchnummeriert (beginnend mit 1). Jeder I-‐Node ist 128 Byte lang und beschreibt genau eine Datei (sehr großen Dateien werden durch die indirekten Zeiger im I-‐Node beschrieben.)
Folie 22 Betriebssysteme 1 Thomas Kolarz
Das ext2-‐Dateisystem von Linux
I-‐Nodes, die Verzeichnissen zugeordnet sind, verteilen sich über die PlaPenblock-‐gruppen hinweg.
Ext2 versucht gewöhnliche Dateien in der gleichen Blockgruppe wie das zugehörige I-‐Node unterzubringen – vorausgesetzt es ist genügend Platz.
Sehr große Dateien sind zwangsläufig auf viele Blockgruppen verteilt.
Folie 23 Betriebssysteme 1 Thomas Kolarz
Zugriff auf eine Datei
o p e n (Pfadname)
Zeiger auf I-‐Node des akt. Verzeichnis im Prozessdeskriptor
Zeiger auf /-‐Verz. I-‐Node ist dem BS bekannt
relaFv absolut
im I-‐Node Zeiger auf Verz.-‐datei, mit weiteren I-‐Node-‐Nrn.
……..
……..
I-‐Node des Zielverz. enthält den Zeiger auf die Ziel-‐Verzeichnisdatei
im I-‐Node Zeiger auf Verz.-‐datei, mit weiteren I-‐Node-‐Nrn.
Folie 24 Betriebssysteme 1 Thomas Kolarz
AuYau einer Verzeichnisdatei
Inhalt einer Verzeichnisdatei
42 anstaP 19!!
Folie 25
Jede Verzeichnisdatei besteht aus einer Anzahl von ganzen PlaPenblöcken.
In der Verzeichnisdatei liegen die Einträge für Dateien und Verzeichnisse in unsorFerter Reihenfolge vor, wobei jeder Eintrag seinem Vorgänger direkt folgt.
Einträge können nicht über mehrere PlaPenblöcke gehen, so dass am Ende eines PlaPenblocks op einige ungenutzte Bytes liegen.
Jeder Eintrag besteht aus 4 Feldern gleicher Länge und einem Feld variabler Länge.
1. Feld: I-‐Node Nummer des folgenden Eintrags
2. Feld: Gesamtlänge des Eintrags
3. Feld: Eintrag Typ (Datei = F oder Verzeichnis = D)
4. Feld: Länge des Dateinamens
5. Feld: Dateiname
Betriebssysteme 1 Thomas Kolarz
AuYau einer Verzeichnisdatei
Folie 26
Da Verzeichnisse linear durchsucht werden, kann es lange dauern, Einträge am Ende großer Verzeichnisses zu finden, insbesondere bei zusätzlich langen Pfaden.
Deshalb verwaltet das System einen Cache für die Verzeichnisse auf die vor kurzem zugegriffen wurde, den sog. Dentry-‐Cache.
Der Dentry-‐Cache enthält zu jedem kürzlich gelesenen Verzeichnis die zugehörige I-‐Node-‐Nummer (und die Blockgruppe).
Eine Konsequenz der verkePeten Suche ist, dass der Zugriff mit relaFven Pfade (die op wesentlich kürzer sind) schneller sein kann als der mit absoluten.
Betriebssysteme 1 Thomas Kolarz
Suchvorgang beim Öffnen einer Datei
Folie 27 Betriebssysteme 1 Thomas Kolarz
Suchvorgang beim Öffnen einer Datei
/home/thomas/file.c
I-‐Node 2 für / wird gelesen und das entsprechende Verzeichnis für / geöffnet
I-‐Node Nr. für home wird gesucht
home-‐I-‐Node wird gelesen und das entsprechende Verzeichnis für home geöffnet
I-‐Node Nr. für thomas wird gesucht
thomas-‐I-‐Node wird gelesen und das entsprechende Verzeichnis für thomas geöffnet
I-‐Node Nr. für file.c wird gesucht
file.c-‐I-‐Node wird gelesen und file.c kann geöffnet werden
Folie 28
Wird eine Datei geöffnet, dann wird der zugehörige I-‐Node in der I-‐Node Tabelle gespeichert.
Die I-‐Node Tabelle ist eine Datenstruktur im Kern, die alle I-‐Nodes der aktuell geöffneten Dateien und Verzeichnisse enthält.
Insbesondere ist der I-‐Node des aktuellen „working directories“ in dieser Tabelle.
Indiziert ist diese Tabelle mit den zugehörigen I-‐Node Nummern.
Betriebssysteme 1 Thomas Kolarz
Die I-‐Node Tabelle
Folie 29 Betriebssysteme 1 Thomas Kolarz
I-‐Node Struktur in Linux
Folie 30 Betriebssysteme 1 Thomas Kolarz
I-‐Node Struktur
Das folgende Bild enthält neben der Open File DescripFon Table auch noch die I-‐Nodes, mit den 3 Zeigern auf die indirekten Adressierungen.
Mit den direkten ersten 12 Zeigern ließen sich bei 4 KB Blöcken gerade mal Dateien bis zu einer Größe von 48 KB adressieren und verwalten.
Mit dem ersten indirekten Zeiger ist nun ein weiterer Block von 4 KB adressiert, der jedoch kein einfacher Datenblock ist, sondern weitere Zeiger auf zusätzliche Datenblöcke enthält.
Ein 4 KB Block enthält (bei 32-‐Bit Zeigern) damit weitere 1024 Zeiger, womit genau 4 MB an Datenblöcken zusätzlich adressiert werden können.
Folie 31 Betriebssysteme 1 Thomas Kolarz
Filedeskriptoren und I-‐Nodes
Folie 32 Betriebssysteme 1 Thomas Kolarz
Open File Descrip@on Table
Die „open file descripFon table“ liegt zwischen der Tabelle der Dateideskriptoren und der I-‐Node Tabelle
In dieser Tabelle wird i.w. die DateiposiFon der geöffneten Datei verwaltet.
Durch die Entkopplung von den fd‘s bzw. den I-‐Nodes hat man die entsprechende Flexibilität, um die geöffnete Dateien mehreren Prozessen gleichzeiFg zu Verfügung zu stellen, so dass die SchreibposiFon synchronisiert wird.
Folie 33 Betriebssysteme 1 Thomas Kolarz
Journaling Dateisysteme
Zur Vermeidung von Datenverlust durch Stromausfall müsste ein Dateisystem jede Änderung an einem Datenblock sofort auf die PlaPe zurückschreiben.
Auf Grund des Aufwands ist dies prakFsch unmöglich, deshalb gibt es eine Verzögerung von bis zu 30 Sekunden bevor die Veränderungen geschrieben werden.
Um das Dateisystem robuster zu machen, wurden Journaling-‐Dateisysteme entwickelt. Die Grundidee ist:
Verwaltung eines Journals,
in dem alle OperaFonen des Dateisystems sequenziell beschrieben sind, d.h. sämtliche Änderungen von Daten oder Metadaten (I-‐Nodes, Superblock, usw.) werden auf die PlaPe in das Journal geschrieben, aber nicht an der richFgen Stelle.
Folie 34 Betriebssysteme 1 Thomas Kolarz
Journaling Dateisysteme
Entdeckt das System während des Neustarts, dass das Dateisystem nicht ordentlich ausgehängt wurde, kann das Jounal durchlaufen werden und die beschriebenen Änderungen des Dateisystems werden ausgeführt.
Das Jounal ist eine Datei, die als zirkulärer Puffer angelegt ist.
Die Jounal OperaFonen werden nicht im Jounal eingetragen. Es wird ein eigenes JBD (Journaling Block Device) benutzt, um die Lese-‐/SchreiboperaFonen des Journals durchzuführen.
Folie 35 Betriebssysteme 1 Thomas Kolarz
Linux ext3-‐Dateisystem
ext3 ist zu 100% abwärtskompaFbel zu ext2.
Ein ext2-‐Dateisystem kann in ein ext3 konverFert werden und umgekehrt.
Der wesentliche Unterschied zwischen ext2 und ext3 ist, dass ext3 ein Jounal-‐fähiges Dateisystem ist. Die 3 folgenden Modi sind möglich:
1. Im Journal-‐Mode werden alle Veränderungen an Metadaten und normalen Dateien protokolliert.
2. Im writeback-‐Mode werden nur die Veränderungen an den Metadaten protokolliert. Die anderen werden mit der üblichen Verzögerung (befinden sich zunächst nur im Arbeitsspeicher, ohne Protokoll) geschrieben. Es kann dabei zu Inkonsistenzen kommen.
3. Im ordered-‐Mode werden diese Inkonsistenzen verhindert (ist jedoch langsamer), da die Dateien unmiPelbar geschrieben werden, wenn die Metadaten protokolliert werden.
Folie 36 Betriebssysteme 1 Thomas Kolarz
ext4 und ReiserFS
Den Nachfolger ext4 von ext3 gibt es seit 2009. Beide Dateisysteme können problemlos ineinander konverFert werden.
ext4 unterstützt Dateisysteme bis zu einer Größe von einem Exabyte, sowie Nanosekunden genaue Timestamps für Dateien.
mit ext4 ist eine größere Anzahl von Unterverzeichnissen pro Verzeichnis möglich (die zugehörigen I-‐Nodes müssen bei ext2 alle in derselben Blockgruppe stehen).
ReiserFS ist ebenfalls jounaling-‐fähig und gilt als äusserst performant.
Folie 37 Betriebssysteme 1 Thomas Kolarz
Das /proc-‐Dateisystem
Für jeden Prozess im System gibt es unter /proc ein Verzeichnis. Der Name des Verzeichnisses ist die PID, z.B.: /proc/3456
In dem Verzeichnis befinden sich Dateien, die InformaFonen über den Prozess enthalten, wie Umgebungsvariablen, Signalmasken, zugehörige Tasks und vieles mehr
Die Dateien exisFeren nicht auf der PlaPe. Sie werden bei Bedarf aus dem aktuellen Prozess ermiPelt (liegen im Arbeitsspeicher)
Folie 38 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Das NFS (Network File System) der Firma Sun ist auf allen modernen Linux Systemen vorhanden.
Dateisysteme auf verschiedenen Rechnern können damit zu einem logischen Ganzen zusammengefasst werden.
Die Grundidee von NFS ist, dass eine beliebige Anzahl von Clients und Servern ein Dateisystem gemeinsam nutzen kann.
Folie 39 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Folie 40 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Jeder NFS-‐Server exporFert ein oder mehrere Verzeichnisse für den Zugriff von en�ernten Clients.
Mit einem Verzeichnis werden auch sämtliche Unterverzeichnisse freigegeben.
Die Liste der Verzeichnisse, die ein Server exporFert befindet sich normalerweise in /etc/exports (siehe auch man exports).
Ein einfaches Beispiel für exports:
/home/opt (ro)
/home/User 192.168.0.0/24 (rw)
Das erste Verzeichnis /home/opt ist für alle Clients freigegeben, aber nur read-‐only.
Das zweite Verzeichnis /home/User ist für alle Clients aus dem Netz 192.168.0 zum Lesen und Schreiben freigegeben.
Folie 41 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Clients greifen auf exporFerte Verzeichnisse zu, indem sie diese einbinden.
Der Mountpunkt des Clients ist vollständig lokal, der Server weiß nicht, wo seine Verzeichnisse auf den Clients eingebunden werden.
NFS unterstützt heterogene Systeme (d.h. die Server bzw. Clients müssen nicht unbedingt Linux Systeme sein und können unterschiedliche BS haben).
Sowohl auf dem Server als auch auf den Clients muss der RPC-‐Dienst (Remote Procedure Call) laufen, damit die Server und Clients miteinander kommunizieren können.
Folie 42 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Die SchniPstelle zwischen Client und Server ist durch zwei Protokolle definiert.
Das erste Protokoll ist für das Einhängen zuständig:
.
Client Server
Pfadname des gewünschten Verzeichnisses
Datei-‐Handle: Dateisystemtyp PlaPe u. I-‐Node-‐Nr. des Verz. SicherheitsinformaFonen, ….
Folie 43 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Das zweite Protokoll dient dem Zugriff auf Dateien und Verzeichnisse.
Clients können Nachrichten an die Server schicken, um Verzeichnisse zu manipulieren oder Dateien zu lesen und zu schreiben. Die meisten Linux Systemaufrufe werden von NFS unterstützt, mit Ausnahme von open und close (werden bei NFS nicht benöFgt).
.
Client Server
lookup mit Dateiname
Datei-‐Handle: mit dem die Datei idenFfiziert werden kann
Die weiteren Systemaufrufe nutzen diesen Datei-‐Handle, z.B. beinhaltet der read den Datei-‐Handle, die PosiFon ab der gelesen werden soll und die Byte-‐Anzahl.
.
Folie 44 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
Jeder dieser Nachrichten ist in sich abgeschlossen, d.h. der Server braucht sich nichts zu der Verbindung zu merken.
Falls also ein Server abstürzt, ist keine InformaFon über offene Dateien verloren, da es keine gibt.
Ein Server, der keinen ZustandsinformaFonen über offene Dateien verwaltet, wird zustandslos (stateless) genannt.
Eine Weiterentwicklung von NFS, die Version NFSv4 wurde vereinfacht und arbeitet als ein zustandsbeha_etes Dateisystem. Hier gibt es dann auch wieder die open OperaFon.
.
Folie 45 Betriebssysteme 1 Thomas Kolarz
Das NFS-‐Dateisystem
R-‐Node
Folie 46 Betriebssysteme 1 Thomas Kolarz
Zusammenfassung
Der zentrale Teil des Dateikonzepts in Linux ist das VFS. Mit diesem Konzept hat der Benutzer eine einheitliche SchniPstelle auf die verschiedensten Dateisysteme und braucht sich demzufolge nicht mehr um die Details zu kümmern.
Das VFS ermöglicht dann den Zugriff auf das konkrete Dateisysteme wie z.B. NTFS, FAT, ext2 (kommt VFS am nahesten), ext3, ext4, /proc, oder NFS.
Das Dateisystem ist eigentlich ein sehr wichFger Spezialfall der allgemeineren Ein-‐und Ausgabe und der damit verbundenen KommunikaFon mit Geräten.
Dieser enge Zusammenhang ist in Linux in besonderer Form berücksichFgt, da Geräte in Linux als spezielle Dateien dargestellt werden. Die Ausgabe auf einem Gerät wird damit z.B. zum Schreiben in eine Datei.
.