24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

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.

2.1 Grundbegriffe 19<br />

Zweck dieser Sche<strong>in</strong>welt 2 ist, den Benutzer von den Beschränkungen der harten<br />

Welt zu befreien. Die Kosten dafür s<strong>in</strong>d e<strong>in</strong>e erhöhte Komplexität des Betriebssystems<br />

und Zeit. Reichlich reale Betriebsmittel s<strong>in</strong>d immer noch das<br />

Beste.<br />

An fast allen Aktivitäten des Computers ist der zentrale Prozessor beteiligt.<br />

E<strong>in</strong> Prozessor erledigt zu e<strong>in</strong>em Zeitpunkt immer nur e<strong>in</strong>en Auftrag.<br />

Der Verteilung der Prozessorzeit kommt daher e<strong>in</strong>e besondere Bedeutung<br />

zu. Wenn <strong>in</strong> e<strong>in</strong>em leistungsfähigen Betriebssystem wie <strong>UNIX</strong> mehrere Programme<br />

(genauer: Prozesse) gleichzeitig Prozessorzeit verlangen, teilt das<br />

Betriebssystem jedem nache<strong>in</strong>ander e<strong>in</strong>e kurze Zeitspanne zu, die nicht immer<br />

ausreicht, den jeweiligen Prozess zu Ende zu br<strong>in</strong>gen. Ist die Zeitspanne<br />

(im Millisekundenbereich) abgelaufen, beendet das Betriebssystem den Prozess<br />

vorläufig und reiht ihn wieder <strong>in</strong> die Warteschlange e<strong>in</strong>. Nach Bedienung<br />

aller anstehenden Prozesse beg<strong>in</strong>nt das Betriebssystem wieder beim ersten,<br />

so daß bei den Benutzern der E<strong>in</strong>druck mehrerer gleichzeitig laufender Prozesse<br />

entsteht. Dieser Vorgang läßt sich durch e<strong>in</strong>e gleichmäßig rotierende<br />

Zeitscheibe veranschaulichen, von der jeder Prozess e<strong>in</strong>en Sektor bekommt.<br />

Die Sektoren brauchen nicht gleich groß zu se<strong>in</strong>. Diese Form der Auftragsabwicklung<br />

wird präemptives oder verdrängendes Multi-Task<strong>in</strong>g genannt<br />

(lat. praeemere = durch Vorkaufsrecht erwerben). Das Betriebssystem hat sozusagen<br />

e<strong>in</strong> Vorkaufsrecht auf die Prozessorzeit und verdrängt andere Prozesse<br />

nach Erreichen e<strong>in</strong>es Zeitlimits.<br />

<strong>E<strong>in</strong>f</strong>achere Betriebssysteme (Apple System 7, MS-W<strong>in</strong>dows) verwalten<br />

zwar auch e<strong>in</strong>e Warteschlange von Prozessen, vollenden aber e<strong>in</strong>en Auftrag,<br />

ehe der nächste an die Reihe kommt. Die Prozesse können sich kooperativ<br />

zeigen und den Platz an der Sonne freiwillig räumen, um ihren Mitbewerbern<br />

e<strong>in</strong>e Chance zu geben; das Betriebssystem erzw<strong>in</strong>gt dies jedoch nicht.<br />

Versucht e<strong>in</strong> nicht-kooperativer Prozess, die größte Primzahl zu berechnen,<br />

warten die Mitbenutzer lange. Noch e<strong>in</strong>fachere Betriebssysteme (MS-DOS)<br />

richten nicht e<strong>in</strong>mal e<strong>in</strong>e Warteschlange e<strong>in</strong>.<br />

Den Algorithmus zur Verteilung der Prozessorzeit (schedul<strong>in</strong>g algorithm)<br />

kann man verfe<strong>in</strong>ern. So gibt es Prozesse, die wenig Zeit beanspruchen, diese<br />

aber sofort haben möchten (Term<strong>in</strong>aldialog), andere brauchen mehr Zeit,<br />

aber nicht sofort (H<strong>in</strong>tergrundprozesse). E<strong>in</strong> Prozess, das auf andere Aktionen<br />

warten muß, zum Beispiel auf die E<strong>in</strong>gabe von Daten, sollte vorübergehend<br />

aus der Verteilung ausscheiden. Man muß sich vor Augen halten, daß<br />

die Prozessoren heute mit hundert Millionen Takten und mehr pro Sekunde<br />

arbeiten. Mit e<strong>in</strong>em e<strong>in</strong>zelnen Bildschirmdialog langweilt sich schon e<strong>in</strong><br />

Prozessor für zwo fuffzich.<br />

Das Programm, das der Prozessor gerade abarbeitet, muß sich im Arbeitsspeicher<br />

bef<strong>in</strong>den. Wenn der Prozessor mehrere Programme gleichzeitig <strong>in</strong><br />

Arbeit hat, sollten sie auch gleichzeitig im Arbeitsspeicher liegen, denn e<strong>in</strong><br />

ständiges E<strong>in</strong>- und Auslagern vom bzw. zum Massenspeicher kostet Zeit. Nun<br />

2 In <strong>UNIX</strong> kann e<strong>in</strong> Benutzer, den es nicht gibt (e<strong>in</strong> Dämon), e<strong>in</strong> File, das es nicht<br />

gibt (e<strong>in</strong>e Oracle-View), auf e<strong>in</strong>em Drucker, den es nicht gibt (e<strong>in</strong> logischer Drucker),<br />

ausgeben, und es kommt am Ende e<strong>in</strong> reales Blatt Papier mit Text heraus.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!