Il suo aspetto Š simile a questo:
La parte ciano del grafico rappresenta il carico causato sul sistema dall'"utente", mentre la parte blu mostra il carico "IRQ". La percentuale visualizzata al centro d… sempre il valore combinato corrente, "utente" pi— "IRQ". Se si sta usando un sistema multiprocessore si avr… un grafico "utente" per ognuna delle CPU presenti. Ci sar… per• comunque un solo grafico "IRQ" dato che, per definizione, &os2; elabora tutti gli interrupt sulla prima CPU del sistema. Si vedano le note aggiuntive qui sotto per dettagli.
E' possibile trascinare tipi di carattere e colori sull'elemento "Pulse (carico CPU)". Tale elemento, inoltre, Š ridimensionabile.
Dettagli di funzionamento
Internamente, l'elemento "Pulse" utilizza l'API DosPerfSysCall.
Questa API ha il vantaggio di misurare l'attivit… della CPU accedendo direttamente al
contatore di prestazioni nel kernel di &os2;, senza dover usare un secondo
sottoprocesso che occupa il restante tempo libero della CPU (consumando inutilmente
le batterie sui computer portatili).
Di conseguenza, l'utilizzo di questo elemento non consuma tempo CPU addizionale, al di fuori di quanto Š necessario a ridisegnare l'elemento stesso. In altre parole, l'elemento non verifica direttamente il carico della CPU, limitandosi piuttosto a richiedere tale valore al kernel &os2; ed a visualizzarlo poi in un grafico.
D'altra parte, il carico provocato dall'elemento per ridisegnarsi fa sŤ che difficilmente si vedr… mai un carico uguale a zero per la CPU, anche se in quel momento non si sta facendo nulla. Sulla macchina dell'autore (un Pentium II-400), il carico della CPU non scende mai al di sotto dello 0.7%, con l'elemento alla lunghezza standard.
Requisiti
L'API DosPerfSysCall Š stata introdotta relativamente di recente, e
perci• potrebbe non funzionare su tutti i sistemi. Non dovrebbero esserci problemi
con Warp 4 e sistemi superiori (o Warp 3 con un livello di fixpak equivalente, che
dovrebbe essere il fixpak 26).
La documentazione IBM relativa a DosPerfSysCall afferma che per il
funzionamento dei contatori prestazioni nel kernel Š necessario disporre di un
processore Pentium o superiore.
Se l'elemento non mostra il grafico ma solo un "E xxx" (dove
xxx sta per un codice di errore standard &os2;), si Š verificato un
errore. Il pi— comune Š il codice "E 182", che significa che l'API
DosPerfSysCall non Š disponibile nel sistema. Per altri codici di
errore, si pu• digitare HELP SYSxxx dalla linea di comando.
Carico "Utente" e "IRQ"
Ad ogni richiesta del livello di prestazioni, DosPerfSysCall fornisce
un valore carico "utente" ed uno "IRQ".
Il carico "utente" Š il tempo speso nell'elaborazione di codice "task time". In sostanza, Š il tempo speso dalla CPU nell'eseguire codice relativo o ad un'applicazione, o al kernel &os2;, o ad un programma di controllo, all'interno del normale flusso di esecuzione di processi e sottoprocessi, sotto il controllo dello "scheduler" nel kernel &os2; (Per ulteriori dettagli, si veda "Processi e sottoprocessi").
Il carico "IRQ", invece, rappresenta il tempo speso nella gestione degli
interrupt. Come si sa, gli interrupt sono un sistema utilizzato dalle componenti
hardware per segnalare alla CPU che si sono verificati eventi significativi che
richiedono un immediato intervento. Nei casi pi— comuni gli interrupt sono attivati dai
dischi rigidi, dalle schede sonore, dagli adattatori di rete e dalle porte seriali e
per stampanti. Queste periferiche non possono aspettare che lo scheduler &os2; abbia
terminato il tempo dedicato ad un processo e sia pronto a passare al successivo. Quando
viene attivato un IRQ, il kernel &os2; interrompe la normale sequenza programmata e
richiama subito un gestore dell'interrupt che, nella maggior parte dei casi, Š
all'interno di un programma di controllo (in generale, in &os2; soltanto i driver dei
dispositivi possono prevedere gestori degli interrupt). Per esempio, se si attiva un
interrupt dal disco rigido, a gestire tale IRQ viene immediatamente richiamato
l'apposito codice contenuto in IBM1S506.ADD.
E' normale non rilevare mai carico IRQ sul proprio sistema: significa
probabilmente che non ci sono adattatori di rete installati e che si Š abilitato il
busmastering per i dischi rigidi. Se invece si nota un alto carico "IRQ", sar…
opportuno prendere in considerazione misure per ridurlo, abilitando il busmastering per
i dischi rigidi e/o utilizzando un adattatore di rete capace di busmastering.