El Maravilloso Mundo de Linux 2.6 - Interactividad y Velocidad de Respuesta

9 - Interactividad y Velocidad de Respuesta

[editar]
Tutorial creado por Joseph Pranevich. Extraido de: http://www.mononeurona.org/index.php?idp=416
24 de Octubre de 2005
Además de aumentar la escala, otra prioridad de la nueva versión ha sido hacer que el sistema tenga una respuesta más ágil: no sólo es útil para el usuario final (a nadie le gusta un sistema que tarda en responder), también para aplicaciones críticas donde se requiere precisión absoluta. A pesar de estos cambios, Linux 2.6 no puede considerarse estrictamente como Sistema Operativo en Tiempo Real, ya que no cumple los rígidos criterios que aseguran que todas las acciones ocurren de forma predecible; pero los cambios en velocidad de respuesta deberían ser atractivos para todo tipo de usuarios de Linux. (Dicho esto, hay proyectos externos responsables de parches extraoficiales para operar en Tiempo Real; podrían hacerse oficiales en la próxima gran revisión.)

Una de las mejoras definitivas en Linux 2.6 es que el kernel es por fin interrumpible (preemptible). En todas las versiones anteriores de Linux, el propio kernel no puede ser interrumpido mientras está procesando. (En un sistema multiprocesador, este comportamiento se repetía en cada procesador.) Pero en Linux 2.6, el kernel puede ser detenido a la mitad para que otras aplicaciones sigan corriendo, aunque se esté en medio de un proceso intensivo de bajo nivel. Claro que habrá situaciones en que el kernel no pueda ser interrumpido. En condiciones normales, la mayoría de los usuarios nunca han visto retrasos anormales, ya que no suelen pasar de una fracción de segundo. Aun así, muchos usuarios pueden notar que el sistema se comporta más ágilmente en modo interactivo al activar esta opción; la entrada de usuario parecerá más rápida, incluso en un sistema colapsado.

Los subsistemas de entrada/salida (I/O, o Input/Output) también han sido remodelados, con vistas a hacerlos menos sensibles bajo grandes cargas. Los cambios incluyen la reescritura completa del planificador de entrada/salida, el código del kernel que decide qué procesos leen de qué dispositivos y cuándo. La nueva capa da más seguridad de que los procesos no se atasquen esperando su turno, pero sin perder las optimizaciones anteriores que aseguran que las lecturas ocurran de la forma más eficiente para cada dispositivo.

En la parte de las aplicaciones de software, un cambio que permitirá una respuesta más ágil de los programas (al menos los que lo utilicen) es el soporte de "futexes" (o Fast User-Space Mutexes, "Mutexes Rápidos en Espacio de Usuario"). Los futexes son una forma de serializar eventos desde múltiples procesos o hilos sin pisarse unos a otros (la temida "condición de carrera", o race condition). Al contrario que las operaciones tradicionales con mutex, incluidas en muchas librerías de hilos, este concepto está respaldado por el kernel, aunque sólo en el caso de contención; además permite fijar prioridades para que las aplicaciones o hilos más críticos accedan antes al recurso en disputa. Al permitir que un programa priorice sus tareas, las aplicaciones pueden volverse más ágiles en las tareas críticas.

Además de todo lo anterior, hay unos cuantos cambios menores que mejoran la interactividad y el rendimiento en muchos casos. Entre ellos están la eliminación de más casos de "Gran Bloqueo del Kernel" [Big Kernel Lock] (bloqueos poco afinados, usados por Linux en los inicios del soporte para multiprocesador), optimizaciones en la lectura anticipada de ficheros, escritura retrasada, en la manipulación de ficheros pequeños, y otros similares.
[editar]

10 opiniones

Bienm.

Esta bien para los que apenas comenzamos.
dum
Me encanta linux.

Linux esta muy bien y todo eso y ya sabeis er resto me gustaria saber massobre linux.
Opinion.

Es una pagina muy buena ya que me aclaro las dudas que tenia sobre los archivos de linux.
Maravilloso mundo de linux.

Me parecen geniales estos tutoriales.
El kernel.

Muy buen artículo, me gustó. Espero que sigan haciendo más como este. Y arriba linux.
1 2 | siguiente >

Tutoriales relacionados con 'El Maravilloso Mundo de Linux 2.6'

Lo que sigue es una guía detallada de la configuración del núcleo, cubriendo detalles de... Más »

Autor y licencia de 'El Maravilloso Mundo de Linux 2.6'


Tutorial de Joseph Pranevich. Extraido de: http://www.mononeurona.org/index.php?idp=416 CopyLeft
Se permite la redistribución online sin modificaciones.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.