Historia de
Minix
Cuando Unix era
joven (versión 6), el código fuente se encontraba en
todas partes, con autorización de AT&T, y se
estudiaba frecuentemente. John Lions, de la Universidad
de New South Wales en Australia, llegó a escribir un
pequeño folleto que describía su operación, línea por
línea. Este folleto se utilizó (con permiso de AT&T)
como libro de texto en muchos cursos universitarios
sobre sistemas
operativos. Cuando AT&T
entregó la versión 7, empezó a comprender que Unix era
un valioso producto comercial, así que emitió la versión
7 con una licencia que prohibía el estudio del código
fuente en cursos con el objeto de evitar poner en
peligro su condición como secreto comercial. Muchas
universidades protestaron simplemente descartando el
estudio de Unix y enseñando sólo
teoría. Por desgracia, el solo
enseñar teoría dejaba al estudiante con una visión
desproporcionada de lo que en realidad es un sistema
operativo. Los temas teóricos que por lo general se
comprenden con lujo de detalle en cursos y libros de
sistemas operativos, como los algoritmos de
planificación, en la práctica no son realmente tan
importantes. Los temas que en realidad son importantes,
como la E/S y los sistemas de archivo, por lo general se
desprecian porque existe muy poca teoría acerca de
ellos. Para remediar esta situación,
el conocido y respetado computólogo, Andrew Tannebaum,
decidió escribir un nuevo sistema operativo de la nada
que sería compatible con Unix desde el punto de vista
del usuario, pero completamente diferente en el
interior. Sin siquiera utilizar una sola línea de código
de AT&T, este sistema evadía las restricciones de la
prohibición, de modo que podía utilizarse para dar una
clase o para el estudio individual. En esta forma, los
estudiantes podían analizar minuciosamente un sistema
operativo real para ver lo que hay en su interior, tal y
como los estudiantes de biología disecan ranas. El
nombre MINIX surgió de mini-Unix porque era lo
suficientemente pequeño, para que alguien que no fuera
un maestro en sistemas operativos pudiese entender la
forma en que trabajaba. Además de la
ventaja de eliminar los problemas legales, MINIX tenia
otra ventaja sobre Unix. Aquél se escribió una década
después de Unix y se estructuro en forma más modular. El
sistema de archivos de MINIX, por ejemplo, no era parte
del sistema operativo en absoluto, y corría como un
programa de usuario. Otra diferencia es que Unix se
diseñó para ser eficiente; MINIX se diseñó para ser
legible (en vista de que se puede hablar de que
cualquier programa de 12649 líneas es legible). El
código de MINIX, por ejemplo, tenia más de 3000
comentarios en él. MINIX se diseño
para ser compatible con la versión 7 (V7) de Unix. La
versión 7 se utilizó como modelo debido a su simplicidad
y elegancia. A veces de dice que la versión 7 no solo
fue una mejora sobre todos sus antecesores, sino que
también lo es sobre todos sus
sucesores. Al igual que Unix, MINIX
se escribió en lenguaje de programación C y tenia como
objetivo ser fácil de portar a diversas computadoras. La
implementación inicial se hizo en la IBM PC, puesto que
esta computadora tenia un uso extenso. Apegándose a la
filosofía de "lo pequeño es bello", MINIX no requería de
un disco duro para correr, con lo cual se ajustaba a los
presupuestos de muchos estudiantes. MINIX al estar
disponible para cualquier estudiante de Ciencias de la
Computación del mundo, pronto creo una legión de
seguidores, incluyendo sus propios grupos de noticias de
USENET. Para el usuario promedio que
se sentaba frente a una IBM PC, la ejecución de MINIX
era muy similar a utilizar cualquier sistema Unix.
Muchos de los programas usuales en Unix, como cat, grep,
ls, make y el shell estaban presentes y realizaban las
mismas funciones que sus contrapartes de Unix. Al igual
que el sistema operativo mismo, todos estos programas de
servicio se reescribieron completamente de la nada por
parte del autor, sus alumnos y algunas otras personas.
|