| Unix | |||||
|
Unix ist ein Betriebssystem, das in den 60er Jahren von den Bell Laboratories (heute: AT&T) entwickelt wurde. Es unterteilt sich in einen Kernel, das Dateisystem und die Shell. Eigenschaften sind: Multiuser-System, Multitaskingfähigkeit, enge Beziehung zur Programmiersprache C, hohe Stabilität, Speicherschutz, virtueller Speicher, TCP/IP-Netzwerkunterstützung, Multithreading, sehr gute Scriptingfähigkeit, viele Tools (Unix Kommandos) und einige Daemonen. Daemon Ein Daemon (Disk and execution monitor) ist ein Dienst oder Programm, das im Hintergrund abläuft. Sie werden durch ein Drittes Programm oder eine Netzwerkanfrage bzw. durch Pipes aktiviert. Beispiele für Daemons sind: Netzwerkdienste, E-Mail-Server, Datenbankserver, Print-Server, Hardwarekonfigurationsprogramme oder Hardware-Überwachungsprogramme. Unix-Geschichte UNIX-Entwickler der ersten Stunde waren in den frühen 70er Jahren: Dennis Ritchie, Ken Thompson und Douglas McIlroy. Der Name Unix geht auf das Multics-Projekt zurück (MIT, General Electric, Bell Labs, IBM mit PL/1), welches 1965 auf der Fall Joint Computer Conference angestossen wurde. Das Multics Betriebssystem-Projekt war jedoch zu ehrgeizig in seinen Zielen und scheiterte an den damals verfügbaren Hardware-Ressourcen. Die späteren UNIX Entwickler liessen sich jedoch nicht entmutigen und wollten ein Mehrbenutzersystem schaffen, welches ein gemeinsames Programmieren und Arbeiten an einem System erlauben sollte. Beispielsweise sollte es möglich sein, dass mehrere User an einer Datei gleichzeitig arbeiten und gemeinsam nutzen konnten. Das sich daraus entwickelnde Betriebssystem wurde u.a. auf einer PDP 11 programmiert. Brian Kernighan (Kanadischer Informatiker, Co-Autor von C) nannte es Unics, da es ein Multics sei, dass lediglich 2 User unterstütze. Daraus entwickelte sich der Name Unix. Die spätere Schreibweise UNIX hing mit der Begeisterung der Entwickler für Kapitälchen zusammen die mit dem Unix Textsatzprogramm Troff möglich waren. Unix-Kernel Der Kernel von Unix verwaltet die Hardware und deren Prozesse sowie das Dateisystem und den Netzwerkprotokollstapel. Systemaufrufe aus Prozessen wie forc oder exec triggern weitere Prozesse und dienen zur Kommunikation mit dem Dateisystem. Der Systemaufruf Fork erzeugt vom aktuellen Prozess eine Kopie die als Kindprozess des erzeugenden Programms dient. Dieser Kindprozess erhält vom Elternprozess Daten, Maschinencode und Befehlszähler und vom Betriebssystem eine eigene PID (Process IDentifier = Prozessnummer). Dadurch kann Unix den Kindprozess als eigene Instanz der Anwendung und unabhängig vom Elternprozess ausführen. Das Dateisystem ist hierarchisch strukturiert - es können an jede Datei je nach Bedarf Unterdateien angehangen werden. Ausgangspunkt ist das Wurzelverzeichnis - die Root. Da alles als Datei abgebildet werden soll, werden auch Peripheriegeräte (optische Laufwerke, Drucker, Floppy), Festplatten oder verbundene Netzwerkrechner an das Dateisystem angehängt (Kommando: mount). Auch die Zugriffe auf Hardware-Treiber werden im Dateisystem durch Zugriffe auf dafür vorgesehene Dateien geregelt: durch diese Handhabung sind Zugriffe auf Dateien und Hardwarekomponenten für die Prozessteuerung vereinheitlicht. Anwendungen können mit einheitlichen Schnittstellen zum Betriebssystem versorgt werden, so dass Systemaufrufe mit open, write oder read allgemein möglich sind. Unix-Shell Die Shell dient als Benutzerschnittstelle bzw. Kommandozeileninterpreter: der User kann Kommandos eintippen, welche dann direkt ausgeführt werden. Unter Unix stehen viele verschiedene Shells mit eigenen Scriptsprachen zur Verfügung. Die Unix-Shell ist aus Prozessicht nicht privilegiert, im Gegensatz zu vielen Kommandozeileninterpretern anderer Betriebssysteme. Bekannte Unix-Shells sind: Thompson Shell, Bourne Shell, C-Shell (alle Frühphase), Bourne Again Shell, Job Control Shell, Korn Shell, Almquist Shell, TENEX-C Shell oder Z-Shell. Die Shell ermöglicht dem User über bestimmte Kommandos eine Ein-/Ausgabeumleitung in die angehängten Dateien des Systems, sowie über die Pipes eine Kommunikation zwischen den Prozessen. Auch grafische Benutzeroberflächen wurden entwickelt. Beispiele hierfür sind Solaris und X-Window. Unix-Derivate Es existieren zahlreiche Unix-Derivate: HP-UX (Hewlett-Packard), AIX (IBM), Solaris (Sun Microsystems), IRIX (Silicon Graphics), DG-UX (Data General) oder SINIX (Siemens). Es existieren noch weitere UNIX-Ableger die von der AT&T Linie her abstammen: UNIX System V und Tru64 UNIX. Tru64 UNIX ist eine kommerzielle UNIX-Version die auf dem Mach-Mikrokernel basiert und die 64-Bit Alpha Mikroprozessor Architektur (DEC) unterstützt. Tru64 UNIX wurde als OSF/1 (Open Software Foundation) gestartet und hieß zwischenzeitlich Digital Unix (Dunix). GNU Hurd Das von der Open Software Foundation (OSF) und Richard Stallman im Rahmen des GNU Projektes entwickelte freie Betriebssystem GNU (GNU is not UNIX) basiert ebenfalls auf dem Mach Mikrokernel und den dazugehörigen Diensten (GNU Hurd). GNU Hurd ist ein zweistufiges, indirektes Akronym: erste Stufe: HIRD of Unix-Replacing Daemons ("Herde Unix ersetzende Daemons"), HIRD bedeutet wiederum: HURD of Interfaces Representing Depth ("Herde von Tiefe darstellenden Schnittstellen"). GNU soll eine freie und vollwertige Alternative zu UNIX werden. Die BSD-Linie (Berkeley Software Distribution) basierte ursprünglich auf dem Original Unix, hat sich inzwischen jedoch verselbständigt. Linux ist nach Unix-Prinzipien aufgebaut. |
|||||
| Siehe auch: Kernel vi Solaris BSD Shell GNU X-Window-System Daemon Mach-Mikrokernel POSIX | |||||
| Es wurden weitere Begriffe gefunden: | |||||
| LGPL | |||||
|
GNU Lesser General Public License. Es handelt sich um eine freie Lizenz der Free Software Foundation (FSF). Sie wurde hauptsächlich für Programmbibliotheken geschaffen und hiess früher Library General Public License. In der LGPL wird die Idee des Copyleft umgesetzt: freie Software soll ein Urheberrecht besitzen, welches die uneingeschränkte Verbreitung von Kopien oder veränderten Versionen erlaubt. Bedingung ist, dass man Usern, welche eine Kopie erhalten, dieselben Freiheiten beim Umgang mit den Kopien oder Versionen erlaubt, die man selber hatte. Dies betrifft insbesondere das freie Kopieren, aber auch die Pflicht, bei Weitergabe von Versionen mit eigenen Weiterentwicklungen, diese dem nächsten Besitzer frei (auch für eigenen Weiterentwicklungen/Veränderungen) zur Verfügung zu stellen. Copyleft ist ein Wortspiel aus dem englischen Copyright (right=Recht, aber auch "rechts") und left, im Sinne von to leave = überlassen, aber auch "links"). Das Copyleftzeichen ist ein Copyrightzeichen (©) mit vertikal gespiegeltem "C", welches nach links offen ist. |
|||||
| Siehe auch: GNU-Projekt GPL Open-Source Freeware GCC | |||||
| Ultrix | |||||
|
Ultrix oder Digital Unix wurde 1982 von der Digital Equipment Corporation (DEC) für die VAX, DECstation und DECserver Workstations entwickelt. Ultrix ist ein Unixderivat und basiert auf 4.2BSD und unterstützt sowohl TCP/IP als auch DECnet. Als E-Mail Protokoll kann sowohl SMTP als auch Mail-11 verwendet werden. Die Entwicklung von Ultrix wurde 1995 eingestellt. |
|||||
| Siehe auch: POSIX DEC BSD TCP-IP SMTP | |||||
| GPL | |||||
|
GNU General Public License. Es handelt sich hierbei um eine Lizenzvereinbarung für GNU-Software der FSF (Free Software Foundation) und anderer Programmierer, die ihre Software dieser Lizenz unterstellen. Dadurch soll die Software frei verfügbar sein, das Kopieren ist erlaubt und kann kostenlos oder gegen ein Entgelt erfolgen. Der Quellcode wird meistens offen (Free Software) mitgegeben. Die Programme unterliegen dem Copyleft, d.h. man gibt die Programme weiter unter denselben Bedingungen, wie man sie empfangen hat. Es ist also auch erlaubt, die Software zu modifizieren, in andere Programme einzubinden oder weiterzuentwickeln. Der Empfänger der modifizierten Software besitzt die gleichen Rechte wie der Programmierer selbst. Die private und kommerzielle Nutzung der Software ist ausdrücklich erlaubt. Freie Software im Sinne der Free Software Foundation meint ähnliches wie Open Source. Bei Open Source ist jedoch nicht gewährleistet, dass der Empfänger dieselben Rechte hat wie der Entwickler (Copyleft). Beispielsweise ist das Krypto-Programm PGP (Pretty Good Privacy) Open Source, darf aber nicht verändert oder weitergegeben werden. |
|||||
| Siehe auch: GNU-Projekt GPL LGPL PGP GIMP X-Window-System Open-Source Fedora-Core | |||||
| Daemon | |||||
|
Disk and execution monitor. Ein Daemon ist ein Dienst oder Programm unter UNIX oder Linux, das im Hintergrund abläuft. Sie werden durch ein Drittes Programm oder eine Netzwerkanfrage bzw. durch Pipes aktiviert. Beispiele für Daemons sind: Netzwerkdienste, E-Mail-Server, Datenbankserver, Print-Server, Hardwarekonfigurationsprogramme oder Hardware-Überwachungsprogramme. Konkrete UNIX-Daemons sind: line printer daemon (lpd): Daemon der auf Druckaufträge wartet und diese abarbeitet, hypertext transfer protocol daemon (httpd): Webserver, common unix printing system daemon (cupsd): Druckerserver uvam. |
|||||
| Siehe auch: POSIX GNU-Projekt GCC | |||||
| GNU-Projekt | |||||
|
GNU is not Unix. Das 1984 gegründete Projekt hat sich zum Ziel gesetzt, ein freizugängliches, auf Unix-Prinzipien basierendes Betriebssystem zu entwickeln. Die Ursprünge des Projektes gehen zurück auf Richard Stallman, der seine Stelle am Massachusetts Institute of Technology (MIT) kündigte, um sich ganz dem GNU-Projekt widmen zu können, und um zu verhindern, dass die Rechte des GNU-Projektes auf das MIT übergehen könnten. Die Software unterliegt der GPL (GNU General Public License) und wird von der FSF (Free Software Foundation) verwaltet. |
|||||
| Siehe auch: GNU GPL LGPL Open-Source Mach-Mikrokernel | |||||
| Link: http://www.gnu.org | |||||
| vi | |||||
|
Der Unix-Standard-Editor vi ist auf jedem Unix/Linux-System verfügbar. vi wird schon seit vielen Jahren auf Unix-Systemen eingesetzt. Seine für Anfänger kryptische Bedienung erklärt sich aus der langen Geschichte dieses Editors. In jedem Fall ist es sinnvoll, einige Grundlagen über den vi zu erfahren, weil dieser Editor immer verfügbar ist, auch auf einem minimalen System. Grundkenntnisse in der Bedienung des vi sind für jeden Benutzer eines Unix/Linux Systems notwendig, spätestens wenn er in den Bereich der Systemadministration vordringt. |
|||||
| Siehe auch: POSIX Daemon Open-Group BSD | |||||
| POSIX | |||||
|
Portable Operating System Interface for UniX. POSIX wurde von der IEEE und der Open Group entwickelt und ist ein Set von Schnittstellen für UNIX-basierende Betriebssysteme. Durch diese standardisierten Schnittstellen laufen Anwendungen, die den POSIX-Standard einhalten, auf verschiedenen Betriebssystemen. POSIX-Spezifikationen Die Spezifikationen umfassen Basisdefinitionen (inklusive verfügbarer C-Headerdateien), Shell und Utilities (Kommandozeileninterpreter und Hilfsprogramme), Thread-Erweiterungen, Echtzeit-Erweiterungen (Realtime-Extensions) sowie eine System-Schnittstelle (Liste von zu unterstützenden C-Systemaufrufen). Im POSIX Standard wird die Korn Shell verwendet. Durch C-Funktionen werden Ein-/Ausgabedienste zur Verfügung gestellt, sowie die Prozess- und Benutzerverwaltung. POSIX-konforme Betriebssysteme POSIX-konforme Betriebssysteme sind: Mac OS X (Darwin), Solaris, BSD/OS, HP-UX, AIX, OpenVMS, MINIX, VxWorks, RTEMS (Real-Time Operating System for Multiprocessor Systems) oder A/UX. Betriebssysteme die sich weitesgehend an den POSIX-Standard halten sind: OpenBSD, FreeBSD, NetBSD und die meisten Linux-Distributionen. POSIX-Normen Die meisten POSIX-konformen Betriebssysteme halten sich an die älteren Normen der IEEE (Institute of Electrical and Electronics Engineers) IEEE 1003.1 und IEEE 1003.2. Die neuere Norm wurde in Kooperation mit der Open Group entwickelt: IEEE Standard 1003.1 - 2001 (2001) und den technischen Ergänzungen Technical Corrigendum 1 (TC1) und Technical Corrigendum 2 (TC2) im Jahr 2004. Es besteht die Möglichkeit, ein Betriebssystem bei der Open Group der POSIX-Zertifizierung zu unterziehen. |
|||||
| Siehe auch: Daemon Open-Group BSD Kernel Shell Datei-Endung-H | |||||
| Link: http://www.opengroup.org/austin/papers/posix_faq.html | |||||