Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Systemabsturz (Kernel-Panic) Administration Dynamische Bibliotheken »

Der Kernel

Der Kernel von UNIX könnte als das Hauptprogramm des Betriebssystems bezeichnet werden. In der klassischen Variante enthält er alles, was zum Betriebssystem gehört. Vom Prozessmanager (dem Scheduler), über die Speicherverwaltung, das Dateisystem bis hin zu den Gerätetreibern war alles ein einziges Programm. In den Anfangstagen von UNIX lag das Betriebssystem als Source vor, und es wurde vom Administrator an die Bedürfnisse seiner Umgebung angepasst. Anschließend wurde es mit dem mitgelieferten C-Compiler übersetzt. Die Konstanten, die das Laufzeitverhalten prägten, wurden an die Einsatzumgebung der Maschine angepasst, die benötigten Treiber wurden ausgewählt, und danach wurde ein Kernel gebildet.Eigentlich müsste es korrekt »Kernel bauen« heißen, da es sich vom englischen Wort build herleitet. Inzwischen ist der Begriff »bilden« bereits so verbreitet, dass er nur noch Administratoren mit abgebrochenen Germanistikstudium stört. Dieser Kernel wurde dann in das Rootverzeichnis gelegt.

Fast alle großen Hersteller von UNIX liefern heute weder die Quelltexte aus, noch ist ein Compiler im Paket enthalten. Das hat mehrere Gründe. Zum einen ist die Art der Anpassung nicht gerade besonders komfortabel. Das Übersetzen ist eine langwierige Geschichte. Das Ausliefern des Quelltextes möchte man vermeiden, um der Konkurrenz keinen Einblick in die eigenen Fortschritte zu geben, und schließlich erhofft man sich durch den Verkauf des Compilers als separates Paket ein Zusatzgeschäft.

Die meisten Parameter des Betriebssystems können heute dem Betriebssystem mitgeteilt werden, ohne eine Neukompilierung durchzuführen. Einige Größen, wie beispielsweise die Anzahl der Plattenpuffer, werden nicht mehr festgelegt. Stattdessen stellt das Betriebssystem Puffer dynamisch zur Verfügung, wenn sie erforderlich sind. Treiber werden nicht mehr in den Kernel integriert, sondern als Module während des Laufs hinzugezogen. Das Bilden des Kernels wird darum auf den meisten UNIX-Plattformen durch ein menügesteuertes Systemtool erreicht und hat mit dem Kompilieren früherer Zeiten nicht mehr viel zu tun.

Linux wird, allerdings aus anderen Gründen, heute noch mit dem kompletten Quellcode ausgeliefert. Auch ein Compiler wird mitgeliefert, sodass das Bilden des Kernels durch mehrere Aufrufe von make (siehe S. make) abläuft. Nur wenige Parameter werden allerdings noch durch das Ändern von Konstanten im Quellcode angepasst. Normalerweise sind solche Parameter durch Umgebungsvariablen einstellbar. Auch die meisten Treiber werden als Module beim Start geladen. Nur bei einigen exotischen Geräten muss man noch selbst Treiber aktivieren oder deaktivieren. Durch die Möglichkeit, Fähigkeiten des Kernels wegzulassen, kann man allerdings sehr spezialisierte, kleine Kernel bauen, die auch auf leistungsschwacher Hardware noch laufen.

Generieren eines Linux-Kernels

Das Generieren des Kernels erfolgt durch Aufrufe des Programmes make mit unterschiedlichen Zielen.

Mit make config wird ein Dialog gestartet, in dem man wie in einem Multiple-Choice-Test beantwortet, welche Bestandteile der neue Kernel haben soll. Nacheinander werden die Bestandteile angeboten. Der Administrator muss entscheiden, ob er die jeweilige Fähigkeit einbinden will oder nicht, oder ob sie als Modul zur Verfügung stehen soll. Es werden schlüssige Voreinstellungen vorgeschlagen, und zur Unterstützung gibt es kleine Hilfetexte zu jedem Thema.

Der Aufruf von make dep ermittelt die Abhängigkeiten anhand des Konfigurationslaufs und stellt zusammen, welche Dateien für den Kernel gebraucht werden.

Ein make bzImage erzeugt schließlich den Kernel und generiert auch gleich den passenden Booteintrag. Wenn man sich noch nicht so ganz sicher ist, kann man auch erst einmal eine Diskettenversion erzeugen. Der Befehl lautet dann make bzdisk. Vorher sollte eine formatierte Diskette ins Laufwerk gesteckt werden.

Basteleien am Kernel sind durchaus riskant. Die Mindestsicherheitsvorkehrungen sind eine Sicherungskopie des bisherigen, funktionierenden Kernels und ein Medium (CD oder Diskette), mit dem man das System so weit booten kann, um den gesicherten Kernel wieder an seine ursprüngliche Position zu bringen.



Unterabschnitte
    • Generieren eines Linux-Kernels

  • Dynamische Bibliotheken
  • Module


« Systemabsturz (Kernel-Panic) | Administration | Dynamische Bibliotheken »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de