Die Anzeige sieht etwa so aus:
Der gr�ne Teil des Graphen stellt die "Benutzer"-Belastung des Systems dar, w„hrend der blaue Teil die "IRQ"-Belastung darstellt. Die Prozentzahl, die in der Mitte angezeigt wird, gibt die Summe von "Benutzer"- und "IRQ"-Last an. Einzelheiten entnehmen Sie bitte den Bemerkungen am Ende.
Beachten Sie, daá Sie an das Puls-Widget Schriftarten und Farben ziehen und �bergeben zuweisen k”nnen. Auáerdem ist es in der Gr”áe ver„nderlich.
Details der Implementation
Intern benutzt das Puls-Widget das DosPerfSysCall-API.
(siehe die Beschreibung des Aufrufs
DosPerfSysCall
in der Dokumentation des Toolkit*).
Dieses API hat den Vorteil, daá man direkt auf die vom &os2;-Kernel angegebenen
Leistungsz„hler zugreifen kann, statt einen zweiten "Leerlauf"-Prozeá laufen zu
haben, der die gesamte freie Prozessorzeit f�r sich verbraucht (und deshalb
bei Laptops zus„tzliche Batterieenergie verbraucht).
Als Ergebnis verbraucht das Puls-Widget keine zus„tzliche Prozessorzeit, auáer der Zeit, die es zum erneuten Zeichnen des Widgets selbst ben”tigt. Mit anderen Worten belastet das Puls-Widget die CPU selbst nicht, sondern fragt nur den &os2;-Kernel nach der Auslastung und zeigt diese als Graph an.
Die zus„tzliche Belastung durch das Neuzeichnen des Widgets selbst ist auch der Grund, warum niemals eine Prozessorauslastung von Null angezeigt wird, auch wenn Sie gerade nichts auf dem System tun. Auf dem System des Autors (einem Pentium-II 400), f„llt die CPU-Belastung bei der Standardgr”áe des Widgets niemals unter 0.7%.
Voraussetzungen
Das DosPerfSysCall-API wurde vor relativ kurzer Zeit eingef�hrt,
und es kann sein, daá es auf Ihrem System nicht funktioniert. Es sollte mit
Warp 4 und neuer (oder mit Warp 3 und einem „quivalenten Fixpack-Level, bei dem es
sich um Fixpack 26 handeln d�rfte) funktionieren.
Weiterhin bemerkt die IBM-Dokumentation f�r dieses API, daá man einen Prozessor der Pentium-Klasse ben”tigt, damit die Kernel-Leistungsz„hler funktionieren.
Wenn das Widget keinen Graphen sondern nur "E xxx" anzeigt (wobei
xxx ein &os2;-Standardfehlercode ist), gab es einen Fehler. Am
wahrscheinlichsten ist "E 182", was bedeutet, daá
das DosPerfSysCall-API auf dem System nicht gefunden wurde. Bei
anderen Fehlercodes k”nnen Sie auf der Befehlszeile HELP SYSxxx
eingeben.
"Benutzer"- und "IRQ"-Auslastung
F�r jeden Stand der Auslastung gibt DosPerfSysCall jeweils Werte
f�r "Benutzer" und "IRQ" zur�ck.
Die "Benutzer"-Auslastung ist der Anteil der Zeit, die auf "Programmzeit" verwendet wurde. Im Prinzip bedeutet das, daá der Prozessor damit besch„ftigt war, Code entweder von einer Applikation, dem &os2;-Kernel oder einem Ger„tetreiber im normalen Fluá der Prozesse und Threads auszuf�hren, wie es vom Scheduler im &os2;-Kernel verteilt wird. (Details siehe "Prozesse und Threads".)
Im Unterschied dazu gibt die "IRQ"-Auslastung die Zeit an, die gebraucht
wurde, um Interrupts (="Unterbrecher") auszuf�hren. Wie Sie vielleicht wissen, sind
Interrupts die Methode, mit der Hardware-Komponenten den Prozessor benachrichtigen,
daá ein besonderes Ereignis eingetreten ist, das sofort bearbeitet werden muá.
Meistens werden Interrupts von Festplatten, Sound- und Netzwerkkarten
sowie serieller und Druckerkommunikation ausgel”st.
Diese Ger„te k”nnen es sich nicht leisten zu warten, bis der &os2;-Scheduler die
Zeitscheibe eines Prozesses fertig bearbeitet hat und bereit ist, auf die n„chste
Aufgabe umzuschalten. Statt dessen unterbricht der &os2;-Kernel den normal
vorgesehenen Ablauf, wenn ein Interrupt ausgel”st wird, und ruft einen
"Interrupt-Handler" auf, was in den meisten F„llen der Code in einem Ger„tetreiber
sein wird. (Im allgemeinen k”nnen nur &os2;-Ger„tetreiber Interrupt-Handler
installieren.) Wenn beispielsweise ein Interrupt von einer Festplatte eintrifft,
wird sofort Code im Treiber IBM1S506.ADD aufgerufen, der sich um den
Interrupt k�mmert.
Wenn nie irgendeine IRQ-Auslastung auf dem System angezeigt wird, ist das kein
Problem. Das ist wahrscheinlich der Fall, wenn Sie keine Netzwerkkarten installiert
und auáerdem Busmaster-Zugriffe f�r die Festplatte aktiviert haben. Wenn Sie aber eine
hohe IRQ-Auslastung feststellen, k”nnten Sie sich Maánahmen �berlegen, diese Last zu
reduzieren - Busmaster-Zugriffe f�r die Festplatten einschalten und/oder eine
Netzwerkkarte zu besorgen, die Busmaster-Zugriffe unterst�tzt.