09.04.2014 Aufrufe

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

Linux Essentials//Die Einsteiger-Zertifizierung des LPI - Linup Front ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

12.3 Prozesse 171<br />

12.3 Prozesse<br />

Ein Programm, das gerade ausgeführt wird, nennt man »Prozess«. Neben dem eigentlichen<br />

Programmcode (in der Maschinensprache <strong>des</strong> jeweiligen Prozessors)<br />

gehören zu einem Prozess auch Arbeitsspeicher für die Daten und Verwaltungsinformationen<br />

wie die gerade aktuell offenen Dateien, eine Prozessumgebung<br />

(für die Umgebungsvariablen), ein aktuelles Verzeichnis und eine Prozessnummer<br />

oder »PID«, die den Prozess eindeutig im System identifiziert. Der Betriebs- PID<br />

systemkern kümmert sich um das Anlegen von Prozessen, um die Zuteilung von<br />

Rechenzeit und Arbeitsspeicher und um das Aufräumen hinter Prozessen, die<br />

sich beendet haben. Prozesse können den Betriebssystemkern aufrufen, um auf<br />

Dateien, Geräte oder das Netzwerk zuzugreifen.<br />

B<br />

B<br />

Neue Prozesse entstehen, indem existierende Prozesse sich – ganz wie Bakterien<br />

oder andere niedere Lebewesen – in zwei fast identische Kopien aufspalten<br />

(»fast identisch«, weil einer der Prozesse als »Elter« und einer als<br />

»Kind« gilt). Außerdem kann ein Prozess dafür sorgen, dass er ein anderes<br />

Programm ausführt: Wenn Sie in der Shell zum Beispiel das Kommando<br />

ls aufrufen, erzeugt die Shell einen Kindprozess, in dem zunächst auch<br />

der Programmcode der Shell ausgeführt wird. <strong>Die</strong>ser Code kümmert sich<br />

(unter anderem) darum, eine etwaige Ein- und/oder Ausgabeumlenkung<br />

in Kraft zu setzen, und ersetzt sich dann selbst durch die Programmdatei<br />

/bin/ls. Mit dem Ende <strong>des</strong> ls-Programms endet auch der Kindprozess, und<br />

die Shell fragt Sie nach dem nächsten Kommando.<br />

Der erste Prozess mit der PID 1 wird beim Systemstart vom Betriebssystemkern<br />

angelegt. Nach Konvention ist das ein Programm namens /sbin/init,<br />

und man spricht <strong>des</strong>halb auch vom »Init-Prozess«. Der Init-Prozess ist verantwortlich<br />

dafür, das System kontrolliert hochzufahren und zum Beispiel<br />

weitere Prozesse für Hintergrunddienste zu starten.<br />

ps Informationen über die Prozesse im System können Sie mit dem Kommando<br />

»ps« erhalten. Im einfachsten Fall zeigt ps Ihnen alle Prozesse, die auf Ihrem<br />

aktuellen Terminal (oder, heutzutage, im aktuellen Terminal-Fenster auf Ihrem<br />

Grafikbildschirm) laufen:<br />

$ ps<br />

PID TTY<br />

STAT TIME COMMAND<br />

997 pts/8 S 0:00 -bash<br />

1005 pts/8 R 0:00 ps<br />

$ _<br />

<strong>Die</strong> Spalten PID und COMMAND sprechen dabei für sich. TTY gibt den Namen <strong>des</strong> Terminals<br />

an (»pts/irgendwas« steht meist für ein Terminalfenster), TIME die Rechenzeit,<br />

die die Prozesse jeweils schon verbraucht haben, und STAT den »Prozesszustand«.<br />

B<br />

Ein Prozess ist bei <strong>Linux</strong> immer in einem von einer Reihe von Zuständen, Prozesszustand<br />

namentlich<br />

Lauffähig (runnable, R) Der Prozess kann Rechenzeit zugeteilt bekommen.<br />

Schlafend (sleeping, S) Der Prozess wartet auf ein Ereignis, typischerweise<br />

Ein- oder Ausgabe – einen Tastendruck oder Daten von der Platte.<br />

Im Tiefschlaf (uninterruptible sleep, D) Der Prozess wartet auf ein Ereignis<br />

und kann dabei nicht unterbrochen werden. Prozesse sollten nicht<br />

zu lange in diesem Zustand verbleiben, weil Sie sie sonst nur durch<br />

einen Systemneustart loswerden. Wenn das passiert, deutet das auf einen<br />

Fehler hin.<br />

Copyright © 2012 <strong>Linup</strong> <strong>Front</strong> GmbH

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!