Unix für Dawinisten - Kapitel 2
2.   Was ist Unix?
2.1. Was sind die Besonderheiten von Unix?
2.2. Wie ist Unix organisiert?
2.3. Das Filesystem
2.4. Das Internet
C.   Kommentarformular

2. Was ist Unix?

Unix, von seinen Benutzern auch liebevoll tUnix genannt, ist ein Betriebssystem für mittlere bis große Computer (Ein Betriebssystem ist das grundlegende Steuerprogramm, das sich um die Ein- & Ausgabe, Dateiverwaltung usw. kümmert, wie z.B MS-DOS für Personal-Computer). Es wurde bereits vor längerer Zeit von der amerikanischen Telefon- & Computerfirma AT&T entwickelt, um einen einheitlichen Standard zu setzen. Und in der Tat hat sich Unix inzwischen in vielen Bereichen durchgesetzt - man kann davon ausgehen, daß die Mehrheit der ans Internet angeschlossenen Rechner unter Unix läuft.


2.1. Was sind die Besonderheiten von Unix?

- Multi-User:
Unter Unix können mehrere Benutzer gleichzeitig mit einem Rechner arbeiten. Die User können dabei entweder direkt am Computer sitzen (=console), über ein Terminal angeschlossen sein (=tty) oder über den Netzanschluß eingeklinkt sein (=port). Die Rechenzeit wird dabei unter den Benutzern aufgeteilt; je mehr Leute also gleichzeitig den Rechner benutzen, desto langsamer wird er.

- Multitasking:
Jeder Benutzer kann gleichzeitig mehrere Programme laufen lassen. Nähres dazu im Kapitel Job-Control...

- Portabilität:
Anders als die üblichen Betriebssysteme (wie MS-DOS) ist Unix nicht in Maschinensprache, sondern in der Programmiersprache "C" geschrieben, so daß es leicht auf beliebige Computer übertragen werden kann. So kommt es, daß inzwischen für alle ernstzunehmenden Computer Unix-Versionen vorhanden sind (z.B. Linux für PCs). Dadurch, daß Unix auf allen Rechnern (fast) gleich ist, können auch Programme ganz einfach zwischen ihnen ausgetauscht werden (in der Praxis müssen allerdings meist ein paar kleine Änderungen durchgeführt werden...).

- Initiative:
Dadurch, daß im Internet sehr viele Rechner (z.Zt. über eine Million), vor allem im universitären Bereich, miteinander verbunden sind, gibt es viele (Hobby-)Programmierer, die ihre Software kostenlos im Netz zur Verfügung stellen. Anders als im Homecomputer-Bereich sind diese Programme ernstzunehmen - sie leisten oft mehr als ihre kommerziellen Pendants. Besonders gute Beispiele hierfür liefert die amerikanische Free Software Foundation mit ihrer GNU-Programmreihe ("GNU's Not Unix") oder das Linux-Betriebssystem, das zunächst als Diplomarbeit eines finnischen Studenten begonnen hat und nun weltweit benutzt und weiterentwickelt wird.
Die Public-Domain (also frei kopierbaren) Programme befinden sich im Netz auf bestimmten Rechnern (ftp-server), von denen man die Programme mit dem file-transfer-protocol (ftp) abziehen kann (mehr dazu später).


2.2. Wie ist Unix organisiert?

Unter Unix hat jeder Benutzer einen account auf seinem Rechner, der zunächst einmal aus einer User-ID und einem Password besteht. Die User-ID ist der Name unter dem man im Rechner geführt wird; er erlaubt einerseits den Zugang zum Rechner (zusammen mit dem Password), andererseits definiert er die Zugriffsrechte, die der User im System hat. So gibt es z.B. den sogenannten Superuser (mit der User-ID "root"), der Lese- und Schreibzugriff auf alle Dateien hat; dieser account wird von den System-Operators (Sysops) im Rechenzentrum benutzt, um Wartungen vorzunehmen, oder neue Benutzer anzumelden. Ein normaler Benutzer hat im Prinzip Lesezugriff auf alle Dateien (außer auf gesperrte - näheres dazu später), Schreibzugriff aber nur auf seine eigenen. Einige Unix-Befehle können nicht von "normalen" Usern ausgeführt werden (z.b. "adduser" um einen neuen account einzutragen).

Jeder Benutzer gehört außerdem mindestens einer Gruppe an (z.B. "u0dawin"), die sich beispielsweise mit einem bestimmten Projekt oder Programmierauftrag beschäftigt.

