[so] Times

Octavian Purdila so@cursuri.cs.pub.ro
Sat, 20 Nov 2004 19:14:39 +0200


On Saturday 20 November 2004 18:54, Bogdan Luca wrote:
> Salut,
>
> Am si eu cateva intrebari (deocamdata pentru Linux, dar cred ca se
> preteaza si la Windows):
> - Cum se calculeaza ALLTime in timpul rularii procesului? (e timpul
> afisat de ps, adica suma dintre campurile 14 si 15 - task->utime si
> task->stime - din /proc/pid/stat?) In final, ALLTime este suma
> diferentelor dintre tms->tms_utime + tms->tms->stime intoarse de times()
> la terminarea si la inceputul procesului?

Nu. ALLTime = CurrentTime - StartTime, unde StarTime=timpul la care a fost 
pornit programul (s-a initializat libtip.so), iar CurrentTime este timpul 
curent daca procesul inca mai e in viata, sau timpul la care s-a terminat 
procesul daca procesul nu mai e in viata. 

> - IOTime se calculeaza ca suma diferentelor dintre tms->tms_stime intors
> de times() dupa si inaintea unui apel read()/write()?

Nu. IOTime se calculeaza ca diferente timpului absolut, si nu a CPUTime-ului 
(folosesti ce intoarce times si nu tms->tms_stime)

> - CPUTime se calculeaza la terminarea procesului ca diferenta dintre
> tms->tms->utime intors de times() la terminarea si la inceputul procesului?
>

Nu. CPUTime la terminarea procesului este chiar tms_utime  la terminarea 
procesului. Timpul de procesor (CPUTime) este intotdeauna cumulativ. 

tavi