On Mon, Jul 05, 2004 at 12:16:47PM -0400, rodrigo ahumada wrote: > ..., bueno, es que antes yo creia que cuando no habia algo que hacer, el > sistema (kernel) queda en un ciclo infinito revisando si habian > interrupciones que atender,
Eso se llama "busy wait loop" y hay que evitarlo como la plaga. Considera procesadores en notebooks, que quieres que hagan la menor cantidad de trabajo posible para consumir poca energia ... > pero parece que el mismo kern. se pone a dormir > y confia en el hw que lo despierte, Probablemente el encargado sea el reloj que lo despierta una vez cada X tiempo. > entonces supongo que el uso de cpu seria cantidad de tiempo de cpu > despierto / cantidad de tiempo X. si es asi,¿cuanto es esa X? Depende del kernel -- si prefieres que atienda los procesos lo antes posible (deseable en un PC de escritorio por ej. donde la "interactividad" es importante), entonces X es chico (quizas 10 ms). Si quieres aprovechar los recursos de CPU lo mejor posible entonces mejor bajas la cantidad de tiempo que pasa haciendo cambios de contexto (lento), y aumentas X, digamos a 200 ms. No necesariamente pasa los X ms despierto; si el proceso hace algo y luego se pone a dormir (esperando entrada del disco, la red o el usuario) va a buscar otro proceso que necesite ejecucion, y si no hay ninguno se pone a dormir ... El asunto de scheduling de CPU es todo un tema: los algoritmos sufren modificaciones en cada nueva version de linux ... -- Alvaro Herrera (<alvherre[a]dcc.uchile.cl>) "Cuando miro a alguien, más me atrae cómo cambia que quién es" (J. Binoche)

