Minix

En el ámbito academico las restricciones impuestas por AT&T sobre el código de fuente del sistema operativo UNIX dejaban los estudiantes con una visión desproporcionada de lo que en realidad es un sistema operativo. UNIX solo era enseñado en teoría y muchos temas de importancia en la práctica debían ser dejados de lado ya que existía muy poca teoría acerca de ellos.

Ante esta situación y convencido de que aquellas restricciones eran pejudiciales para sus alumnos, el profesor Andrew Tenembaum, de la Universidad de Vrije en Amsterdam, decidió escribir un nuevo sistema operativo desde cero que sería compatible con UNIX desde el punto de vista del usuario. Este nuevo sistema no compartiría una sola línea de código con el UNIX de AT&T y con lo cual podría utilizarse para dar una clase o para el estudio individual. De esta forma, los estudiantes tendrían la posibilidad de analizar minuciosamente un sistema operativo real. 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.

MINIX se diseño para ser compatible con la versión 7 de UNIX (UNIX Timesharing System V7) y al igual que UNIX se escribió en el lenguaje C. Pero MINIX tenia ventajas sobre UNIX, ya que se escribió mucho después de este último y con lo cual 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. Además 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 original, por ejemplo, incluía más de 3000 comentarios en él.

Los mínimos requerimientos de MINIX para la arquitectura ix86 y el hecho de estar disponible para cualquier estudiante, pronto hicieron que adquiriera fama y prestigio. Además se creo una legión de seguidores, incluyendo sus propios grupos de noticias de USENET.