2.2 La misura delle prestazioni
La misura delle prestazioni di un calcolatore è il tempo: il calcolatore che esegue un certo
lavoro nel tempo minore è il più veloce. Il tempo di esecuzione di
un programma è misurato in secondi, comunque il tempo può essere misurato in modi
diversi: tempo assoluto, tempo di risposta , o
tempo trascorso (elapsed time). Tutti questi termini indicano il tempo totale
per completare un lavoro, includendo gli accessi ai dischi, gli accessi alla memoria, le attività di
ingresso e uscita,
il sovraccarico dovuto al sistema operativo, quindi in sostanza tutte le attività per portare a termine
un lavoro.
Tuttavia i calcolatori lavorano spesso in time-sharing e può accadere che un
processore stia lavorando su più programmi contemporaneamente; in questa situazione il sistema
può cercare di massimizzare la produttività complessiva anzichè minimizzare
l'elapsed-time di un singolo programma.
Di conseguenza si distingue spesso tra il tempo trascorso ed il tempo durante il quale il processore ha
lavorato con un determinato obiettivo: il tempo di esecuzione della cpu, o anche
detto tempo di cpu, tiene conto di questa distinzione ed è il tempo speso dalla cpu nell'elaborazione
richiesta per raggiungere un obiettivo, non includendo il tempo speso nell'attesa di compiere operazioni
di I/O o per eseguire altri programmi. In ogni caso il tempo di risposta percepito dall'utente è
il tempo trascorso nell'esecuzione del programma e non il tempo di CPU. Il tempo di CPU può
essere ulteriormente suddiviso nel tempo speso dalla CPU all'interno del programma, chiamato
tempo di CPU relativo all'utente, ed il tempo speso dalla CPU all'interno del sistema
operativo per eseguire compiti richiesti dal programma, chiamato tempo di CPU relativo al
sistema. A volte quando si esamina il tempo di esecuzione della CPU, il tempo di CPU
relativo al sistema è ignorato a causa dell'inaccuratezza delle misure eseguite dai sistemi
operativi e dello sbilanciamento che si avrebbe includendo tale tempo quando si confrontano le
prestazioni di macchine con sistemi operativi diversi.
Di conseguenza le prestazioni verranno distinte
a seconda se sono basate sul tempo trascorso o sul tempo di esecuzione della CPU: verrà
utilizzato il termine prestazioni di sistema per fare riferimento al tempo trascorso su
un sistema senza carico computazionale ed il termine prestazioni della CPU per
riferirsi al tempo di CPU relativo all'utente.
I progettisti di calcolatori utilizzano per le macchine una
misura relativa alla velocità con cui l'hardware è in grado di eseguire alcune operazioni
elementari. Quasi tutti i calcolatori sono costruiti usando un segnale di clock caratterizzato da una frequenza
costante, che sincronizza i vari eventi all'interno dell'hardware; questi intervalli di tempo discreti sono
chiamati cicli di clock. I progettisti fanno riferimento alla durata di un periodo
di clock esprimendo il tempo necessario per completare un ciclo di clock oppure alla
frequenza di clock che è l'inverso del periodo di clock.
|