Betriebssysteme
Unix
Die Grundbegriffe beschreiben das
Linux ist ein immer wichtigerer Vetreter
Geschichte
Prof. Hofmann vom IMMD IV Uni-Erlangen (http://www.informatik.uni-erlangen.de)
erzählte von einem Betriebssystem MULTICS.
Nach [Deitel84] steht Multics
MuLTiplexed Information and Computing Service. Es wurde vom MIT entwickelt
und war ein Timesharing-System mit Virtuellem Speicher.
Dieses Betriebsystem (Mitte 60er Jahre) hat eigentlich alles was man sich
wünschen kann, nur war das damals nicht realisierbar, aber Forschungsmäßig
konzeptionell sehr bedeutend.
Es wurde auch in eine Hochsprache EPL, einer Erweiterung von PL1 geschreiben.
Ein Mitentwickler Ken Tompson hatte bei AT&T eine
PDP7 herumstehen und baute ein Betriebsystem um die Konzepte Datei und Prozeß
herum. Den Namen nannte er als Verhunzung von MULTICS UNIX, weil es noch
nicht so ausgereift war.
Bei der UNIX-Entwicklung wurde die auch heute noch weit verbreitete Hochsprache
C entwickelt, mit der man sehr gut maschinennah programmieren kann.
Golem Geschichte: die Enstehung von Unix ist schön anzuschauen.
Marketing/Rechtliches: Der Name "UNIX" gehört AT&T (an Novell weiterverkauft ?)
Man hat aber die Betriebsystemschnittstelle normiert (Norm, engl Standard),
die heißt POSIX
für Portable Operatingsystem-Interface (X ist wieder UNIX-Verhunzung)
Linux, IBM-AIX, HP-UX, Solaris sollten POSIX-Konform sein.
GNU und Linux
Noch eine Bemerkung zu Linux:
Linux ist nur der Betriebssystem Kern. Zum Betriebssystem im weiteren Sinne
gehören noch Daemonen/Hintergrundprozesse, diverse Dienstprogramme wie
Compiler,Editoren.
GNU (GNU is Not Unix) einst ein Unix-Ähnliches System der Freien Software
Foundation, deren größte bekannte Leistung der C-Compiler gcc ist.
Deswegen sollte man von Linux/GNU sprechen.
Stärken von UNIX
- Unix ist sehr gut zur Softwareentwicklung geeignet. Ist ein System von Gurus für Gurus.
- UNIX-Werkzeugkonzept ist sehr bemerkenswert.
- Scriptsprachen ergänzen das Werkzeugkonzept.
- Besondere Bedeutung hat UNIX mit dem Internet erlangt.
- Graphische Oberfläche ist extra, X-Windows ist sehr verbreitet
- Für Datenbanken ist UNIX traditionellerweise nicht gegeignet
(Datenbank will für Transaktionslogdateien Rawdevice, d.h
sie programmiert um Betriebssystem herum)
Aber ORACLE,INFORMIX,ADABAS gibt es für UNIX.
Man kauft also ein Betriebsystem nach dem Datenbanksystem und nicht
umgekehrt.
- Sicherheitsmechanismus einfach, aber vorhanden
(Für Banken etwas schwach)
Kritik an Unix
David Chisnall: 10 Things I Hate about (U)NIX:
- Das Paradigma, dass alles eine Datei ist, passt nicht
- z.B. manchmal kann man suchen (Datei), manchmal nicht (Serielle Verbindung, Socket)
- synchone System Calls
- asynchrone Systemcalls haben auch Vorteile, z.B. ein Prozeß kann sein zugeteiltes Quantum auskosten. (Gegenargument: Es gibt Threads)
- Keine Callback-Funktionen für Kern in UserProgrammen
- Doch: signale, aber keine Parameter. Umgehung wäre: Prozeß wartet mit read(2) bzw. select(2) auf einer speziellen Datei.
- Kaum Metadaten über Dateien
-
es bleibt dem Nutzer überlassen, wie er die Dateien nennt.
Der Anfang einer Unix-Datei (Kommando file) bestimmt eigentlich die Metainformation. Aber das ist in der Datei.
Zukunft von UNIX
Warum sollte man UNIX verwenden ?
Kaufmännisch bitte insbesondere darauf hinweisen, daß UNIX durch
POSIX ein offenes System ist, wo man von verschiedenen Herstellern
Implementierungen und Hardware kaufen kann.
Jeder vernünftige Kaufmann macht da einen Freudensprung
(DOSI-> weder technisch noch kaufmännisch Ahnung)
Achso: die Zukünftigen Systeme werden POSIX emulieren. Man wird nur
nicht merken, daß nicht nur ein Rechner, sondern ein ganzes Netz
dahinter steckt. Deswegen kann man auch heute mit guten Gewissen
zu UNIX/LINUX raten.
Links
Allgemein
- Single Unix-System V3, UNIX98
- Hier wird von der X_Open-Group festgelegt, was nun UNIX genau umfasst.
- Unix Guru Universe
- Umfangreiche Sammlung von Artikeln über UNIX
- Wikepedia über Unix
- Eric Steven Raymond: "The Art of Unix Programming"
Einführungen
- OpenBook Wie werde ich zum Unix Guru
-
Implementierungen
und weitere, z.B. XENIX
Microsoft und UNIX und die DOSen-Händler
Noch ein Treppenwitz der Geschichte:
In [Deitel84] steht geschrieben, daß Microsoft ein ganz tolles Betriebsssystem hat:
XENIX. Damals wurde der Intel 8086/8088 erwartet, der keine MMU für den
virtuellen Speicher hat. Daher wird MS DOS ein abgemagertes Xenix werden.
1987 wurde XENIX von IBM abgeboten auf dem 80286. (Ich habe noch einen
Verkaufsprospekt eines PC-Händlers )
Meinung dazu
Leider haben die DOSenfreunde das nie kapiert, und so ist DOS7.0 alias
Windows95/98 fast 10 Jahre später Technologisch immer noch nicht auf dem
Stand....
Aus diesem Grund findet man nur rückverdummte Informatiker, die damit
umgehen, kein ernstzunehmenden Informatiker beschäftigt sich mit diesem Müll,
der nur in der 8088-Zeit gut war.
Genau diese technologischen Unwissenden verkaufen nun WindowsNT ....
(Natürlich habe ich vor den wirtschaftlichen Leistungen der DOSen-Händler
großen Respekt, sie haben ihre Kunden wohl zufrieden gestellt, Arbeitsplätze
geschaffen und damit Familien ernährt, usw.
Aber, mit etwas mehr Wissen hätten sie das selbe auch mit XENIX machen können,
und hätten so ihre bemerkenswerten Leistungen auch bringen können und
die Kunden wären noch zufriedener gewesen.
Damit so etwas nie wieder vorkommt, gibt es bei uns in Ravensburg den
Informatik- und Netzwerkverein,
damit man erst diskutiert, bevor man aus Unwissenheit einen Schaden anrichtet.
)
WindowsNT ist aber an sich ein moderneres System wie UNIX.
Die Mehrheit der WindowsNT-Freunde kommt zwar aus der unwissenden DOSen-Tradition. Es gibt auch Leute, die WindowsNT aus konzeptionellen und technischen Gründen
(Kleinkern, Multithreading, API, Multimedia, ...) Argumenten gut finden, die nicht "beschimpft" werden sollen.
(Es gibt auch eine POSIX-Schnittstelle, sogar die GNU-Umgebung gibt es).
Aber WindowsNT kann die DOSen Tradition nicht ganz abstreiten.
Meist kann man als gewöhnlicher Anwender einfach Software installieren,
was eben zur VirenProblematik führt.
Ein Nachfolger von UNIX ist MACH, (Kleinkern), und WindowsNT-Entwickler
sollen mit MACH promoviert worden sein.
Ein Grund der unzureichenden Leistung von WindowsNT könnte sein ,daß es sich um ein Kleinkernsystem der 1. Generation handelt, vergl. Architekturfragen.
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber