14 de septiembre de 2007

¿Que novedades traerá Linux 2.6.23?

He aquí un resumen de la lista de cambios de Linux 2.6.23, que no ha salido aun pero hace mucho que cerró la fase de introducción de cambios. Recomiendo leer el enlace, pero como hay muchos que no lo harán...aquí va el resumen

  • El gestor de procesos CFS: Consiste en el rediseño de los algoritmos encargados de decidir qué proceso se va a ejecutar en cada momento (ver detalles en la lista de cambios). La cuestión es que tenemos un gestor de procesos infinitamente más sólido, que da una sensación de respuesta mucho mejor en escritorios. Es, francamente, una maravilla.

  • Rediseño del sistema de read-ahead por un apodado "On demand read-ahead". Es un sistema mucho más simple que al anterior, que conserva el mismo rendimiento en tareas típicas, mejoras el benchmark MySQL sysbench/OLTP un 8%, y mejora los casos de readahead thrashing (casos en los que se hace readhead y, debido a la falta de memoria, la gestión de memoria decide descartarlas antes de que sean necesitadas) un 300%. Ademas, es una infraestrutura muy flexible que permitirá ir añadiendo más mejoras fácilmente en las próximas versiones

  • fallocate(): fallocate() es una llamada al sistema cuya funcionalidad es requerida por POSIX (y actualmente simulada por la glibc, aunque a partir de ahora la glibc utilizará fallocate) cuyo objetivo es preasignar espacio a los archivos. Es decir, que los sistemas de archivos que implementen esta funcionalidad asignarán a un archivo el espacio que se les pida con fallocate(), aunque no utilize ni un solo byte. Esto es útil para dos cosas: Primero, que un programa pueda reservarse un espacio y estar completamente seguro de que va a disponer siempre de él, aunque se acabe el espacio en el sistema de archivos (algo muy lógico por ejemplo en un programa de tiempo real). Y segundo, como el espacio se reserva de una sola vez y de manera contigua, reduce la fragmentación

  • Virtualización: lguest: lguest es un hypervisor basado en paravirt_ops que permite arrancar kernels linux virtualizados. Es decir, no necesita soporte de virtualización por hardware. El autor lo considera un hypervisor de ejemplo: consta de 5.000 líneas y es muy simple, no tiene tanto rendimiento como pudiera; el autor anima a la gente a forkearlo para crear una versión mejorada

  • Virtualización: Xen: Una parte de Xen ha sido incluida, por fin. Pero esto no es el hypervisor, solamente es el código necesario para funcionar como invitado.

  • Máxima cantidad de parámetros variable: Como dijo Rob Pike, no tiene sentido que en máquinas con GB de memoria el tamaño máximo de parámetros que puedes pasar a un proceso esté limitado a unos pocos KB, tal como lo está en Linux y todos los UNIX de los que yo he oido hablar. Ese límite se alcanza (incluso en escritorios, a día de hoy) demasiado fácilmente. ¿Quien no ha visto alguna vez un "argument list too long"? Linux 2.6.23 asigna el tamaño máximo reservado para los parámetros dinámicamente, para evitar este problema.

  • Tunelación de PPP sobre L2TP. LT2P (RFC 2661) es un reemplazo de PPTP, más información en openl2tp.sf.net

  • Carga automática de módulos acpi: a día de hoy los módulos acpi (entre los que se encuentran algunos módulos para portátiles de marcas específicas) no están integrados con el resto de infraestructra de udev&sysfs....en 2.6.23 estos módulos serán cargados automáticamente por udev.

  • Framework para implementar drivers simples en espacio de usuario: Que no tienen nada que ver con los microkernels

  • Mejoras de XFS y Ext4: XFS tiene un nuevo sistema para evitar la fragmentación cuando varios procesos están escribiendo grandes cantidades de datos, y algunas mejoras de escalabilidad. En Ext4, que es inestable y no debe ser utilizado excepto en pruebas, se rompe el límite de 65.000 y se mejora el soporte de extents.


Esas spon las mejoras mas notables. Hay más -filtros para los volcados de memoria, protecciones SELinux, muchos drivers nuevos, implementación interna de sendfile() basada en splice, mejoras de splice- pero no son tan relevantes.

3 comentarios:

  1. muy buen resumen!!!

    una dudita, la opción de tickless que disminuye el consumo del micro y está habilitado en el 21 para 386, se decia que seria introducido para procesadores de 64 en esta version

    sin embargo, la version 23-rc6 que he compilado antes aun no la tiene....

    sabrias cuando será introducida por defecto?

    ResponderEliminar
  2. Si, en 2.6.24....si tienes una imperiosa necesidad de utilizarlo, está en la rama -mm

    ResponderEliminar