Wie funktioniert Linux?
Der Überblick: Struktur und Eigenschaften
Einführung
Linux
- ist ein Unix-ähnliches Betriebssystem
-
- freie Software
-
- unterliegt der GNU General Public License
- offene Quellen, änderbar
- Weiterentwicklungen müssen die Quellen ebenfalls offenlegen
- keine Lizenzgebühren
- implementiert die Unix-Schnittstellen, enthält jedoch keinen lizenzpflichtigen Unix-Quellcode
- steht für eine neue Art der kooperativen Software-Entwicklung
-
- hunderte Entwickler weltweit
- Kommunikationsbasis: Internet
- umfasst
-
- Linux-Kernel (das eigentliche Betriebssystem)
- zahlreiche Anwendungen, u.a.
-
- grafische Bedienoberflächen
- Office-Anwendungen (Textverarbeitung, -layoutgestaltung, Tabellenkalkulation, etc.)
- Grafikerstellung, -bearbeitung
- Präsentationsprogramme
- Datenbanken
- Internet Browser
- DOS/Windows/PC-Emulatoren
- Server für Internet- und Intranet-Anwendungen (WWW, E-Mail, File- und Druckserver, etc.)
- das Linux-Maskottchen heißt
Tux
Unix
- ist der Name für eine Familie von Betriebssystemen
-
- unterschiedlicher Hersteller
- auf unterschiedlichen Computerplattformen (vom PC bis zum Supercomputer)
- eine Bezeichnung für eine "Kultur": die Art und Weise des Computereinsatzes und der Computernutzung
- ein Werkzeugkasten: unzählige kleine Tools, die genau eine Aufgabe perfekt lösen und kombiniert werden können
- Entwicklungs- und Betriebsbasis des Internet und aller seiner Dienste
-
- Electronic Mail
- World Wide Web
- Usenet News
- FTP-Archive
- ...
- last but not least: fun
Meilensteine der Unix-Historie
- 1969 - Ken Thompson (Bell Labs (Tochtergesellschaft der AT&T)) schreibt das Original-UNIX in Assemblersprache der PDP7
- lange Zeit nur in diesem Unternehmen genutzt (zunächst keine kommerzielle Entwicklung)
- 1973 - Implementation in der Sprache C (Dennis Ritchie), Portierung auf PDP11
- 1978 - UNIX Version 7 als kommerzielles Produkt (in C)
- viele Systemhersteller lizensieren UNIX und portieren es auf ihre Hardware (u.a. Amdahl:UTS, DEC: ULTRIX, Hewlett-Packard: HP-UX, Microsoft: XENIX)
- an der University of California Berkeley (UCB) wird UNIX weiterentwickelt (BSD)
- 1979 - erste offizielle AT&T-Version System III
- 1983 - Beginn von Standardisierungsbemühungen: X/OPEN und POSIX
- 1984 - AT&T-Version System V
- 1986 - AT&T-Version System V.3; BSD 4.3
- 1988 - Gründung der OSF
- 1989 - AT&T-Version System V.4 (in enger Zusammenarbeit mit Sun)
- 1991 - Linux-Kernel (Linus Torvalds )
- seitdem: Übernahme bereits existierender freier Software auf Linux (GNU, wichtig: C-Compiler gcc)
- Linux ist ein weltweites Projekt im Internet (die meisten Entwickler haben sich nie getroffen)
- ab 1997 - zahlreiche kommerzielle Softwareanbieter bekennen sich zu Linux (Office-Anwendungen, Datenbanken, ...)
- ab 2000 - Rechnerhersteller bieten Linux als Betriebssystem an (IBM, SGI, ...)
Linux und andere Unixe
Kommerzielle und freie Unixe
- Kommerzielle Unix-Varianten
-
- Lizenzgebühren
- Quellen sind nicht (oder nur eingeschränkt) verfügbar
- wichtige Systeme (kein Anspruch auf Vollständigkeit)
-
Hersteller/zu beziehen über System Hardwareplattform/Prozessortypen Sun Solaris SPARC, x86 Hewlett-Packard HP-UX HP-PA SCO Unixware x86 Compaq/Digital Tru64 Unix Alpha Silicon Graphics IRIX MIPS IBM AIX Power PC
- freie Unix-Versionen
-
- keine Lizenzgebühren
- Quellen verfügbar
- kostenfreies Download über Internet
- kommerzielle Distributoren
- wichtige Systeme
-
System Hardwareplattform/Prozessortypen zu beziehen über Linux x86, SPARC, HP-PA, Alpha, MIPS, PowerPC, m68k, ... verschiedene Distributoren, http://www.linux.org/ FreeBSD x86 verschiedene Distributoren, http://www.freebsd.org/ NetBSD x86, SPARC, Alpha, MIPS, m68k, VAX, ... verschiedene Distributoren, http://www.netbsd.org/ OpenBSD x86, SPARC, Alpha, MIPS, m68k, PowerPC, ... http://www.openbsd.org/
Linux und OpenSource
- Open Source Software (OSS) ist eine Bewegung
- Ziel: Zuverlässigkeit und Qualität von Software fördern durch Offenlegung der Quellen
- diesen Zielen entsprechen verschiedene Lizenzen, z.B. GNU General Public License (GPL)
- Linux-Kernel und die meiste Software für Linux unterliegt der GPL
- Open Source ist das Marketing Programm für freie Software
Linux-Distributionen
- Zusammenstellungen eines installierbaren Systems, welches den Linux-Kernel enthält
- zu beziehen über Internet oder als Software-Paket mit Buch und mehreren CD-ROMs (typischerweise über Buchhandlungen)
- wichtige Distributionen
Struktur eines Linux/Unix-Systems
Arbeiten unter Linux
Zuerst: Anmelden (Login)
- an der Konsole (Terminal-Login)
-
morgana login: thm
Password:
morgana%# Nutzerkennzeichen eingeben
# Paßwort eingeben - wird nicht angezeigt
# Eingabeaufforderung der Shell (Prompt) - grafischer Login-Manager (hier: KDE)
- Nutzerkennzeichen/Passwort (Account) wird vom Systemadministrator (priviligierter Nutzer root) vergeben
- dient der Authentifizierung des Benutzers gegenüber dem System
- während Login-Vorgang wird der Nutzer in seiner Arbeitsumgebung plaziert
Arbeitsumgebung
- UID - User IDentification
Zahl - identifiziert den Benutzer im System- GID - Group IDentification
Zahl - identifiziert die Gruppe im System, zu der der Nutzer gehört- HOME-Verzeichnis
Verzeichnis im Filesystem, dort liegen die Daten des Nutzers- Login-Programm
dieses Programm wird gestartet (bei Terminal-Login bzw. von Terminal-Emulation)- für jeden Nutzer definiert, mittels Eintrag in /etc/passwd
-
morgana% grep $HOME /etc/passwd
thm:6j70HEvF6Cqg6:4753:102:Thomas Mueller,urz,531 1755:/home/thm:/bin/bash
morgana%allgemein:
Nutzerkennzeichen:Passwort:UID:GID:GECOS:HOME-Verzeichnis: Login-Programm - Login-Programm (typisch: Shell) definiert weitere Umgebungsbedingungen
Nach dem Login-Vorgang
Terminal-Login | grafischer Login-Manager |
|
|
Sitzung beenden
- nach der Arbeit am Unix-System: abmelden
- bei Arbeit am Terminal mit Kommando logout oder exit
- bei Arbeit mit grafischer Oberfläche durch entsprechenden Button oder Menü-Eintrag
Multitasking/Multiuser
Multitasking
- mehrere Aufgaben zur gleichen Zeit (unabhängig von Anzahl der Prozessoren)
- Prozessor-Leistung und RAM wird entsprechend Verfügbarkeit und Bedarf den einzelnen Aufgaben zugeteilt
- interaktive Nutzung: Nutzer kommuniziert mit dem Rechner
- Batch-Nutzung: Aufgaben werden im "Hintergrund" abgearbeitet

Bild: Multitasking - Zu einem Zeitpunkt belegt ein Programm die CPU
Multiuser
- mehrere Nutzer können gleichzeitig eine Maschine benutzen
- Zugang über mehrere direkt angeschlossene Terminals oder über das Netz
- Sicherheitsmechanismen verhindern gegenseitige Beeinträchtigung

Bild: Multiuser - mehrere Nutzer arbeiten gleichzeitig an einem Rechner
Zur Homepage des URZ Thomas Müller, Christoph Ziegler, 25. September 2001 |