domingo, 17 de abril de 2011

El Núcleo de Windows 7 (MinWin)


Windows 7 es el nombre seguramente provisional con el que han bautizado en Redmon como sucesor del actual Windows Vista, y el cual mostró su por ahora escaso potencial durante una charla en la Universidad de Illinois de la mano del encargado de diseño y desarrollo de los sistemas operativos Windows, Eric Traut.
El desarrollador ejecutó lo que llamó “Mini Win” formado únicamente por el kernel, sin interface gráfica y sin florituras ni añadidos. Esto es, que ahora mismo ocupa 25MB de espacio y 40MB de RAM, y tardó 20 segundos en arrancar.
En la demostración se ejecutaron tareas muy simples, pero se hizo una declaración de intenciones que no pintan nada bien. La primera es que salta a la Vista (valga la redundancia) que el actual sistema operativo de Microsoft es como una ballena con un problema de sobrepeso mórbido, y que quieren poner a dieta el Windows 7. Esto significa que le van a quitar muchas cosas, y ahora falta saber qué le van a quitar que para todos los usuarios sea prescindible. El segundo punto oscuro es que el próximo sistema operativo va a salir con toda la gama de versiones, con lo que implica el que si quieres más, paga más, con todos los riesgos que eso comporta si lo comparamos con el exitoso Windows Vista.

¿Qué es MinWin? Como resumen se podría decir que consiste en coger el núcleo de Windows e ir quitando cosas y parar sólo justo antes de que deje de funcionar. ¿Cuál era el objetivo? Simplemente consolidar el diseño del núcleo del sistema operativo. Por lo visto los ingenieros de Microsoft descubrieron que los sistemas de bajo nivel del núcleo de Windows realizaban llamadas a procesos de alto nivel.
Para mejorar el diseño “cortaron” estas llamadas de alto nivel para convertir el núcleo de Windows en un sistema escalable. De esta manera se realizó un mapa de dependencias para poder limpiar las llamadas que se realizaban fuera del núcleo. Se reorganizaron estas llamadas y las API. El experimento acabó con un sistema operativo que funcionaba perfectamente sin necesidad de librerías de alto nivel: el MinWin. El sistema ocupa de 25 a 40 Megabytes, frente a los 4 Gigabytes de Vista, y se compone de apenas 100 ficheros, cuando Windows necesita 5.000 para funcionar.

De esta forma se creó un “corazón” de Windows nuevo auto contenido y escalable, pero que contiene el núcleo (el kernel) del Windows de toda la vida, sólo que con las llamadas de alto nivel y las API reorganizadas. La clave es, según el propio Russinovich, en la diferencia entre “Core” y “kernel”. El kernel o núcleo de Windows 7 es el mismo de siempre, pero el core (el corazón) ha cambiado, se ha reorganizado. Así que MinWin no es un nuevo kernel, sino un kernel reorganizado. ¿Por qué se ha hecho de esta manera? En primer lugar porque es mucho menos costoso reorganizar y optimizar el núcleo de Windows que empezar desde cero. Por el otro se conserva la compatibilidad con el sistema anterior, porque todas las llamadas se realizan de la misma forma y el núcleo funciona de la misma manera.


No hay comentarios:

Publicar un comentario