2009-08-12 16 views
23

He escuchado el término "Tickless OS" lanzado.¿qué es un sistema operativo sin tics?

  • ¿Qué significa?
  • ¿Qué sistemas operativos no funcionan?
  • ¿Cómo se diferencia de un sistema operativo no tickless (tickful?)?
+0

tickless -> Windows 8 y Linux desde 2006. ayuda a ahorrar batería haciendo que la CPU alcance el estado de sueño profundo C7 durante períodos prolongados. –

+1

Una respuesta increíble también se puede encontrar aquí en Quora http://www.quora.com/Operating-Systems/What-is-a-tickless-kernel – zavg

+1

Es un sistema operativo que es inmune a las cosquillas. – nick

Respuesta

22

Un 'tick' en términos de SO es un intervalo después del cual el SO se activará para procesar cualquier evento pendiente.

Por lo tanto, si tiene un tic de 100Hz, entonces 100 veces por segundo, el sistema operativo se reactivará, verificará si los temporizadores han expirado, ejecutará sus acciones si es que hay, luego se volverá a dormir. En un sistema sin tics, en lugar de despertarse 100 veces por segundo para ver si hay algo listo para procesar, el sistema operativo mirará cuándo expirará el próximo temporizador y luego dormirá hasta ese momento.

Tenga en cuenta que cuando la CPU está activa, obviamente no entrará en ningún tipo de modo de suspensión, y el kernel configurará una interrupción para la programación. No es más que tickless (como señala el comentario) cuando no hay nada en ejecución en la CPU o (en kernels Linux muy modernos) cuando solo se está ejecutando un proceso.

Linux se puede ejecutar con o sin tics, con un conmutador en tiempo de compilación. No sé sobre ningún otro sistema.

+1

Eso es en realidad falso. Pensé que eso también significaba eso al principio. Sin embargo, los núcleos sin tick no existen en la actualidad. Son "marcas dinámicas completas" que solo significa que su temporizador periódico se desactiva cuando hay 0 o 1 tarea en ejecución, pero todavía existe mucho el resto del tiempo. (entre kernel 2.16.18 y 3.0.x, la opción NO_HZ desactivó la marca solo cuando se ejecutan 0 tareas, 3.1 es dyn completo) –

+0

@ v.oddou, he agregado un texto aclaratorio. Estaba tratando de hablar sobre el caso donde no había procesos en ejecución, pero no estaba muy claro. –

+0

ok buena aclaración. Acerca de otros sistemas: escuché que Windows 8 era "tickless", no leí el libro sobre internos, así que no estoy seguro si la implementación de MS de "tickless" significa lo mismo que para linux. –

9

Este enlace ofrece algunas ideas: Avoiding Processor Wake-Ups Saves Power

Un fragmento desde el enlace anterior,

Con el fin de aprovechar al máximo las estados de baja potencia que ofrecen los últimos procesadores, el sistema operativo tiene para permitir que el procesador permanezca en esos estados tanto como sea posible. Una característica de larga data de la Linux * sistema operativo ha sido un paso del temporizador que soporta servicios como ayudar el sistema operativo a mantener tiempo interno y supervisar el uso de CPU por varios aplicaciones y procesos.

Mientras que paso del temporizador es útil, también tiene el efecto secundario desafortunado de despertar el procesador cuando está en un estado de baja energía tanto como 1000 veces por segundo. De hecho, bajo algunas circunstancias , el tic puede evitar que el procesador ingrese a los estados de ahorro de energía profundos en absoluto. Claramente, este efecto puede tener un dramático impacto negativo en el uso de energía por el sistema .

+0

El enlace ha expirado – Alchemist

Cuestiones relacionadas