Linux Dateisystem, Verzeichnisse und Prozessverwaltung
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 3,18 KB
Kriterien zur Dateiorganisation
Die Organisation von Dateien erfordert einen schnellen Zugriff, wenn einzelne Datensätze abgerufen werden. Dies ist nicht erforderlich, wenn Dateien in Chargen (Batches) bearbeitet werden. Eine einfache Aktualisierung ist essenziell; bei Medien wie CD-ROMs sind Updates jedoch wirtschaftlich nicht sinnvoll.
- Datenredundanz: Eine minimale Redundanz sollte sichergestellt werden, wobei Redundanz gezielt genutzt werden kann, um den Zugriff zu beschleunigen.
- Single-Index: Die Wartung ist kostengünstiger und fehleranfälliger.
- Zuverlässigkeit: Ein zentraler Aspekt der Datenverwaltung.
Hierarchische Verzeichnisstruktur unter Linux
Ein Verzeichnis kann Unterverzeichnisse enthalten und bildet so eine hierarchische Struktur in Form eines umgekehrten Baumes, symbolisiert durch einen Schrägstrich (/).
Wichtige Linux-Verzeichnisse
- /bin: Enthält ausführbare Programme des Betriebssystems (z. B. cat, cp, ls, tar).
- /boot: Beinhaltet den Kernel und Dateien für den Boot-Manager (z. B. LILO), die beim Systemstart benötigt werden.
- /dev: Enthält Gerätedateien für alle Hardware-Zugriffspunkte (Terminals, Festplatten, Drucker).
- /etc: Enthält Konfigurationsdateien und Skripte zur Systeminitialisierung.
- /home: Beinhaltet die Home-Verzeichnisse der Benutzer (auch Login-Verzeichnis genannt).
- /lib: Enthält Bibliotheken für Anwendungen, Systemwerkzeuge und Programmiersprachen.
Schutzmaßnahmen und Dateirechte
Jede Datei hat einen Eigentümer (in der Regel der Ersteller). Benutzer gehören zu einer oder mehreren Gruppen, die vom Administrator zugewiesen werden.
Zugriffsrechte
Für jede Kategorie (Benutzer, Gruppe, Andere) gibt es drei Zugriffsarten: Lesen (Read), Schreiben (Write) und Ausführen (Execute). Die Rechte können über Dateimanager oder den Befehl chmod geändert werden.
Systemaufrufe zur Prozessverwaltung
pid = fork(): Erzeugt einen Kindprozess, der identisch mit dem Elternprozess ist.pid = waitpid: Wartet auf das Ende eines Kindprozesses und nimmt dessen Status entgegen.s = wait: Wartet auf einen Kindprozess, nimmt dessen Status entgegen und gibt die PID des beendeten Kindes zurück.s = execve: Ersetzt das Prozessabbild im Speicher.exit: Beendet die Prozessausführung und gibt den Status zurück.size = brk: Setzt die Größe des Datensegments.pid = getpid(): Liefert die ID des aufrufenden Prozesses.pid = getpgrp: Gibt die Prozessgruppen-ID des aufrufenden Prozesses zurück.pid = setsid(): Erzeugt eine neue Sitzung und weist die PID des Aufrufers als Gruppen-ID zu.s = ptrace: Überwacht einen Prozess zu Debugging-Zwecken.