Het scherm zal er ruwweg als volgt uit zien:
Het groenblauwe deel van de grafiek vertegenwoordigt de "gebruikers" belasting van het systeem, terwijl het blauwe deel de "IRQ" belasting vertegenwoordigt. Het percentage dat in het midden afgedrukt wordt vertegenwoordigt altijd de huidige gecombineerde "gebruikers" en "IRQ" belasting. Als u met een multiprocessor systeem werkt, krijgt u een "gebruikers" grafiek voor elke CPU. Maar, ook dan zult u maar ‚‚n "IRQ" grafiek hebben, omdat per definitie &os2; alle interrupts op de eerste CPU van het systeem verwerkt. Zie de onderstaande opmerkingen voor details hierover.
Let op dat u lettertypes en kleuren kunt verslepen en loslaten op het hartslag widget. Verder is het in grootte aanpasbaar.
Implementatie Details
Intern gebruikt het hartslag widget de DosPerfSysCall API
(zie de documentatie voor
DosPerfSysCall
in de Toolkit documentatie*).
Deze API heeft het voordeel dat om de CPU activiteit te meten, u direct de
prestatie metingen uit de &os2; kernel kunt halen in plaats van een tweede
leeglooptijd thread te laten draaien, die zelf alle overblijvende CPU tijd consumeert
(en daardoor extra accu stroom op laptops).
Als gevolg hiervan consumeert het hartslag widget geen aanvullende CPU tijd tijdens het draaien, met uitzondering van de benodigde tijd voor het tekenen van het widget zelf. Met andere woorden, het hartslag widget berekent zelf de CPU belasting niet, het raadpleegt alleen de &os2; kernel voor de huidige belasting en toont dat in een grafiek.
Het widget zijn eigen belasting voor het tekenen is ook de reden waarom u waarschijnlijk nooit een CPU belasting van nul zult zien, zelfs als u momenteel helemaal niets aan het doen bent met uw systeem. Op het systeem van de auteur (een Pentium II-400), komt de CPU belasting nooit onder de 0.7% met de standaard widget grootte.
Benodigdheden
De DosPerfSysCall API is slechts zeer recent ingevoerd en zou wel eens
niet kunnen werken op uw systeem. Het zou moeten werken met Warp 4 en hoger (of Warp 3
met een vergelijkbaar fixpak niveau; wat fixpak 26 zou moeten zijn).
De IBM documentatie voor DosPerfSysCall geeft aan dat een Pentium
processor nodig is om de kernel prestatie metingen te laten werken.
Als het widget geen grafiek vertoont maar alleen een "E xxx" (met
xxx zijnde een standaard &os2; foutcode), dan heeft zich een fout voorgedaan. Het meest
waarschijnlijk is dat u "E 182" krijgt, wat betekent dat de DosPerfSysCall
API niet gevonden is op uw systeem. Voor andere foutcodes kunt u proberen door HELP SYSxxx
in te typen op een opdrachtregel.
"Gebruiker" en "IRQ" belasting
Voor elke prestatie meting geeft DosPerfSysCall waarden terug voor respectievelijk "gebruiker" en
"IRQ" belasting.
De "gebruiker" belasting is de tijd die besteed is in "taak tijd" programmatuur. In essentie betekent dat dat de CPU drukdoende was met het uitvoeren van programmatuur van ofwel een applicatie ofwel de &os2; kernel ofwel een stuurprogramma in de normale uitvoeringsgang van processen en threads, zoals geregeld door de planner in de &os2; kernel. (Zie "Processen en threads" voor details.)
In tegenstelling hierop vertegenwoordigt de "IRQ" belasting de tijd die nodig was om interrupts
te verwerken. Zoals u wellicht weet zijn interrupts een manier voor apparatuur onderdelen om de CPU te laten
weten dat er een belangrijke gebeurtenis is voorgevallen welke direct afgehandeld moet worden.
Meest voorkomend zijn interrupts die veroorzaakt worden door harde schijven, geluidskaarten, netwerkkaarten,
en seri‰le en printer communicaties.
Deze apparaten kunnen het zich niet veroorloven om te wachten totdat de &os2; planner een proces
tijdsinterval afgehandeld heeft en gereed is om naar een volgende taak over te schakelen. In plaats daarvan
onderbreekt de &os2; kernel de normaal geplande volgorde, als er een interrupt binnen komt, en roept een
interrupt processor aan, die, in de meeste gevallen, geprogrammeerd is in een soort stuurprogramma. (In het
algemeen kunnen alleen &os2; stuurprogramma's interrupt processors installeren.) Bijvoorbeeld,
als er een interrupt van een harde schijf binnen komt zal er direct programmatuur in de IBM1S506.ADD
aangeroepen worden om de interrupt te verwerken.
Als u nooit enige IRQ belasting op uw systeem ziet, dan is dat normaal. Dit is waarschijnlijk
het geval als u geen enkele netwerk adapter ge‹nstalleerd heeft en u bus mastering geactiveerd heeft
voor uw harde schijven. Echter, als u een hoge IRQ belasting heeft, zou u maatregelen
kunnen treffen omdat te verlagen, activeer bus mastering voor uw harde schijven
en/of regel een netwerk adapter die beschikt over bus mastering.