* RCU "apropiativo" (preemptible): RCU es un sistema de
sincronización que permite a Linux escalar a máquinas con miles de
procesadores. Sin embargo, una parte del sistema de RCU no es
"apropiativo", es decir, no puede ser interrumpido mientras se
ejecuta. En 2.6.25 se puede elegir entre el RCU clásico y el nuevo,
que es apropiativo. Este nuevo sistema ha sido desarrollado a la
sombra de los esfuerzos que tratan de hacer que Linux sea un SO de
tiempo real.
* Real Time Group scheduling: En el Kernel 2.6.24 se introdujo un
sistema que permitía organizar las prioridades de CPU de manera mucho
mas flexible. En el 2.6.25 se ha extendido este sistema para que pueda
manejar, además de los procesos "normales", los procesos SCHED_RT, es
decir, de tiempo real, y trate de satisfacer sus necesidades
especiales. (Además de esto, se ha mejorado el sistema de balanceo de
procesos entre CPUs del gestor de procesos, para gestionar mejor las
necesidades de los procesos de tiempo real - como se puede ver, hay
mucho movimiento alrededor de este tema)
* Memory Resource Controller: Basado en la misma infraestructura
de configuración que el anterior punto (cgroups), esto permite
configurar algunos aspectos de la utilización del recurso de la
memoria a grupos de procesos elegidos al azar.
* Spinlocks FIFO: Los spinlocks son una de las principales
herramientas de sincronización en Linux: cuando un proceso adquiere un
spinlock, hasta que no lo suelte el resto de CPUs que intente
adquirirlo a petición de un proceso entrará en un bucle cerrado. Con
los nuevos Spinlocks FIFO (solo x86), las CPUs consiguen permiso para
adquirir el spinlock en el mismo orden en el que le solicitaron por
primera vez. Esto permite asegurar que ninguna CPU es discriminada por
otras y hace que los spinlocks sean un poco más deterministas.
* Nuevas herramientas de medición de memoria: En el 2.6.25 cada
proceso exporta en /proc información sobre las páginas que ese proceso
está utilizando. Comparando esa información con la de otros procesos
se puede conocer con mayor exactitud el uso de memoria de cada
proceso.
* timerfd(): Tradicionalmente en Unix las notificaciones de
eventos del temporizador se hacen mediante señales, lo cual es muy
engorroso. Para solucionarlo, los sistemas UNIX modernos han
incorporado sistemas, como FreeBSD/OSX con kevent, y Solaris con un
sistema similar. En linux se ha optado por una solución más "unixera":
con timerfd() se pueden programar eventos en el temporizador, obtener
un descriptor de archivo, y utilizar poll/epoll/read con esos
descriptores.
* Latencytop: Se trata de una pequeña infraestructura que permite
visualizar cuales son las fuentes de latencia máxima en el Kernel. El
programa para poder verlas se encuentra en
latencytop.org.
* SMACK (Simplified Mandatory Access Control): Se trata de un
sistema de seguridad basado en los mismos principios que SELinux, pero
menos capaz y más sencillo de configurar. Al igual que Linux tiene
varios sistemas de archivos, ahora tambien habrá varios sistemas de
seguridad para que la gente elija el que más le convenga, visto que
SELinux no complace a todo el mundo.
* Randomización de ejecutables PIE y del BRK: La ubicación de la
memoria manejada por brk() y por ciertas secciones de los ejecutables
PIE (Position Independent Executable) se decide de manera aleatoria.
* Actualización de Ext4: Asignación múltiple de bloques, mayor
tamaño máximo de bloque, checksumming en el journal, soporte de
sistemas de archivos y archivos de mucho mayor tamaño. Con esta
actualización ya esta casi todo de lo que traerá Ext4, de hecho ya
están todas las que cambian de algun modo el formato del sistema de
archivos en el disco, pero aun faltan algunas como delayed allocation.
* Arquitectura MN10300/AM33: Soporte para una nueva arquitectura
que no la conoce ni el que la inventó.
* Regulación Termal de ACPI: No se exactamente lo que hace, pero
Linux lo soporta. Adicionalmente se añade soporte para WMI, una
extensión propietaria de ACPI hecha por Microsoft.
* Protocolo CAN: Para sorpresa de todos, Volkswagen ha decidido
contribuir con una implementación de CAN (Controller Area Network), un
protocolo de red muy raro.
Fuente:
http://diegocg.blogspot.com/2008/04/qu-novedades-traer-linux-2625.html