2012-08-24 21 views
6

Tengo una pregunta relacionada con la cantidad de tiempo dada a los procesos y subprocesos en Windows y Linux.Quantum de tiempo por proceso por subproceso

Sé que los sistemas operativos en general dan una cantidad de tiempo determinada por hilo. (Sé que los cambios cuánticos en el tiempo dependen de los hilos en primer plano o en segundo plano. También puede cambiar dependiendo de la prioridad de un proceso.)

¿Hay un tiempo fijo por proceso? Por ej. Si OS proporciona 36 quantum de tiempo por proceso y si un proceso tiene 2 hilos, cada uno obtendrá 18 quantum. Si el número de subprocesos se convierte en 3, cada uno obtendrá 12.

Sin embargo, si no existe un quantum fijo por proceso y el sistema operativo proporciona un quantum fijo por subproceso (sin dependencia en el proceso principal), entonces puedo hacer mi proceso es más eficiente al generar múltiples hilos. (Suponiendo que no tengo dos mutex/semáforos en mi código.)

Tengo una aplicación que se ejecuta en ambos sistemas operativos (Windows y Linux). Entonces, lo estoy preguntando en un sentido general.

Gracias

+0

dónde vino esta terrible término 'quantum' viene? El 99,99% de todos los hilos nunca se ejecuta para nada que se acerque al intervalo de programación del temporizador del sistema operativo antes de bloquearse en E/S, otro hilo o alguna otra llamada al sistema. Pensé que 'quanta' se suponía que eran indivisibles? ¡Un término estúpido que da impresiones engañosas! –

+0

Es posible que desee comprobar esto: http://support.microsoft.com/kb/259025 –

+0

smith - M $, debería haber adivinado ... –

Respuesta

1

En Linux desde un hilos y procesos perspectiva de programación son equivalentes. Entonces, si un proceso engendra dos hilos, cada uno debería obtener 36 quantum. Aunque me gustaría escuchar esto de alguien con mayor credibilidad que la mía para confirmarlo.

+1

Windows también. El programador trata con hilos, no procesos. –

+0

@Harry: en ese caso, un proceso puede robar más tiempo al tener múltiples hilos. ¿Esta afirmación es correcta? –

+0

Sí, aunque llamarlo "robo" parece algo extraño. :-) –

Cuestiones relacionadas