| 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 konnten bzw. diese gemeinsam nutzen konnten. Das sich daraus entwickelnde Betriebssystem wurde u.a. auf einer PDP 11 programmiert und 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 und 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 u.a. 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 wie Solaris oder 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 hiess 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 (Berkley 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 unix 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: unix DEC BSD TCP-IP SMTP POSIX | |||||
| 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 unix linux X-Window-System Open-Source Fedora-Core PGP GIMP | |||||
| 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: unix linux POSIX GNU-Projekt | |||||
| 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: unix Open-Group linux Kernel Shell Daemon BSD Mac-OS-X Datei-Endung-H | |||||
| Link: http://www.opengroup.org/austin/papers/posix_faq.html | |||||
| BSD | |||||
|
Berkeley Software Distribution. Unix-Implementierung der Universität von Berkeley (1977 gestartet). In vielen Unix Derivaten sind Codesegmente von BSD zu finden. Nachfolger von BSD und freie Versionen sind: NetBSD (1993), FreeBSD (1993) und OpenBSD (1995). DragonFly BSD ist der neueste Abkömmling und stammt aus dem Jahr 2003. BSD ist lizenziert durch die BSD-Lizenz. Die BSD-Lizenz ähnelt der GNU. Sie erlaubt die freie Benutzung der Programme. |
|||||
| Siehe auch: GPL GNU unix windows Solaris LGPL Kernel POSIX | |||||
| Link: http://www.bsd.org | |||||
| rsh | |||||
| Siehe auch: SSH unix linux Kernel | |||||
| Security-Access-Manager | |||||
| Siehe auch: unix POSIX Security-Accounts-Manager | |||||