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.

216 2 <strong>UNIX</strong><br />

<strong>in</strong> garantierten, kurzen Zeitspannen erledigt werden, hier darf das System<br />

ke<strong>in</strong>e Freiheiten haben. E<strong>in</strong> solches System mit e<strong>in</strong>em genau bestimmten<br />

Zeitverhalten nennt man Echtzeit-System (real time system). Um mit e<strong>in</strong>em<br />

<strong>UNIX</strong>-System Echtzeit-Aufgaben zu bewältigen, hat die Firma Hewlett-<br />

Packard ihr HP-UX um folgende Fähigkeiten erweitert:<br />

• Echtzeit-Vorrechte für bestimmte Benutzergruppen,<br />

• Verfe<strong>in</strong>erung der Prioritäten von Prozessen,<br />

• Blockieren des Arbeitsspeichers durch e<strong>in</strong>en Prozess,<br />

• höhere Zeitauflösung der System-Uhr,<br />

• verbesserte Interprozess-Kommunikation,<br />

• schnelleres und zuverlässigeres Filesystem,<br />

• schnellere E<strong>in</strong>- und Ausgabe,<br />

• Vorbelegung von Platz auf dem Massenspeicher,<br />

• Unterbrechung von Kernprozessen.<br />

Der Preis für diese Erweiterungen ist e<strong>in</strong> erhöhter Aufwand beim Programmieren<br />

und die gelegentlich nicht so effektive Ausnutzung der Betriebsmittel.<br />

Wenn Millisekunden e<strong>in</strong>e Rolle spielen, kommt es auf e<strong>in</strong>ige Kilobyte nicht<br />

an. Die nicht privilegierten Benutzer müssen auch schon e<strong>in</strong>mal e<strong>in</strong> bißchen<br />

warten, wenn e<strong>in</strong>e brandeilige Meldung bearbeitet wird.<br />

Bestimmte Benutzergruppen erhalten das Vorrecht, ihre Programme oder<br />

Prozesse mit Echtzeitrechten laufen zu lassen. Sie dürfen wie der Super-<br />

User höhere Prioritäten ausnutzen, bleiben aber wie andere Benutzer an<br />

die Zugriffsrechte der Files gebunden. Würde dieses Vorrecht allen gewährt,<br />

wäre nichts gewonnen. Der System-Manager vergibt mit setprivgrp(1M)<br />

die Vorrechte, mit getprivgrp(1) kann jeder die se<strong>in</strong>igen abfragen.<br />

E<strong>in</strong> Benutzer-Prozess hoher Priorität braucht nicht nur weniger lange<br />

zu warten, bis er an die Reihe kommt, er kann sogar e<strong>in</strong>en <strong>in</strong> Arbeit bef<strong>in</strong>dlichen<br />

Benutzer-Prozess niedriger Priorität unterbrechen (priority-based<br />

preemptive schedul<strong>in</strong>g), was normalerweise nicht möglich ist. Das Vorkommando<br />

rtprio(1) gibt ähnlich wie nice(1) e<strong>in</strong>em Programm e<strong>in</strong>e Echtzeit-<br />

Priorität mit, die während des Laufes vom System nicht verändert wird, aber<br />

vom Benutzer geändert werden kann.<br />

E<strong>in</strong> Prozess kann mittels des Systemaufrufs plock(2) se<strong>in</strong>en Platz im<br />

Arbeitsspeicher blockieren (memory lock<strong>in</strong>g), so daß er nicht durch Swapp<strong>in</strong>g<br />

oder Pag<strong>in</strong>g ausgelagert wird. Das trägt zu kurzen, vorhersagbaren Antwortzeiten<br />

bei und geht zu Lasten der nicht privilegierten Prozesse, falls der<br />

Arbeitsspeicher knapp ist.<br />

Die Standard-<strong>UNIX</strong>-Uhr, die vom cron-Dämon benutzt wird, hat e<strong>in</strong>e<br />

Auflösung von e<strong>in</strong>er Sekunde. Zu den Echtzeit-Erweiterungen gehören<br />

prozesseigene Uhren (<strong>in</strong>terval timer) mit im Rahmen der Möglichkeiten der<br />

Hardware def<strong>in</strong>ierbarer Auflösung bis <strong>in</strong> den Mikrosekundenbereich h<strong>in</strong>unter.<br />

Bei unserer Anlage beträgt die fe<strong>in</strong>ste Zeitauflösung 10 ms.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!