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.