Huitzilopochtlix: Sistema Minimalista desde Cero

Detalles de la Ponencia:

Resumen:

En la vida de algunos entusiastas de las computadoras, en particular de los usuarios de GNU/Linux y otros sistemas libres, existe una etapa en la cual surge la necesidad de entender el funcionamiento de su Sistema Operativo, dejar de verlo como una gran caja negra. Con el uso diario obtenemos una idea general del funcionamiento interno del Sistema pero siempre quedan algunos huecos por lo que es necesario emprender un análisis detallado. El éxito depende de muchos factores pero podemos mencionar como los más importantes:

El esfuerzo comprometido a esta tarea y
Las facilidades que nos da nuestro Sistema para entenderlo.

Un sistema operativo es un pieza compleja de software. Sus partes interactúan una sobre otra para liberar al usuario de realizar tareas de bajo nivel, repetitivas, tediosas y/u oscuras. Tenemos, pues, una gran cantidad de conceptos involucrados que hacen que las personas sin un plan de trabajo, o que no cuenten con las herramientas necesarias, fracasen en ese intento. Afortunadamente GNU/Linux es un Sistema Operativo que nos da todas las herramientas necesarias para diseccionarlo, estudiarlo, entenderlo y modificarlo por lo que solo tendremos que preocuparnos por diseñar un plan de trabajo.

Sería frustrante y confuso iniciar nuestra búsqueda del conocimiento partiendo de nuestro sistema actual simplemente por la cantidad de aplicaciones y configuraciones involucradas. Para saber como funciona A, es necesario entender también a B y C que están relacionados con A. Desafortunadamente B y C se relacionan con otras partes creando un circulo vicioso.

Esta presentación tiene la finalidad de proponer un plan de trabajo que nos permitirá identificar las partes esenciales de un sistema GNU/Linux y aprender como se relacionan entre si. En el camino, construiremos un sistema Linux1 minimalista confinado en un disco de 3 1/2 pulgadas comúnmente conocido como disquete.

El sistema que crearemos será lo suficientemente pequeño de tal forma que podamos tener un mapa mental de la ubicación de cada uno de sus componentes. Como analogía podemos hablar de los procedimientos médicos que se llevan a cabo primero en ratones y después en los humanos. Sin embargo, al estar restringidos en espacio tendremos que explorar algunas técnicas que nos permitan optimizar el uso del espacio en el disquete.

Durante la presentación abordaremos los temas:
- El núcleo de Linux
- El sistema de archivos
- Librerías del sistema
- Técnicas de reducción del espacio
- Creación de un ambiente de desarrollo con uClibc
- BusyBox
- Archivos de configuración
- Ambiente de pruebas: Bochs

Los temas serán tratados de forma secuencial y detallada, se harán pocas presunciones por lo que la presentación es apta para gente con conocimientos medios del sistema GNU/Linux.

 

Tipo de Propuesta:

Sesión Tecnica

 

Track:

Desarollo de Software

 

Estado:

Aceptada

 

Detalles de los Autores:


© 2002-2004 Congreso Nacional de Software Libre
ESIME Zacatenco, IPN - México