Powered by Ubuntu Linux
Consulting · Produkte · Support · Training · Verlag
Drucken ·

Was ist UNIX, Linux, Free/Net/OpenBSD und GNU?

Das Betriebssystem Linux      5.1 UNIX-Historie
 1.1 Linux-Historie      5.2 UNIX-Prinzipien
 1.2 Eigenschaften von Linux      5.3 UNIX-Standards
 1.3 Gründe für Linux      5.4 Grafische Oberflächen
 1.4 Einsatzgebiete von Linux      5.5 Besondere UNIX-Ableger
 1.5 Linux-Distributionen       5.5.1 GNU
Das GNU-System       5.5.2 MINIX
 2.1 GPL       5.5.3 Linux
 2.2 LGPL      5.6 Besondere UNIX-Firmen
BSD-Systeme       5.6.1 Novell
System X       5.6.2 SCO (Santa Cruz Operation)
Das UNIX-System     

1 Das Betriebssystem Linux Top

1.1 Linux-Historie Top

Linux ist ein frei verfügbares ("Open Source") und zu UNIX kompatibles Betriebssystem (auf API- und Kommandozeilen-Ebene, nicht auf Binärcode-Ebene), das 1991 von dem damals 21 Jahre alten finnischen Informatik-Studenten Linus Torvalds begonnen wurde.

Der Studienanfänger an der Universität von Helsinki war mit den vorhandenen PC-UNIX-Versionen für Intel Prozessoren unzufrieden und begann — auf einem damals hochmodernen Intel-386SX-PC — sein eigenes UNIX-kompatibles Betriebssystem (auf API- und Kommandozeilen-Ebene, nicht auf Binärcode-Ebene) zu bauen, das er später nach seinem Vornamen (Linux = "Linus' UNIX") benannte (der erste Versuch einer Namensgebung lautete übrigens "Freax", wahrscheinlich wäre Linux mit diesem Namen nie berühmt geworden ;-). In einer seiner ersten Mails vom 3.7.1991 in diesem Zusammenhang sucht er nach der POSIX Standard Definition, die die API- und Kommandozeilen-Ebene eines UNIX-kompatiblen Betriebssystems beschreibt.

   From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
   Newsgroups: comp.os.minix
   Subject: Gcc-1.40 and a posix-question
   Message-ID:
   Date: 3 Jul 91 10:00:50 GMT
   Hello netlanders,
   Due to a project I'm working on (in minix), I'm interested in the posix
   standard definition. Could somebody please point me to a (preferably)
   machine-readable format of the latest posix rules? Ftp-sites would be
   nice.

Als Basis dieser Entwicklung verwendete er zunächst das UNIX-Lernsystem MINIX des Informatikprofessors und Betriebssystem-Experten Andrew S. Tanenbaum, das er aber bereits sehr früh durch sein eigenes Linux-System ersetzen konnte (oder "musste": Der Sage nach ging seine Festplatte mit dem MINIX-Entwicklungssystem kaputt, als eine erste Version von Linux fast lauffähig war und er musste sich entscheiden…).

Nach seinem inzwischen berühmten ersten "Posting" zu Linux am 25.8.1991 mit der Ankündigung seines Vorhabens

   From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
   Newsgroups: comp.os.minix
   Subject: What would you like to see most in minix?
   Summary: small poll for my new operating system
   Message-ID:
   Date: 25 Aug 91 20:57:08 GMT
   Organization: University of Helsinki
   Hello everybody out there using minix -
   I'm doing a (free) operating system (just a hobby, won't be big and
   professional like gnu) for 386(486) AT clones. This has been brewing
   since april, and is starting to get ready.  I'd like any feedback on
   things people like/dislike in minix, as my OS resembles it somewhat
   (same physical layout of the file-system (due to practical reasons)
   among other things).
   I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
   This implies that I'll get something practical within a few months, and
   I'd like to know what features most people would want.  Any suggestions
   are welcome, but I won't promise I'll implement them :-)
                 Linus (torvalds@kruuna.helsinki.fi)
   PS.  Yes - it's free of any minix code, and it has a multi-threaded fs.
   It is NOT protable (uses 386 task switching etc), and it probably never
   will support anything other than AT-harddisks, as that's all I have :-(.

