Minix

Minix
Información sobre la plantilla
CreadorAndrew S. Tanenbaum
Fecha de Creación1987
Última versión estable3.1.5
Tipo de núcleoMicrokernel
LicenciaSimilares a BSD
Sitio web
www.minix3.org

Minix. Sistema Operativo basado en Unix creado por Andrew S. Tanenbaum en 1987 para poder realizar sus explicaciones a sus alumnos de Diseño de Sistemas Operativos en la Vrije Universiteit (Ámsterdam). Está basado en la arquitectura de microkernel, y originalmente su principal función era educacional.

Historia

El desarrollo del Minix no solo tuvo como propósito el fin educacional sino que también buscaba resolver un problema de factibilidad. El seguir empleando UNIX para el desarrollo de las clases demandaba el empleo de máquinas complejas lo que dificultaba en gran medida la disponibilidad técnica. Por lo que su primera versión fue diseñada para arquitectura IBM PC/AT con procesador Intel 8088 o superior. Además al estar sujeto a la licencia de AT&T daba origen entonces a un problema de naturaleza legal.

Por otra parte las características de su núcleo y en especial el empleo de un microkernel proveían funcionalidades y características que dotan a este sistema de operatividad y estabilidad. El empleo del microkernel en el que el kernel propiamente es muy pequeño, de tan solo unas 6000 líneas de código, proporciona las funciones básicas para un entorno en el que se puedan ejecutar varios programas simultáneamente sin que se originen contradicciones e interferencias entre ellos. El resto de funcionalidades son proporcionadas por los controladores de dispositivos (ejemplo - el controlador del disco duro) y unas entidades llamadas servidores usadas por los procesos (ejemplo - los servidores de sistemas de archivos) que se ejecutan en modo usuario sin que puedan afectar al kernel.

Características

Actualmente, la versión que se encuentra disponible es Minix 3.1.5 (la versión 3 fué anunciada el 24 de octubre de 2005). Mientras que las versiones 1 y 2 tenían el principal objetivo de enseñar a sus alumnos el funcionamiento interno de un Sistema Operativo, la versión 3 está orientada a desarrollar un Sistema Operativo que pueda ser usado en máquinas de pocos recursos y para aplicaciones que requieran gran fiabilidad en sistemas embebidos.

Algunas de las características de esta versión de Minix son:

  • Compatible con POSIX
  • Uso de la pila de protocolos TCP/IP
  • Sistema de ventanas X11
  • Mas de 650 aplicaciones UNIX
  • Multiusuario
  • La licencia empleada actualmente para la distribución del Minix es BSD.

Minix es un sistema operativo creado a partir del Unix. Su origen se debió fundamentalmente al deseo de Andrew S. Tanenbaum su creador en 1987, de proveer a sus alumnos de Diseño de Sistemas Operativos en la Vrije Universiteit (Universidad Libre de Ámsterdam) de un sistema con el pudiesen aprender de forma práctica los principios teóricos sobre los que se basan los sistemas operativos. Por lo que su primera versión era principalmente educacional.

Ultimas versiones

MINIX 1.5, lanzado en 1991, incluía soporte para MicroChannel IBM PS/2 y también fue adaptado para las arquitecturas Motorola 68000 y SPARC, soportando Atari ST, Commodore Amiga, Apple Macintosh y plataformas Sun SPARCstation.

También existió una adaptación no oficial a las arquitecturas compatibles con Intel 80386 (en modo de 32 bits protegido), National Semiconductor NS32532, ARM y procesadores INMOS transputer. Meiko Scientific utilizó una primera versión de MINIX como base de su sistema operativo MeikOS. También existió una versión de MINIX que se ejecutaba como un proceso de usuario en el sistema operativo SunOS.

Al decrementarse la demanda de las computadoras de arquitectura de 68k, MINIX 2.0, lanzada el 1997, sólo era compatible con las arquitecturas x86 y SPARC. Fue el tema para la segunda edición del libro de Tanenbaum, en esta ocasión co-escrito junto con Albert Woodhull, y fue distribuido en un CD-ROM incluido en el libro. MINIX 2.0 añadía compatibilidad con POSIX1, soporte para arquitecturas Intel 80386 y superiores de 32 bits y reemplazó los protocolos de red Amoeba incluidos en MINIX 1.5 por TCP/IP. También aparecieron adaptaciones no oficiales de MINIX 2.0 para las arquitecturas basadas en el 68020 ISICAD Prisma 7000 y las basadas en Hitachi SH3.

Otras características

Minix-vmd es una variante de MINIX 2.0 para procesadores compatibles con Intel IA-32, que fue creada por dos investigadores de la Vrije Universiteit, la cual añadía memoria virtual y soporte para el sistema gráfico X Window System. MINIX 3 fue públicamente anunciado el 24 de octubre de 2005 por

Andrew Tanenbaum, durante su exposición en la conferencia de ACM en el Symposium on Operating System Principles. Aunque sigue manteniéndose como ejemplo para la nueva edición de su libro, está comprensiblemente rediseñado para ser “utilizado como un sistema serio en computadoras con recursos limitados y para aplicaciones que requieren de gran fiabilidad”.

Actualmente MINIX 3 soporta sólo arquitecturas derivadas de IA-32, y está disponible en LiveCD, lo que permite ser utilizado sin necesidad de instalar el sistema operativo, y en versiones compatibles con sistemas de emulación o virtualización como BOCHS, Qemu, VMware y VirtualPC.

La versión 3.1.5 fue lanzada el 5 de noviembre de 2009, y contiene X11, emacs, vi, gcc, perl, python, ash, bash, zsh, ftp, ssh, telnet, pine y cerca de 650 aplicaciones más, comunes a los sistemas Unix. Con la incorporación de X11, esta versión marca el punto de transición entre el modo texto y gráfico en este sistema operativo.

Esta versión será mejorada en un futuro, es la habilidad del sistema para mantenerse cuando el driver de algún componente deja de funcionar, y en algunos casos éstos son reemplazados automáticamente sin afectar a los procesos que se estén ejecutando. Siguiendo este camino, MINIX es self-healing, lo que lo hace ideal para sistemas que requieren alta fiabilidad.

Fuentes