Dateisystem - Prozessverwaltung UNIX

Inhaltesverzeichnis


Inhaltsverzeichnis Seite 1

1. Pflege des Dateisystems Seite 2

1.1. Physikalischer Aufbau von Dateisystemen Seite 2

1.2. Prüfung von Dateisystemen Seite 2

1.3. Festplattenkapazitäten verwalten Seite 3

1.3.1. Freien Speicherplatz ermitteln Seite 4

1.3.2. Platzverbrauch eines Verzeichnisses ermitteln Seite 4

1.3.3. Platzverbrauch von Benutzerdateien ermitteln Seite 4

1.4. Dateisysteme einrichten, ein - und aushängen Seite 4

1.4.1. Dateisysteme auf Disketten einrichten Seite 4

1.4.2. Dateisysteme ein - und aushängen Seite 5

1.5. Wo finde ich was? - die wichtigsten Verzeichnisse Seite 5

1.6. Die wichtigsten Protokolldateien Seite 5

Folie(n) zu Kapitel 1 Seite 6, 7

2. Prozesse und deren Verwaltung Seite 8

2.1. Festlegung der Prozeßpriorität Seite 8

2.2. Prozesse (Kommandos) zu bestimmten Zeiten starten Seite 8

Folie(n) zu Kapitel 2 Seite 9

Kontrollfragen Seite 10













1.Pflege des Dateisystems

Festplattenkapazitäten werden unter UNIX in Form von Dateisystemen verwaltet. Jedes Dateisystem für
sich hat eine gewisse Kapazität, die zweigeteilt ist.
Der eine Speicherplatzhälfte ist für Dateiköpfe, die andere ist für die in den Dateien gespeicherten Daten.
Die Zahl von Dateisystemen, die gleichzeitig verwendet werden können, hat keine praktische Begrenzung. Das sogenannte Basisdateisystem (engl. "root - filesystem"), das das Betriebssystem selbst
enthält und als Ausgangspunkt für die Benutzung weiterer Dateisysteme verwendet wird,
ist immer vorhanden.

1.1. Physikalischer Aufbau von Dateisystemen

Ein UNIX - System kann mehrere Festplatten besitzen, die logisch als Gerätedateien verwaltet werden.
Eine Festplatte entspricht mindestens einem Dateisystem, kann aber auch in mehrere Dateisysteme
aufgeteilt werden. Jedes Dateisystem hat ein eigenes Hauptverzeichnis.

Ein Dateisystem hat folgenden physikalischen Aufbau:

Boot - Block:
Dieser Block enthält ein Programm zum Starten des Betriebssystems.

Super - Block:
Der Super - Block enthält alle Informationen, die das Dateisystem beschreiben,
wie z.B.: Größe, freie Blöcke etc. (entspricht dem Block Null der FAT unter DOS).

I - Liste:
(engl. "inode - table") In der I - Liste sind zu jeder Datei bestimmte Informationen,
wie Name, Pfad, Zugriffsrechte, Besitzer, Gruppe, Adressen der Datenblöcke usw. eingetragen.
Ein Eintrag in der I - Liste heißt I - Knoten.

Datenblocks:
Hier sind die Daten (Inhalte der einzelnen Dateien) blockweise abgespeichert,
wobei ein Block in der Regel 512 oder 1024 Byte umfaßt. Die Adressen der Daten in einer
Datei sind in der I - Liste im I - Knoten der Datei gespeichert.

1.2.Prüfung von Dateisystemen

Wurde der Rechner nicht korrekt heruntergefahren, oder gibt es Probleme bei der Benutzung des
Dateisystems (z.B.: defekte Dateien), so ist es notwendig, das Dateisystem zu überprüfen.
Da das Dateisystem ohnehin mindestens 1 mal pro Woche untersucht werden soll, kann dies
automatisch beim Starten des Systems oder durch Eingabe des Kommandos fsck erfolgen.

Wichtig:
Sollten Fehler im Dateisystem festgestellt werden, so verursachen diese im allgemeinen einen
Datenverlust, der, wenn Anwender in keiner Applikation arbeiten, unbedeutend ist
und die verlorenen Daten vom Betriebssystem rekonstruiert werden können.







1.3.Festplattenkapazitäten verwalten