Wenn mehrere Maschinen über ein lokales Netzwerk miteinander verbunden sind, ist es möglich, daß ein Benutzer über seine User-ID auf allen angeschlossenen Rechnern Zugang hat. Die Datei mit den account-Informationen wird dabei zentral für alle Rechner verwaltet - was man dann als "yellow-pages" bezeichnet.


2.3. Das Filesystem

Daten (z.B. Texte, Grafiken, aber auch Programme) werden in Dateien gespeichert. Jede Datei besteht aus einem Kopfteil, der Informationen über die Datei enthält, und einer Folge von Datenblöcken, die den eigentlichen Inhalt speichern. Die Kopfteile werden in speziellen Listen, den Inhaltsverzeichnissen (Directories) gespeichert: Dort findet das Betriebssysstem Informationen darüber, wie groß eine Datei ist, wer sie angelegt hat (Besitzer = Owner, und dessen Gruppe = Group) und, besonders wichtig, wo die zugehörigen Datenblöcke zu finden sind.

Unix verwaltet Dateien in einer Art Baumstruktur. Ausgehend von einem Wurzelverzeichnis (root) gibt es Verästelungen von Unterverzeichnissen (z.B. "bin" für die Unix-Befehle, oder "user" für die Dateien der Benutzer). Mittels verschiedener Befehle ist es möglich, diesen Baum nach unten (zur Wurzel hin) oder nach oben (zu den Ästen) zu durchwandern, oder auch direkt einen bestimmten Ast anzuspringen. Dabei ist es völlig egal wo die Dateien physikalisch gespeichert sind (d.h. auf welchem Plattenlaufwerk), da Unix die angeschlossenen Laufwerke (für den Benutzer unsichtbar) wie ein einziges großes "Filesystem" verwaltet.

Besonders praktisch ist, daß man einen Ast des Verzeichnisbaums (oder auch den ganzen Baum) als "network-filesystem" (nfs) für andere Rechner im Netz zur Verfügung stellen kann. Dann brauchen z.B. Programme, die man auf vielen Rechnern im lokalen Netz braucht, nur noch auf einem Rechner gespeichert werden - die anderen holen sie sich einfach per nfs.

Jede Datei hat einen kleinen Katalog von Zugriffsrechten, über die der jeweilige Besitzer der Datei (derjenige, der sie angelegt hat) entscheiden kann. Die Rechte sind aufgeteilt in den Zugriff für den Besitzer selbst (u = user), seine Gruppe (g = group) und die Welt (o = others, also alle anderen User). Für jede Sparte können folgende Rechte vergeben werden: Lesen (r = read), Schreiben (w = write) und Ausführen (x = execute, für Programme und Verzeichnisse). Wenn ich z.B. eine meiner Dateien vor den gierigen Blicken anderer User schützen will, ändere ich einfach die Zugriffsrechte so, daß andere User (und Gruppenmitglieder) sie weder lesen noch ändern können. Meine eigenen Zugriffsrechte bleiben davon unbeeinflußt.

Wenn sich auf einem Rechner viele User ein Filesystem teilen (wie zum Beispiel beim DaWIN-Projekt mehrere hundert), dann stößt man natürlich schnell an die physikalischen Grenzen des Speicherplatzes - selbst wenn eine Gigabyte-Platte angeschlossen ist, kann man sich leicht ausrechnen, daß bei tausend Usern für jeden nur noch ein knappes Megabyte übrigbleibt. Das mag zwar nach viel klingen, aber ein Megabyte ist recht schnell erreicht - wovon jeder, der zuhause einen Rechner stehen hat, ein Lied zu singen weiß. Da es immer wieder vorkommt, daß einige Leute recht verschwenderisch mit dem Plattenplatz umgehen - natürlich auf Kosten der anderen - bleibt oft als einzige Lösung die Einführung eines Quotensystems. Bei diesem System wird der verfügbare Plattenplatz auf die vorhandenen User verteilt, wobei meist für jeden User mehr Platz vorhanden ist, als sich theoretisch aus dem Speicherplatz dividiert durch die Anzahl der Benutzer ergeben würde - man geht eben davon aus, daß die meisten User ihre Quota nicht vollständig ausnützen. Das Quotensystem überwacht für jeden User den verbrauchten Speicherplatz; wenn die Quota überschritten wird, wird (je nach der Härte des verwendeten Systems) ein sofortiger oder auch zeitverzögerter Schreibstop eingesetzt, der verhindert, daß noch weiterer Speicherplatz von dem betreffenden User belegt wird.

