First page Back Continue Last page Overview Text

Notes:


Unix ist ein Mehrbenutzersystem, bei dem sich alle Anwender die Ressourcen (insbesondere Rechenzeit und Speicherplatz) teilen müssen.

Jeder Benutzer hat ein Kontingent (eine "Zeitscheibe") an Rechenzeit und kommt reihum mal dran. Deshalb kann es etwas dauern, erneut Rechenzeit zu erhalten, wenn die Zeitscheibe gerade erschöpft worden ist.

Prinzipiell gibt es zwei Typen von Anwendungen:

Interaktive Anwendungen verbrauchen nur einen Bruchteil ihrer jeweiligen

Zeitscheiben. Zum Beispiel verarbeitet Emacs den aktuellen Tastendruck (das geht sehr schnell) und verzichtet auf den Rest der Zeitscheibe, um auf einen weiteren Tastendruck zu warten.

Rechenintensive Anwendungen verbrauchen hingegen mehrere Zeitscheiben vollständig hintereinander.

Rechenintensive Anwendungen sollte man mit "nice" starten, damit sie

Rücksicht auf die interaktiven Anwendungen nehmen. Dadurch erhalten

interaktive Anwendungen ihre Zeitscheibe schneller zurück, sobald eine Eingabe erfolgt. Das merkt man zum Beispiel in Emacs dadurch, dass das entsprechende Zeichen schneller nach einem Tastendruck ausgegeben wird.

Da diese interaktiven Anwendungen nur sehr wenig Rechenzeit verbrauchen bis sie ihre Zeitscheibe wieder abgeben (zum Beispiel weil sie auf den nächsten Tastendruck warten), macht es kaum etwas aus wenn sie häufiger zum Zuge als die “nice”- Prozesse kommen: Die "nice"-Prozesse werden kaum ausgebremst und alle Benutzer können komfortabler arbeiten.

Übungsaufgabe 3.9.1

Startet xclock einmal normal und einmal mit “nice”:

> xclock &

> nice xclock &

Schaut euch mit ps alle Prozesse an, die ihr momentan laufen habt, und sucht in der Ausgabe von ps nach Unterschieden zwischen den beiden xclocks.