Festplatten spielen bei der Benutzung von UNIX - Systemen eine besondere Rolle.
Auf ihnen werden alle Betriebssystem -, Applikations - und Benutzerdaten gespeichert, Druckaufträge
abgelegt, temporäre Ergebnisse gesichert usw.
UNIX reagiert, im Gegensatz zu anderen Betriebssystemen, auf eine volle Festplatte empfindlicher,
da UNIX versucht, möglichst viele Zugriffe (sowohl lesende als auch schreibende) im Hauptspeicher
zu puffern (engl. "caching"), wodurch ein erneuter Zugriff auf die gleichen Daten erheblich
schneller erfolgen kann.

Da auch schreibende Zugriffe gepuffert werden, leiten sich zwei Probleme ab:

I) Was passiert bei einem Stromausfall?
Bei dem Problem gibt es eine einfache Lösung. SCO - UNIX sichert die im Hauptspeicher
gepufferten Daten mindestens jede halbe Minute auf die Festplatte.

II) Was passiert, wenn die Festplatte voll ist?
Dieses Problem ist etwas komplizierter. Wenn die Festplatte voll ist, können keine Daten
mehr gesichert werden, und es kommt zu größeren Systemproblemen,
bei denen Daten verloren gehen.

Um dieses Problem zu verhindern, kann die Festplattenkapazität in vier Bereiche unterteilt werden:

Blau: die Festplatte ist weniger als 60% belegt.
Grün: die Festplatte ist mehr als 60%, aber weniger als 85% belegt.
Gelb: die Festplatte ist mehr als 85%, aber weniger als 98% belegt.
Rot: die Festplatte ist über 98% belegt.

(Bei einer 80 MB Festplatte sind 2% 1,6 MB; bei einer 1,2 GB sind das 24 MB !!!)

Je nachdem, in welchem Bereich sich die Festplattenkapazität befindet, werden vom Systemverwalter
verschiedene Aktionen erwartet:

Blau:
In diesem Bereich müssen nur die normalen Verwaltungsaktivitäten erfolgen, das heißt
regelmäßige Löschungen von Protokolldaten, nicht mehr benötigter Daten etc.

Grün:
In diesem Bereich kann normal gearbeitet werden. Es ist jedoch davon auszugehen,
dass nicht mehr genügend Kapazität vorhanden ist, um weitere firmenweit genutzte
Applikationen zu installieren.

Gelb:
In diesem Bereich sollte auf Dauer nicht gearbeitet werden. Der Systemverwalter sollte
dringend alle notwendigen Schritte einleiten, um freie Plattenkapazitäten zu schaffen
(indem er z.B. die Benutzer auffordert, ihre Daten zu sichten und teilweise zu löschen).
Konnte nicht ausreichend genug Platz geschaffen werden, um wieder im grünen
Bereich zu arbeiten, müssen die Plattenkapazitäten erweitert werden.





Rot:
In diesem Bereich darf auf keinen Fall mehr gearbeitet werden, da es bei einer normalen
Benutzung schnell zu einem Ãœberlauf der Festplatte kommen kann. Der Systemverwalter sollte
veranlassen, dass sich die Benutzer vom System abmelden, und dann versuchen, soviel
Platz zu schaffen, dass sich das System wieder im gelben Bereich befindet.
Solange sich das System nicht im gelben Bereich befindet dürfen die übrigen Benutzer
nicht am System arbeiten. Wenn das System dringend benötigt wird, kann man im
Notfall unwichtige Systemkomponenten (z.B. das elektronische Handbuch) oder
andere Applikationen löschen und später wieder draufspielen.

SCO - UNIX bietet 3 verschiedene Kommandos zur Kapazitätsverbrauchsermittlung. Diese 3
Kommandos geben den freien bzw. belegten Speicherplatz in Blöcken aus.
Ein Block ist 512 Byte groß, bei vielen SCO - UNIX - Systemen umfaßt jedoch die kleinste
Belegungseinheit 1024 Byte, wodurch eine Datei mindestens 2 Blöcke belegen muss.

Durch die Eingabe des Kommandos cmchk kann die Belegungseinheit ermittelt werden BSIZE=1024.

1.3.1.Freien Speicherplatz ermitteln

df gibt die Gesamtgröße des belegten und freien Platzes für alle Dateisysteme aus.

Folie

1.3.2.Platzverbrauch eines Verzeichnisses ermitteln

du ermittelt den Platzverbrauch für ein Verzeichnis.

Folie

1.3.3.Platzverbrauch von Benutzerdateien ermitteln

quot bestimmt den Platzverbrauch durch die Daten eines Benutzers.

Option
- f: Anzahl der Datein pro Benutzer wird mit ausgegeben
- c: Übersicht, wieviele Dateien in welcher Blockgröße existieren

Nur der Benutzer, der unter root eingeloggt ist, kann das Kommando ausführen.

1.4.Dateisysteme einrichten, ein - und aushängen

1.4.1.Dateisysteme auf Disketten einrichten

Zur Benutzung einer Diskette muss man auf der Diskette ein Basisdateisystem einrichten und dieses danach in das Betriebssystem einhängen und nach der Benutzung wieder aushängen.

entweder durch mkdev fd,
oder durch SysadmSh Filesystems Floppy
kann ein Dateisystem auf einer Diskette eingerichtet werden.




Danach müssen folgende Schritte ausgeführt werden:

I) Typ der Diskette festlegen: 360 KB, 1.2 MB, 720 KB, 1.44 MB

II) Angabe des Laufwerkes (0 für das erste, 1 für das zweite)

III) Art des Dateisystems wählen:

Filesystem
normales Dateisystem.


Bootable only
dies wäre unter DOS die BOOT - Disk.

Root filesystem only
Notfalldiskette auf der die wichtigsten Datein des Basisdateisystems gespeichert sind.

IV) Nach einlegen der Diskette, muss die Meldung mit RETURN bestätigt werden.

V) Ist die Diskette nicht formatiert, so kann dies jetzt geschehen (Frage mit y beantworten).

VI) Typfestlegung des Dateisystems:
AFS (Acer Fast Filesystem), standartmässig
S51K (UNIX Filesystem)
XENIX (XENIX Filesystem)

VII) Nach Einrichtung des Dateisystems erscheint die Meldung Filesystem creation complete.

VIII) Das Kommando fsck wird automatisch ausgeführt.

IX) Am Schluß wird noch die Meldung floppy created and checked succesfully ausgegeben.
Danach kann noch eine Diskette eingerichtet werden oder mit q das Programm verlassen werden.

X) Zu beachten ist, dass das Dateisystem auf der Diskette eingehängt werden muss,
bevor es benutzt werden kann.

1.4.2.Dateisysteme ein - und aushängen

Innerhalb des Basisdateisystems können an beliebiger Stelle weitere Dateisysteme eingehängt werden.

Folie

1.5.Wo finde ich was? - die wichtigsten Verzeichnisse

Folie

1.6.Die wichtigsten Protokolldateien

Folie



Zu 1.2.:

fsck dateisystem

fsck /dev/root


Zu 1.3.1.:

$ df
/ (/dev/root ): 1230070 blocks 55891 i - nodes

$ df - t
/ (/dev/root ): 1230070 blocks 55891 i - nodes
total: 1641214 blocks 65488 i - nodes

$ df - v
Mount Dir Filesystem blocks used free % used
/ /dev/root 1641214 411144 1230070 25%

$ df - i
Mount Dir Filesystem iused ifree itotal % iused
/ /dev/root 9597 55891 65488 14%

blocks ... Gesamtanzahl der Blöcke
used ... Anzahl der belegten Blöcke
free ... Anzahl der freien Blöcke
%used ... Prozentanteil an belegten Blöcken

Einträge in der I - Liste:

iused ... Anz. d. belegten Eintr.
ifree ... Anz. d. freien Eintr.
itotal ... max. Anz. d. möglichen Eintr.
%iused ... Prozentanteil d. belegten Eintr.


Zu 1.3.2.:

$ du
2 ./usr/hugo/auftrag/daten
4 ./usr/hugo/auftrag
6 ./usr/hugo
8 ./usr
62 .

Platzverbrauch von Verzeichnissen mit rekursiver Angabe der Unterverzeichnisse.

$ du - s

Platzverbrauch des angegebenen Verzeichnisses (ohne Unterverzeichnis).

$ du - a

Ausgabe des Platzbedarfes von Dateien in einem Verzeichnis.

Zu 1.4.1.:

Kommandos zur Einrichtung von Dateisystemen auf Diskette:

mkdev fd

SysadmSh Filesystems Floppy


Zu 1.4.2.:

Basisdateisystem Dateisystem1 Einhängen von Dateisystem1 ins Basisdateisystem

/ / /
/usr /auftrag /usr
/usr/hugo /auftrag/daten /usr/hugo
/usr/fritz /auftrag/programm /usr/hugo/auftrag
/dev /usr/hugo/auftrag/daten
/etc /usr/hugo/auftrag/programm
/usr/fritz
/dev
/etc

Dateisysteme einhängen: mount und mnt