In Münster ist vor kurzem ein Quotensystem eingesetzt worden, daß zwischen einer Softquota und Hardquota unterscheidet. Die Softquota ist dabei der erwünschte maximale Speicherplatz für jeden User - wer sie überschreitet, bekommt eine Warnmeldung, kann aber für einen gewissen Zeitraum noch zusätzlichen Speicher belegen. Die Hardquota ist ein relativ groß bemessener Rahmen, der die gröbsten Exzesse verhindern soll - wer sie überschreitet, wird durch einen sofortigen Schreibstop am Belegen weiteren Speichers gehindert.

Dieses System ist eigentlich sehr human - wir wollen hoffen, daß auch bei weiterem Anwachsen des DaWIN-Projekts nicht härtere Maßnahmen erforderlich werden. Dazu kann übrigens jeder selbst beitragen - die erforderlichen Tips findet Ihr im Kapitel 3.4. "Aufräumen und Platzsparen". Einen Text mit weiteren Tips und Verhaltensregeln findet Ihr im Infosystem der Uni (Aufruf mit "aixnews" oder "inform"). Daß man größere Dateien nicht länger als benötigt auf der gemeinsamen Platte stehen läßt, versteht sich eigentlich von selbst.

An manchen anderen Unis wird übrigens wöchentlich eine Liste der "Top 10 Diskspace-Pigs" erstellt, die dann für alle lesbar in den lokalen Newsgroups gepostet wird...


2.4. Das Internet

Das Rechenzentrum ist an das internationale Datennetz (Internet) angeschlossen, so daß DaWIN-Teilnehmer kostenlos jeden anderen, ans Netz angeschlossenen Rechner ansprechen können.

Jeder Rechner des Internet hat eine definierte Nummer (wie eine Telefonnummer), die aus vier durch Punkte getrennten Zahlen besteht (z.B. 132.231.20.10). Um sich das Auswendiglernen dieser Nummern zu ersparen, haben fast alle Rechner außerdem einen symbolischen Namen (z.B. asterix.uni-muenster.de).

Der Name setzt sich dabei im allgemeinen folgendermaßen zusammen:

<Rechnername>.<Institut>.<Organisation>.<Land>
Dabei können einzelne Bestandteile des Namens (z.B. Institut) auch fehlen; im amerikanischen Netz wird statt des Landes oft die Organisation angegeben (z.B. "edu" für Universitäten, "gov" für die Regierung). Der Teil hinter dem Rechnernamen ("<institut>.<org>.<land>") wird auch als Domain-Name bezeichnet.

Im Internet gibt es im wesentlichen vier Hauptdienste:

- telnet:
Direkte Verbindung zu einem Rechner im Netz. Dabei ist es egal, ob die Maschine nebenan oder in Texas steht. Wichtig ist dabei nur, daß man einen Account auf dem Rechner haben muß, um auf ihn zugreifen zu können.
- ftp:
Kopieren von Dateien aus Netzrechnern. Fast alle Universitäten (weltweit) haben einen Rechner als "ftp-server" abgestellt, auf dem frei kopierbare Software gespeichert ist. Diese Dateien kann man anonym (ohne einen account auf dem server zu haben) kopieren. Wenn man einen account auf dem Netzrechner besitzt, kann man mit ftp alle Dateien lesen/schreiben, auf die man beim normalen login Zugriff hat.
- email:
Verschicken von elektronischer Post (kostenlos) zu Usern weltweit. Dazu muß man die email-adresse seines Partners kennen, die normalerweise so aussieht: benutzer@host (z.B. dawin@uni-muenster.de oder postmaster@zam049.zam.kfa-juelich.de)
- netnews:
Zu jedem (un)denkbaren Thema gibt es im Netz eine Newsgroup, in der mehr oder weniger qualifizierte Beiträge gelesen und geschrieben werden können (näheres s.u.).
Neben diesen Hauptdiensten gibt es aber noch eine Vielzahl von weiteren Möglichkeiten, das Internet für die eigene Arbeit, geistige Erbauung oder gar zum Spaß zu verwenden. Näheres dazu findet ihr in einer separaten DaWIN-Doku zu Netzressourcen, sowie in Infopaketen für jeden Fachbereich (z.Zt. in Vorbereitung).