und einer weiteren Mail vom 5.10.1991 von Ihm zur ersten Freigabe einer Linux-Version

 From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
   Newsgroups: comp.os.minix
   Subject: Free minix-like kernel sources for 386-AT
   Message-ID:
   Date: 5 Oct 91 05:41:06 GMT
   Organization: University of Helsinki
   Do you pine for the nice days of minix-1.1, when men were men and wrote
   their own device drivers? Are you without a nice project and just dying
   to cut your teeth on a OS you can try to modify for your needs? Are you
   finding it frustrating when everything works on minix? No more all-
   nighters to get a nifty program working? Then this post might be just
   for you :-)
   As I mentioned a month(?) ago, I'm working on a free version of a
   minix-lookalike for AT-386 computers.  It has finally reached the stage
   where it's even usable (though may not be depending on what you want),
   and I am willing to put out the sources for wider distribution.  It is
   just version 0.02 (+1 (very small) patch already), but I've successfully
   run bash/gcc/gnu-make/gnu-sed/compress etc under it.
   Sources for this pet project of mine can be found at nic.funet.fi
   (128.214.6.100) in the directory /pub/OS/Linux.  The directory also
   contains some README-file and a couple of binaries to work under linux
   (bash, update and gcc, what more can you ask for :-).  Full kernel
   source is provided, as no minix code has been used.  Library sources are
   only partially free, so that cannot be distributed currently.  The
   system is able to compile "as-is" and has been known to work.  Heh.
   Sources to the binaries (bash and gcc) can be found at the same place in
   /pub/gnu.
   ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled
   (and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to
   set it up if you want to run it, so it is not yet a standalone system
   for those of you without minix. I'm working on it. You also need to be
   something of a hacker to set it up (?), so for those hoping for an
   alternative to minix-386, please ignore me. It is currently meant for
   hackers interested in operating systems and 386's with access to minix.
   The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If
   you are still interested, please ftp the README/RELNOTES, and/or mail me
   for additional info.
   I can (well, almost) hear you asking yourselves "why?".  Hurd will be
   out in a year (or two, or next month, who knows), and I've already got
   minix.  This is a program for hackers by a hacker.  I've enjouyed doing
   it, and somebody might enjoy looking at it and even modifying it for
   their own needs.  It is still small enough to understand, use and
   modify, and I'm looking forward to any comments you might have.
   I'm also interested in hearing from anybody who has written any of the
   utilities/library functions for minix. If your efforts are freely
   distributable (under copyright or even public domain), I'd like to hear
   from you, so I can add them to the system. I'm using Earl Chews estdio
   right now (thanks for a nice and working system Earl), and similar works
   will be very wellcome. Your (C)'s will of course be left intact. Drop me
   a line if you are willing to let me use your code.
                 Linus
   PS. to PHIL NELSON! I'm unable to get through to you, and keep getting
   "forward error - strawberry unknown domain" or something.

begannen sich viele Leute dafür zu interessieren und seitdem wurde Linux von ihm und vielen Freiwilligen auf der Welt weiterentwickelt (die geraden Versionsnummern bezeichnen Produktions-Versionen, fehlende ungerade Versionsnummern ab 1.0 bezeichnen Entwicklungs-Versionen; seit 2.6.0 wird das Entwicklungsmodell "Rolling-Releases" verwendet; die Versionsnummer 3.0 wurde willkürlich eingeführt, um ein neues Numerierungsschema beginnen zu können):

VersionDatum
0.01Sep 1991
0.02Okt 1991
0.11Dez 1991
0.12 = 0.9Jan 1992
0.95Mär 1992
0.96Apr 1992
0.97Aug 1992
0.98Okt 1992
   
VersionDatum
0.99Dez 1993
1.0Mär 1994
1.2Mär 1995
2.0Jun 1996
2.2Jan 1999
2.4Jan 2001
2.6.0 - 2.6.39Dez 2003 - Jun 2011
3.0Jul 2011

Berühmt wurde auch der Disput zwischen Linus Torvalds und Andrew S. Tanenbaum im Januar/Februar 1992, der mit dem berühmten Satz "Linux is obsolete" (Linux ist überflüssig) begann.

Professor Tanenbaum meinte damit vor allem die technologische Rückständigkeit des anfangs monolithischen, nicht portierbaren Linux-Kernels (lief nur auf i386) gegenüber modernen Betriebssystemen mit Micro-Kerneln, aber auch die verteilte und ungesteuerte Entwicklung von Linux.

Heutzutage ist Linux natürlich auf viele Hardware-Plattformen portiert und aus dem monolithischen Kernel wurde ein modularer Kernel (eine Zwischenstufe zwischen monolithischem und Micro-Kernel). Der Entwicklungsprozeß ist nach wie vor verteilt, aber es gibt Kontroll-Instanzen und einen kleinen Kreis von Entwicklern, der die strategischen Entscheidungen trifft.

Torvalds konterte diesen damals berechtigten Einwand, indem er mit ein paar geschickten Entscheidungen Linux auf einen langfristigen Erfolgkurs brachte:

  • Freigabe des Linux-Codes unter der GPL
  • Vollständige Offenlegung des Entwicklungsprozesses
  • Verwendung der bereits vorhandenen GNU-Software statt Neuentwicklung
  • Beteiligung vieler Entwickler weltweit
  • Berücksichtigung von Anwenderwünschen
  • Orientierung an offenen Standards (z.B. POSIX, XPG, OSF, COSE, RFCs, …)
  • Mäßige Kontrolle des Entwicklungsprozesses
  • Strenge Trennung von Produktions- (gerade Nummern) und Entwicklungs-Versionen (ungerade Nummern)
  • Sorgfältige Tests vor der Freigabe einer Version
  • Kein Marketing
  • Technische Orientierung
  • Pragmatismus
Diese Kombination, das zunehmend für Privatanwender erschwingliche Internet und die Tatsache, dass die Zeit dafür einfach "reif" war, haben Linux zu einem sehr erfolgreichen Betriebssystem gemacht.

Der Pinguin "Tux" (geschaffen von dem Cartoonisten Larry Ewing) ist seit 1996 das offizielle Maskottchen von Linux, da Linus Torvalds eine Vorliebe für Pinguine hat, seitdem er im Zoo von Canberra von einem dieser kälteliebenden Frackträger gebissen wurde:

Selbstverständlich gibt es auch einen echten Pinguin namens Tux: Führende Köpfe der Linux-Community adoptierten 1997 anläßlich des Geburtstags von Linus Torvalds für diesen einen Schwarzfußpinguin im Zoo von Bristol (Großbritannien):

1.2 Eigenschaften von Linux Top

Im Unterschied zu Windows ist Linux nicht nur auf Intel-i386-PCs, sondern auch auf vielen anderen Hardware-Plattformen einsetzbar:
  • ARM (Acorn)
  • AMD x86-64 (64 Bit, Opteron)
  • AVR32 (Atmel)
  • AXIS CRIS
  • DEC Alpha (jetzt HP, vorher Compaq)
  • DEC VAX
  • Hitachi SuperH
  • HP PA-RISC
  • IBM PowerPC
  • IBM S/390 (Mainframe, 31 Bit)
  • IBM S/390x (Mainframe, 64 Bit)
  • Intel i386 (32 Bit)
  • Intel IA-64 (Itanium)
  • Intel Strong-ARM
  • Motorola 68k
  • Renesas M32R
  • SGI MIPS
  • SUN Sparc und UltraSparc
Linux bietet die gesamte Funktionalität, die man von einem modernen Betriebssystem erwartet:
  • Multiuser-Betrieb
  • Echtes (präemptives) Multitasking
  • Hierarchisches Dateisystem (aber keine Laufwerksbuchstaben)
  • Geräteunabhängigkeit
  • Netzwerkfähigkeit
  • Ausgereiftes Zugriffsrechte-System (z.B. auch ACLs)
  • Symmetric Multi Processing-Unterstützung (SMP)
  • Threads ("Lightweight" Processes)
  • Virtuelle Speicherverwaltung
  • Speicherschutz-Mechanismen
  • Dynamisch nachladbare Bibliotheken
  • Hohe Netzwerk-Performance
  • Grafische Oberfläche (X Windows System, KDE, GNOME — auf Wunsch)
Alle diese Eigenschaften machen Linux zu einer sehr guten Lösung für viele Einsatzgebiete. Linux wird daher bereits auf Millionen von Rechner weltweit erfolgreich eingesetzt.

1.3 Gründe für Linux Top

  • Ausgereift, extrem stabil und performant (seit 15 bzw. 40 Jahren am Markt)
  • Hält viele Standards ein (POSIX, X/Open, RFC, …)
  • Viele fertige Tools + Entwicklungs-Werkzeuge vorhanden
  • Automatisierbar durch programmierbare Shell
  • Fern-Administration integriert
  • Portabel
  • Resourcen-schonend
  • Genau auf die Anforderungen "zuschneiderbar"
  • Keine grafische Oberfläche notwendig (z.B. bei Servern)
  • 32/64-Bit-Prozessoren werden unterstützt

Einige vordergründig nicht-technische Gründe für den Einsatz von Linux sind:

  • Deutlich weniger anfällig gegen Angriffe (als z.B. Windows; aufgrund seiner geringen Verbreitung und der überlegenen Sicherheitsmerkmale)
  • Keine Abhängigkeit von einem Hersteller
  • Mehr Wettbewerb
  • Lizenzkostenfrei
  • Die "Funktionsweise" ist vollständig dokumentiert
  • Die "Innereien" sind zugänglich
  • An Standards orientiert
  • Man kann daran "herumbasteln"
  • Man kann mit daran entwicklen
  • Verschworene "Community"
  • Einfach "Hip"

1.4 Einsatzgebiete von Linux Top

Benutzt wird Linux von privaten Anwendern, Ämter, Behörden, Ausbildungseinrichtungen, Schulen, Stadtverwaltungen, Universitäten, Forschungszentren, kleinen, mittleren und großen Firmen, die es aus den verschiedensten Gründen als Alternative zu anderen Betriebssystemen sehen.

Die Hauptanwendungsgebiete von Linux sind derzeit:

  • Im Server-Bereich (Datei-, Drucker-, Mail-, WEB-, FTP-, Anmelde-Server)
  • In der Internet-Infrastruktur (DNS, Router)
  • Im Netzwerk-Sicherheitsbereich (Proxy, Gateway, Firewall)

Aber auch als Desktop auf Anwender-Clients wird Linux mehr und mehr eingesetzt, da zu einer ganzen Reihe von sogenannten Standard-Anwendungen unter Windows vergleichbar leistungsfähige und stabile(re) Produkte unter Linux existieren:

Microsoft Windows Linux/GNU
.NET/C# DotGNU, Mono
Access OpenOffice-Base, Rekall
Acrobat Reader Xpdf, Kpdf
Active Directory OpenLDAP
Bilder/Fotoverwaltung F-Spot, gThumb
Excel OpenOffice-Calc
Exchange Exim, Postfix, Qmail, Sendmail
Frontpage Bluefish, Coffecup, NVU, Quanta
Illustrator, Freehand, Coreldraw, Xara Inkscape
Internet Explorer Firefox, Galeon, Konqueror, Lynx, Opera
Internet Information Server (IIS) Apache
Media Player Mplayer, Vlc, Xine
Mindmapper vym — View Your Mind
Nero Abcde, Brasero, K3b
Norton Commander Midnight Commander
Notepad Gedit, Kate
Office Applixware, KOffice, OpenOffice, StarOffice
Outlook Evolution, Horde, Kontact, Thunderbird
MP3-Player Amarok, Helix, XMMS
Photoshop Gimp
Powerpoint OpenOffice-Impress
Project MrProject
Quark Express Applixware, Scribus
Quicken GNUCash
SQL Server MySQL, PostgreSQL
Taschenrechner Kcalc
Desktopsuche Beagle, Tracker
Visio Dia
Visual Studio Eclipse, Kdevelop
Windows Linux + XFree86/Xorg + KDE/GNOME
Windows Explorer Konqueror, Nautilus
Winrar 7-Zip
Word OpenOffice-Writer
Write Kwrite
Xara 3D Blender
Scannen XSane

1.5 Linux-Distributionen Top

Für Linux-Systeme gibt es nicht wie sonst üblich nur einen Hersteller beziehungsweise Vertreiber, sondern mehrere sogenannte "Distributoren" stehen im Wettbewerb miteinander (nur eine kleine Auswahl):

Eine Distribution ist eine Zusammenstellung folgender Bestandteile zu einem Paket:

  • CDs/DVDs mit Linux-Betriebssystem und mehreren 1000 Anwendungs-Programmen
  • Grafisches Installations- und Administrations-Programm mit Hardwareerkennung
  • Gedrucktes Installations- und Anwender-Handbuch
  • Zeitlich begrenzter Installations-Support per Telefon oder E-Mail

Linux wurde zunächst ausschließlich über das Internet verteilt. Mit der stark steigenden Zahl von verfügbaren (Anwendungs)Programmen hat sich der Vertrieb über Distributionen mit CDROMs und DVDs etabliert und wird zunehmend mit Supportdienstleistungen verknüpft.

Eine Distribution kostet zwischen 20,- und 100,- Euro für 1-7 CDs (oder 1-2 DVDs) und ein oder mehrere Handbücher. Für Firmen gibt es inzwischen professionell orientierte Distributionen mit Wartungsverträgen und mehrjähriger Weiterentwicklungs- und Supportgarantie, die dann allerdings erst ab 400.- bis 2000.- Euro erhältlich sind. Interessant (und teuer) sind diese professionellen Distributionen vor allem deshalb, weil sie vom Hersteller für Hardware wie DELL, HP, IBM und für Software wie ORACLE, Sybase, SAP zertifiziert sind.

2 Das GNU-System Top

Im Zusammenhang mit Linux muss auf jeden Fall das GNU-System (GNU steht für "Ghee it's not UNIX" oder "GNU's not UNIX") erwähnt werden. Es bildet zusammen mit dem Linux-Kern das Linux-Betriebssystem, man sollte also eigentlich immer von "Linux/GNU" oder "GNU/Linux" sprechen.

Genau genommen bezeichnet "Linux" nämlich nur den ursprünglich von Linus Torvalds entwickelten "Kern" des Betriebssystems. Dieser Kern bietet ausschließlich Basisfunktionalitäten und ist für sich alleine nicht verwendbar. Er ist im wesentlichen für die Ansteuerung der Hardware (Treiber) und für die Koordination von Hard- und Software verantwortlich (Ressourcenverteilung für Speicher, CPU, I/O-Kanäle und Netzwerk).

Ein "richtiges" Betriebssystem entsteht erst durch das Hinzufügen weiterer — für einen sinnvollen Einsatz unbedingt notwendiger — Komponenten wie z.B.

  • Kommandozeilen-Werkzeuge
  • Programmierumgebungen
  • Netzwerksoftware (Server und Clients)
  • Grafische Oberflächen
    • X Window (grundlegende Grafik-Funktionen)
    • KDE (Kool Desktop Environment)
    • GNOME (GNU Network Object Model Environment)

GNU wurde ebenfalls als UNIX-kompatibles Betriebssystem (auf API- und Kommandozeilen-Ebene, nicht auf Binärcode-Ebene) von Richard Stallman 1984 begonnen, als dieser sich über seine Abhängigkeit von Software-Herstellern ärgerte, die nicht bereit waren, Fehler aus ihrer Software zu entfernen. Er gründete 1985 die FSF (Free Software Foundation) und ersann die GPL (GNU General Public License), eine "revolutionäre" Software-Lizenz, die so ganz anders geartet war als alle bis dahin bekannten Lizenz-Spielarten von Software-Herstellern.

Allerdings begann Herr Stallman mit der Realisierung seines UNIX-Ersatz-Systems am anderen Ende. Nicht der Kern des Betriebssystems wurde zuerst implementiert, sondern die vielen für ein Betriebssystem notwendigen Werkzeuge außen herum wurden von ihm und seiner Gruppe implementiert bzw. von anderen Gruppen in dieses System integriert, z.B.:

  • Editoren "emacs" und "vim"
  • Portabler GNU-C-Compiler "gcc"
  • Portabler GNU-C++-Compiler "g++"
  • Portabler GNU-Fortran-Compiler "f77"
  • Portabler GNU-Awk-Interpreter "gawk"
  • Portabler GNU-PostScript-Interpreter "ghostscript"
  • Kommandozeilenorientierter GNU-Debugger "gdb"
  • Grafischer GNU-Debugger "ddd"
  • GNU-make "gmake"
  • Kommando-Shell "bash"
  • Scanner-Generator "flex" und Parser-Generator "bison"

Lange bevor der geplante eigene GNU-Betriebssystem-Kern "Hurd" (Hird of UNIX-Replacing Daemons) verfügbar wurde, hatte sich aber bereits der "Linux"-Kern von Linus Torvalds durchgesetzt. Das offizielle Maskottchen von GNU ist ein "Gnu":

2.1 GPL Top

Hauptsächlicher Grund für die weite Verbreitung von Linux ist — neben der technologischen Qualität — dass es von Anfang an unter die im Zusammenhang mit dem GNU-Projekt entwickelte GPL (GNU General Public License) gestellt wurde.

Diese Lizenz garantiert jedem den kostenlosen Zugang zum Quellcode von Linux. Linux darf und muss frei und kostenlos kopiert, übertragen, verteilt, eingesetzt, verändert und erweitert werden. Entwickler haben daher vollständigen Einblick in den Quellcode. Sie können somit sehr einfach neue Funktionalitäten ergänzen bzw. (sicherheitsrelevante) Programmierfehler schnell finden und beheben.

Treiber für neue Hardware (z.B. SCSI Controller, Grafikkarten, WLAN, Fernsehkarten, …) können dadurch ebenfalls sehr schnell integriert werden (sofern ihre Ansteuerung vom Hardware-Hersteller offengelegt wird, was leider nicht immer der Fall ist ;-(). Allerdings führt die Verwendung von GPL-Software zusammen mit eigenentwickelter Software dazu, dass diese eigene Software ebenfalls automatisch unter der GPL steht ("Copyleft-Prinzip").

2.2 LGPL Top

Die LGPL (GNU Lesser General Public License) (und auch z.B. die BSD-Lizenz) erlaubt im Gegensatz zur GPL den Einsatz zusammen mit eigenentwickelter Software, ohne dass diese offengelegt werden muss. Unter die LGPL fallen z.B. die mit dem gcc oder g++ mitgelieferten C- und C++-Bibliotheken.

Viele Software-Pakete (z.B. Qt oder MySQL) kommen auch in Form von 2 Lizenzen. Einer kostenfreien unter der GPL und einer kommerziellen (mit Kosten verbundenen) unter einer anderen Lizenz. Dies erlaubt jedem die Entscheidung, ob er seine Software offenlegt und keine Lizenzgebühren zahlt oder ob er lieber Lizenzgebühren zahlt und dafür seine Software-Quellen nicht offenlegt.

3 BSD-Systeme Top

Neben Linux gibt es noch weitere UNIX-kompatible Open Source Betriebssysteme (auf API- und Kommandozeilenebene, nicht auf Binärcode-Ebene), z.B. eine Linie die aus dem UNIX-Derivat BSDLite 4.4 (Berkeley Software Distribution) entstanden ist:
  • Darwin (Open Source BSD-OS von Apple, Grundlage von System X)
  • DragonflyBSD (Abspaltung von FreeBSD)
  • FreeBSD (sehr optimiertes und robustes BSD-UNIX)
  • NetBSD (sehr portables BSD-UNIX)
  • OpenBSD (sehr sicheres BSD-UNIX, Ableger von NetBSD)
Weitere Links zu BSD.

4 System X Top

Das seit einigen Jahren als Nachfolger von MacOS auf Apple-Rechnern eingesetzte Betriebssystem System X ist ebenfalls ein BSD-UNIX-Derivat. Es hieß früher NeXTStep und stammte ursprünglich von der Firma NeXT, die dem Apple-Mitgründer Steve Jobs gehörte und später von Apple aufgekauft wurde. Das Original-NeXTStep-System wird als GNUstep/OpenStep weitergeführt

Im Unterschied zu Linux basiert NeXTStep (und damit auch System X) auf dem fortschrittlichen Micro-Kernel MACH 2.5. Weitere bahnbrechende Besonderheiten von NeXTStep waren die Verwendung von Display PostScript statt X Window für die grafische Oberfläche und von Objective C als Programmiersprache.

5 Das UNIX-System Top

UNIX ist eigentlich eine portable Betriebssystemfamilie mit den beiden Hauptlinien
  • BSD-UNIX (Berkeley Software Distribution von der University of California at Berkeley)
  • UNIX System V (ursprüngliches UNIX-System von den AT&T Bell Laboratories)
Es bildet die Grundlage für fast alle heutigen kommerziellen und nichtkommerziellen Betriebssysteme. "UNIX" ist mittlerweile ein geschütztes Markenzeichen der Open Group. Alle vergangenen und heute existierenden UNIX-Systeme wie
  • AIX (IBM)
  • HP/UX (Hewlett-Packard)
  • Irix (Silicon Graphics)
  • NextStep (Next)
  • SCO UnixWare (Santa Cruz Operation)
  • SunOS (SUN Microsystems)
  • Solaris (SUN Microsystems)
  • Tru64 (Compaq)
  • Ultrix (Digital Equipment Corporation)
stammen von einer der beiden Hauptlinien ab (Linux ist hingegen eine komplette Neuentwicklung). UNIX ist sicher eines der einflussreichsten Betriebssysteme im Bereich der modernen Computernutzung.

5.1 UNIX-Historie Top

Vorläufer des Betriebssystems UNIX war das System MULTICS, das um 1965 gemeinsam von den Hardware-Herstellern General Electric, Honeywell, dem MIT (Massachusetts Institute of Technology) und den AT&T Bell Laboratories begonnen wurde. Aufgrund seiner hohen Komplexität und der damals noch nicht ausreichend fortgeschrittenen Hardware-Technologie scheiterte dieses Projekt jedoch.

Einige der in den Bell Laboratories von AT&T an MULTICS beteiligten Entwickler (Dennis Richie, Doug McIlroy, Joseph Ossanna, Brian Kernighan, Ken Thompson) implementierten ausgehend von diesen Erfahrungen ab 1969 dann ein viel kleineres Multi-User-Betriebssystem auf einem Minicomputer PDP-7 von DEC (Digital Equipment Corporation), zunächst noch in Assembler (Maschinensprache).

Ziel war es, ein Mehrbenutzersystem zu schaffen, das zur Programmierung und zur Bildung einer Gemeinschaft der Benutzer dienen sollte. Die PDP/7-Hardware war denkbar einfach (16 + 8 KByte Speicher, 512 KByte Festplatte, Dateigröße maximal 64 KByte), daher wurden in dem Projekt einige weitreichende Entscheidungen getroffen, die auch heute noch in UNIX-Systemen anzutreffen sind (siehe UNIX-Prinzipien).

Das System wurde 1970 auf eine PDP-11 migriert und intern im Patentbüro der Bell Laboratories als Textverarbeitungssystem eingesetzt. Der Begriff "UNIX" entstand als eine "Verballhornung" des Begriffs "UNICS" (Uniplexed Information & Computing Service), der wiederum vom Begriff "MULTICS" (Multiplexed Information & Computing Service) abgeleitet war.

1971-1973 wurde UNIX (bis auf wenige Teile) in der höheren Programmiersprache C neu implementiert (Abkömmling von B bzw. BCPL bzw. NB, erst damit wurde es wirklich portabel) und auf eine PDP-11/74 portiert (in diesem Zusammenhang entstand auch das Konzept der Pipes). 1974 wurde dieses System unter dem Namen UNIX V4 abgeschlossen.

UNIX wurde 1973 einer breiteren Öffentlichkeit bekannt, als es auf einer Tagung (ACM Symposium) vorgestellt wurde und 1974, als dieser überarbeitete Vortrag unter dem Titel "The UNIX Time-Sharing System" in der Zeitschrift CACM erschien. Das Interesse an diesem System wuchs und viele wollen es einsetzen. Aufgrund der Monopolstellung von AT&T im Telefon-Markt durft das UNIX-System nicht verkauft werden, und so wurde der Quellcode des Systems (!) gegen einen geringen Unkostenbeitrag an Interessierte "verschenkt".

Das System wurde daher von vielen Hardware-Herstellern und Universitäten eingesetzt und erweitert, vor allem an der University of California at Berkeley, die das später sehr verbreitete BSD-UNIX schuf. 1980 wurde es dort auch auf einen damals verbreiteten Computer, die 32-Bit-Maschine VAX der Firma Digital Equipment Corporation portiert (die erste 32-Bit-Version von UNIX).

Ab 1979 versuchte AT&T mit UNIX V7 das System kommerziell zu vermarkten. Auch Microsoft versucht mit XENIX eine kommerzielle Portierung auf Intel 80286 Prozessoren, übergibt aber später die Rechte an diesem System an die Firma SCO (Santa Cruz Operation).

Ab 1980 finanziert die DARPA (Defense Advanced Research Projects Agency) für mehr als 20 Jahre die BSD-UNIX-Entwicklung an der UCB (University of California at Berkeley, auch "Cal"), vor allem, um das gerade entwickelte TCP/IP-Protokoll zu verbreiten, das als kriegswichtig galt.

Die verschiedenen UNIX-Linien begannen im Zuge dieses Prozesses immer mehr auseinanderzulaufen, was z.B. die Portierung von Software oder die einheitliche Systemadministration erschwerte (siehe UNIX-Versions-Geschichte).

5.2 UNIX-Prinzipien Top

Das Betriebssystem UNIX wurde auf Basis folgender Prinzipien konzipiert und realisiert, die seine "Essenz" ausmachen. Sie sind auch heute noch für die Eleganz (und auch die Widersprüchlichkeiten) des UNIX-Systems verantwortlich.
  • Prinzipien
    • "Small is beautiful"
    • KISS = "keep it simple stupid"
    • Portabilität ist mehr wert als Effizienz ("C statt Assembler")
    • Prozess-Erzeugung muss billig sein ("fork")
    • GROSS/Kleinschreibung zählt (fast alles wird klein geschrieben)
  • Dateisystem
    • Ein logischer hierarchischer Dateibaum (eine Wurzel)
    • Dateien sind ein Strom von Bytes
    • Standard-Dateiformat ist die "flache" ASCII-Datei (in Zeilen strukturierte Textdatei)
    • Jedes Programm kennt 3 standardmäßig geöffnete Dateien: Standard-Eingabe, -Ausgabe und -Fehlerkanal
    • Hardware (Geräte) ist per Dateiname ansprechbar ("alles ist eine Datei")
    • System- und Benutzerdaten sind streng getrennt
  • Werkzeuge
    • Viele kleine spezialisierte und standardisierte Werkzeuge
    • Werkzeuge sind als "Filter" realisiert
    • Werkzeuge sind leicht kombinierbar (durch Umlenkung, Pipe)
  • Benutzerschnittstelle
    • Kommandozeilenorientierte Benutzerschnittstelle ("Shell statt GUI")
    • Der Befehlsinterpreter ist nicht Teil des Betriebssystems (Shell)
    • Keine unnötigen Ablaufmeldungen ("stumm")
    • Keine Rückfragen ("der Benutzer weiß was er tut")
    • Kurze und prägnante Fehlermeldungen
    • Vollständige Dokumentation online verfügbar (Manual-Pages)
  • Zugriffsrechte
    • Multiuser-System
    • Jede Datei ist einem Besitzer zugeordnet
    • Überschaubar (im wesentlichen 3 Stück: read, write, execute)
    • Normale Benutzer dürfen fast alles ansehen, aber fast nichts verändern

5.3 UNIX-Standards Top

Da es aufgrund der historischen Entwicklung nicht "das UNIX-System" gab, versuchten ab den 80-er Jahren einige Organisationen wie
  • OSF (Open Software Foundation)
  • UI (UNIX International)
  • X/Open (Bison, europäische Anwender)
über eine Reihe von Standards das UNIX-System zu vereinheitlichen:
  • COSE (Common Open Software Environment)
  • POSIX (Portable Operating System Interface)
  • SUS (Single UNIX Specification)
  • SVID (System V Interface Definition)
  • XPG (X/Open Portability Guide)
  • XSI (X/Open System Interface)

Aufgrund der Rivalitäten unter den einzelnen Herstellern (als "UNIX-Krieg" bekannt) und einer Reihe von Copyright-Prozessen zwischen AT&T und BSD scheiterten alle diese Bemühungen oder zogen sich zumindest sehr lange hin. Inzwischen erfüllen aber die meisten UNIX-System den System V- und POSIX-Standard, der eine Zusammenfassung von SysV und BSD darstellt.

5.4 Grafische Oberflächen Top

Zunächst kannten die einzelnen UNIX-Systeme noch keine grafische Benutzerschnittstelle (GUI). Mit der Entwicklung der grundlegenden und portablen Grafik-Schnittstelle X11 Window am MIT (Massachusetts Institute of Technology) wurde diese Art der Benutzung eines UNIX-Systems aber immer interessanter. Leider entwickelten sich auch hier viele verschiedene, untereinander inkompatible Ansätze wie z.B.:
  • CDE (Common Desktop Environment)
  • Looking Glass
  • MOTIF
  • OpenLook
  • OpenWindows (SUN)
  • VUE (Visual User Environment, Hewlett Packard)
  • Wabi (Windows Binary Application Interface, SUN)

Inzwischen haben sich als Standard aber folgende Grafische Oberflächen herausgebildet:

  • GNOME (GNU Network Object Model Environment)
  • KDE (Kool Desktop Environment)

Das erste "Posting" zu KDE am 14.10.1996 von Matthias Ettrich.

5.5 Besondere UNIX-Ableger Top

5.5.1 GNU Top

Aus Ärger über die zunehmende Kommerzialisierung von UNIX begann Richard Stallman 1984 das UNIX-kompatible Betriebssystem GNU (auf API- und Kommandozeilen-Ebene, nicht auf Binärcode-Ebene) als vollständige Neuentwicklung. Dieses System ist nicht-kommerziell und ist im Quellcode erhältlich.

5.5.2 MINIX Top

Ab 1987 entwickelte der Informatik-Professor Andrew S. Tanenbaum ein PC-basiertes UNIX namens MINIX zu Lehrzwecken, da das Original-UNIX-System von AT&T auch für Universitäten nicht mehr umsonst verfügbar war. Dieses System wurde bewußt nicht kommerziell vertrieben, sondern war gegen einen geringen Betrag inklusive Quellcode erhältlich.

5.5.3 Linux Top

Mit der Schaffung des freien UNIX-Systems Linux durch Linus Torvalds als Neuimplementierung von UNIX ab 1991 hat der lange gehegte Traum eines einheitlichen UNIX-Systems wieder neue Nahrung bekommen. Als Ausgangsbasis verwendete er dabei obiges MINIX, das er aber sehr schnell durch sein selbst programmiertes System ersetzte. Auch das MINIX System ist nicht-kommerziell und im Quellcode erhältlich.

Die Kombination Linux + GNU bildet heute das am weitesten verbreitete UNIX-System und erfüllt viele der obigen UNIX-Standards. Linux setzt inzwischen auch Standards, weil es begonnen hat, die anderen UNIX-Derivate zu verdrängen.

5.6 Besondere UNIX-Firmen Top

5.6.1 Novell Top

Von 1993-1995 besaß die Firma Novell die Rechte an UNIX, verkaufte sie dann aber an die Firma Caldera International (heute SCO). Ende 2004 hat Novell erneut den Einstieg in das UNIX-Geschäft vollzogen, indem es den weltweit zweitgrößten Linux-Distributor SuSE AG (aus Deutschland) übernahm.

5.6.2 SCO (Santa Cruz Operation) Top

Seit 2003 führt die Firma SCO (bzw. nun UnXis) eine Copyright-Klage gegen IBM und diverse andere Linux-Hersteller und -Benutzer. Grundlage dieser Klage ist die Behauptung, dass in Linux Quellcode aus dem Original-UNIX-System einkopiert wurde, und die Firma SCO sich als Besitzer des Original UNIX-Quellcodes fühlt.

Dieses Gerichtsverfahren zieht sich seit über 10 Jahren hin und wird noch lange nicht abgeschlossen sein, da die Anwälte der Firma SCO ständig neue Anträge (z.B. auf zusätzliche Informationsbeschaffung seitens IBM) stellen und Anklagen gegenüber weiteren Firmen (z.B. Novell) erheben, ohne bisher einen einzigen wirklichen Beweis für ihre Behauptung angetreten zu haben. Die Chancen der Firma SCO, ihre Auffassung durchzusetzen, werden von den meisten Marktteilnehmern inzwischen als sehr gering eingeschätzt.


© 2003-2017 OSTC GmbH — $linuxgnu.pg,v 1.45 2016/11/15 07:17:09$