Dateisysteme aushängen: umount und umnt


Zu 1.5.:

Wo finde ich was? - die wichtigsten Verzeichnisse:

/bin Kommando - Verzeichnis. Die gängigen Kommandos, die jedem Benutzer zur Verfügung stehen.
/dev Verzeichnis der Gerätedateien.
/etc Erweitertes Kommando - und Datenverzeichnis für den Systemverwalter.
/etc/default Enthält Dateien, die Vorgaben für viele Kommandos enthalten.
/usr Enthält neben Heimat - Verzeichnisse diverse wichtige Unterverzeichnisse.
/usr/bin Enthält weniger wichtige UNIX - Kommandos.
/usr/lib Enthält Bibliotheken und Datendateien für diverse UNIX - Kommandos.
/usr/spool Wird für die Zwischenspeicherung von Daten zum Drucker o. zu and. UNIX - Sys. benutzt.
/usr/tmp Ablage von temporären Dateien, die durch Kommandos aufgerufen wurden.
/tcb Enthält Dateien und Kommandos für das "protected subsystem".
/tmp Ablage von temporären Dateien jeden normalen Benutzers.

Zu 1.6.:

Die wichtigsten Protokolldateien:

Protokolldatei Bedeutung
/etc/wtmp An - und Abmeldung
/usr/adm/messages Systemmeldungen
/etc/ddate Daten der über die SysAdmSh durchgeführten Datensicherungen.
/usr/lib/cron/cronlog Enthält Informationen über die Ausführung von at und crontab.
2.Prozesse und deren Verwaltung

In diesem Kapitel wird die erweiterte Prozeßverwaltung erläutert, wie sie vom Systemverwalter
durchzuführen ist. Zu Beginn werden die noch nicht besprochenen Optionen des
Kommandos ps erläutert. (Folie)

2.1.Festlegung der Prozeßpriorität

Bei der Ausführung eines Prozesses kann durch das Kommando nice eine Priorität festgelegt werden.

Innerhalb der Bourne - und C - Shell wird das nice - Kommando unterschiedlich gehandhabt:

Bourne - Shell:
Grundsätzlich werden Kommandos mit der Priorität von 20 ausgeführt.
Durch Eingabe des Kommandos nice - zuwachs kommando kann durch den Wert zuwachs
eine andere Priorität festgelegt werden, wobei der Wert zu 20 dazuaddiert wird.
Nur der Benutzer unter root kann eine negative Zahl eingeben. Wertebereich von 0 bis 39.

C - Shell:
Hier werden Kommandos mit der Priorität 0 ausgeführt.
Der normale Anwender kann durch nice +zahl und der Systemverwalter zusätzlich mit - zahl
die Priorität auf zahl festlegen.
Wird hinter dem nice - Kommando ein anderes Kommando angeführt, so gilt die gesetzte
Priorität nur für dieses, ansonsten für alle.
Wird nice ohne Zahl angegeben, wird eine Priorität von 4 angenommen.

2.2.Prozesse (Kommandos) zu bestimmten Zeiten starten

UNIX bietet hierfür 3 Kommandos:

at Kommando wird zu einer bestimmten Zeit gestartet.
batch startet ein Kommando dann, wenn es die Systemauslastung zulässt.
crontab startet ein Kommando regelmäßig, z.B.: täglich oder wöchentlich um 11 Uhr.

Die Kommandos at und batch können von Systemverwalter in der System Administrator Shell
eingeschränkt werden:
SysAdmSh Authorize Delayed Default

Grundeinstellungen:
None: Kein Benutzer darf at oder batch benutzen.
Allow: Alle Benutzer dürfen die Kommandos at und batch benutzen.
Deny: Kein Benutzer darf die Kommandos at und batch benutzen.

Der Verwaltung der Rechte dienen 2 Dateien:

/usr/lib/cron/at.allow zu crontab /usr/lib/cron/cron.allow

/usr/lib/cron/at.deny /usr/lib/cron/cron.deny

Wenn keine dieser beiden Dateien vorhanden sind, darf nur der Systemverwalter sie benutzen.

Man muss die Kernel - Berechtigung chmodsugid besitzen, um mit at, batch oder crontab
arbeiten zu können.
Zu 2.:

Optionen des Kommandos ps:

- e Es werden Informationen zu allen Prozessen ausgegeben.
- a Es werden Informationen zu allen Prozessen ausgegeben, die weder Vaterprozesse noch
Dämonprozesse (also mit keinem Terminal verbunden) sind.
- ppids Alle Prozesse, deren Prozeßidentifikationsnummern (PID’s) in pids angegeben ist,
werden ausgegeben. Werden mehrere PID’s angegeben, müssen die Nummern durch Kommata
getrennt und in Anführungsstrichen angegeben werden. Bsp.: "245, 365, 366".
- gpids Die Prozesse, die durch pids bezeichnet werden, sind Vaterprozesse.
Es werden alle Sohnprozesse zu diesen ausgegeben.
- l Neben der Option - f gibt die Option - l weitere Informationen zu den jeweils
aufgeführten Prozessen aus:
F -
S Der Status des Prozesses. Dabei bedeutet:
O existiert nicht (non - existing).
S schlafend (sleeping). Prozeß wartet auf ein Ereignis, das ihn aufweckt.
R läuft (running).
I (intermediate).
Z beendet (terminated).
T angehalten (stopped).
B wartet (waiting).

PRI Prozeßpriorität. Höhere Nr. geringere Priorität. wird aus dem Nice - Wert errechnet.
NI Nice - Wert; wird für die Prozeßpriorität verwendet.
ADDR1 ADDR2 -
SZ Vom Prozeß belegter Hauptspeicher in Blöcken.
WCHAN Dieser Spalte kann entnommen werden, worauf der Prozeß wartet bzw.
wann er "aufwacht".


Zu 2.1.:

Bourne - Shell:
nice - zuwachs kommando nice - 5 kommando Priorität: 25
nice - zuwachs kommando nice - - 5 kommando Priorität: 15 (nur Systemverwalter)

C - Shell:
nice +zahl (kommando) nice +8 Priorität: 8
nice - zahl (kommando) nice - 3 Priorität: 5 (nur Systemverwalter)


Zu 2.2.:

Rechte individuell verändern:
SysAdmSh Authorize Delayed User

Übersicht über die Benutzer:
SysAdmSh Authorize Delayed View

Kommando crontab:
SysAdmSh Authorize Scheduled Default
Kontrollfragen




1.) Beschreibe 2 oder mehr Begriffe vom physikalischen Aufbau:


Boot - Block:
Dieser Block enthält ein Programm zum Starten des Betriebssystems.

Super - Block:
Der Super - Block enthält alle Informationen, die das Dateisystem beschreiben,
wie z.B.: Größe, freie Blöcke etc. (entspricht dem Block Null der FAT unter DOS).

I - Liste:
(engl. "inode - table") In der I - Liste sind zu jeder Datei bestimmte Informationen,
wie Name, Pfad, Zugriffsrechte, Besitzer, Gruppe, Adressen der Datenblöcke usw. eingetragen.
Ein Eintrag in der I - Liste heißt I - Knoten.

Datenblocks:
Hier sind die Daten (Inhalte der einzelnen Dateien) blockweise abgespeichert,
wobei ein Block in der Regel 512 oder 1024 Byte umfaßt. Die Adressen der Daten in einer
Datei sind in der I - Liste im I - Knoten der Datei gespeichert.


2.) Nenne (beschreibe) die vier Bereiche der Festplattenkapazität:

Blau: die Festplatte ist weniger als 60% belegt.
Grün: die Festplatte ist mehr als 60%, aber weniger als 85% belegt.
Gelb: die Festplatte ist mehr als 85%, aber weniger als 98% belegt.
Rot: die Festplatte ist über 98% belegt.


3.) Unterschied der Prozeßpriorität von B - Sh & C - Sh.:

Bourne - Shell:
Grundsätzlich werden Kommandos mit der Priorität von 20 ausgeführt.
Durch Eingabe des Kommandos nice - zuwachs kommando kann durch den Wert zuwachs
eine andere Priorität festgelegt werden, wobei der Wert zu 20 dazuaddiert wird.
Nur der Benutzer unter root kann eine negative Zahl eingeben. Wertebereich von 0 bis 39.

C - Shell:
Hier werden Kommandos mit der Priorität 0 ausgeführt.
Der normale Anwender kann durch nice +zahl und der Systemverwalter zusätzlich mit - zahl
die Priorität auf zahl festlegen.
Wird hinter dem nice - Kommando ein anderes Kommando angeführt, so gilt die gesetzte
Priorität nur für dieses, ansonsten für alle.
Wird nice ohne Zahl angegeben, wird eine Priorität von 4 angenommen.

2525 Worte in "deutsch"  als "hilfreich"  bewertet