MINIX (de mini- Unix ) es un sistema operativo tipo Unix basado en una arquitectura de microkernel . Desde la versión 2.0, es compatible con POSIX . [10] [11]
Las primeras versiones de MINIX fueron creadas por Andrew S. Tanenbaum con fines educativos. A partir de MINIX 3 , el objetivo principal del desarrollo pasó de ser educativo a la creación de un sistema operativo con micronúcleo altamente confiable y autorreparable . MINIX 3 se desarrolló como software de código abierto .
MINIX se lanzó por primera vez en 1987, y su código fuente completo se puso a disposición de las universidades para su estudio en cursos e investigaciones. Ha sido un software libre y de código abierto desde que se le otorgó la licencia BSD de 3 cláusulas en abril de 2000. [6]
Andrew S. Tanenbaum creó MINIX en la Universidad Libre de Ámsterdam para ejemplificar los principios transmitidos en su libro de texto , Operating Systems: Design and Implementation (1987). (A pesar de compartir el nombre, no tiene relación con el antiguo MINIX de Digital Systems House, Inc. [12] basado en el código Unix de AT&T ).
En el libro se incluyen 12.010 líneas abreviadas del código fuente en C del núcleo , el administrador de memoria y el sistema de archivos de MINIX 1.0. Prentice-Hall también publicó el código fuente y los binarios de MINIX en disquete con un manual de referencia. MINIX 1 era compatible con llamadas del sistema con la Séptima Edición de Unix . [13]
Tanenbaum desarrolló originalmente MINIX para su compatibilidad con las microcomputadoras IBM PC e IBM PC/AT 8088 disponibles en ese momento.
MINIX 1.5, lanzado en 1991, incluía soporte para sistemas IBM PS/2 de microcanales y también fue portado a las arquitecturas Motorola 68000 y SPARC , dando soporte a las plataformas informáticas Atari ST , Amiga , Macintosh , [14] y Sun SPARCstation . También hubo puertos no oficiales para procesadores transputer compatibles con Intel 386 PC (en modo protegido de 32 bits ), National Semiconductor NS32532 , ARM e Inmos . Meiko Scientific utilizó una versión temprana de MINIX como base para el sistema operativo MeikOS para sus computadoras paralelas basadas en transputer Computing Surface .
Sin embargo, la demanda de arquitecturas de 68k disminuyó y MINIX 2.0, lanzado en 1997, sólo estaba disponible para las arquitecturas SPARC alojadas en x86 y Solaris . Fue el tema de la segunda edición del libro de texto de Tanenbaum, coescrito con Albert Woodhull y se distribuyó en un CD-ROM incluido con el libro. MINIX 2.0 agregó compatibilidad con POSIX .1, soporte para procesadores 386 y posteriores en modo de 32 bits y reemplazó los protocolos de red Amoeba incluidos en MINIX 1.5 con una pila TCP/IP . También estaba disponible una versión de MINIX que se ejecutaba como un proceso de usuario bajo SunOS y Solaris , un simulador llamado SMX (sistema operativo) o simplemente SMX para abreviar. [15] [16]
La versión 2.0.3 se lanzó en mayo de 2001. Fue la primera versión después de que MINIX hubiera sido re-licenciado bajo la licencia BSD-3-Clause , que se aplicó retroactivamente a todas las versiones anteriores. [17]
Minix-vmd es una variante de MINIX 2.0 para procesadores compatibles con Intel IA-32 , creada por dos investigadores de la Vrije Universiteit, que añade memoria virtual y soporte para el sistema X Window .
MINIX 3 fue anunciado públicamente el 24 de octubre de 2005 por Tanenbaum durante su discurso inaugural en el Simposio sobre Principios de Sistemas Operativos (SOSP) de la Association for Computing Machinery (ACM). Aunque todavía sirve como ejemplo para la nueva edición del libro de texto de Tanenbaum, coescrito por Albert S. Woodhull, ha sido rediseñado de manera integral para que sea "utilizable como un sistema serio en computadoras integradas y con recursos limitados y para aplicaciones que requieran alta confiabilidad". [18]
MINIX 3 actualmente soporta sistemas de arquitectura IA-32 y ARM . Está disponible en formato live CD que permite su uso en un ordenador sin necesidad de instalarlo en el disco duro, y en versiones compatibles con sistemas de emulación y virtualización de hardware, entre los que se incluyen Bochs , QEMU , VMware Workstation y Fusion , VirtualBox y Microsoft Virtual PC .
La versión 3.1.2 se lanzó el 18 de abril de 2006. Fue la primera versión después de que MINIX hubiera sido re-licenciado bajo la licencia BSD-3-Clause con una nueva cuarta cláusula. [19]
La versión 3.1.5 se publicó el 5 de noviembre de 2009. Contiene X11 , emacs , vi , cc , gcc , perl , python , ash , bash , zsh , ftp , ssh , telnet , pine y más de 400 otros programas de utilidades comunes de Unix . Con la incorporación de X11, esta versión marca la transición desde un sistema de solo texto. En muchos casos, puede reiniciar automáticamente un controlador averiado sin afectar los procesos en ejecución. De esta manera, MINIX se autocura y puede usarse en aplicaciones que exigen una alta confiabilidad. MINIX 3 también tiene soporte para la gestión de memoria virtual , lo que lo hace adecuado para el uso del sistema operativo de escritorio. [20] Sin embargo, las aplicaciones de escritorio como Firefox y OpenOffice.org aún no están disponibles para MINIX 3.
A partir de la versión 3.2.0, el espacio de usuario fue reemplazado en su mayor parte por el de NetBSD y se hizo posible el soporte de pkgsrc , lo que aumentó las aplicaciones de software disponibles que MINIX puede usar. Clang reemplazó al compilador anterior ( ahora GCC debe compilarse manualmente) y se adaptó GDB , el depurador de GNU. [21] [22]
MINIX 3.3.0, lanzado en septiembre de 2014, trajo soporte para ARM.
MINIX 3.4.0RC, Release Candidates estuvo disponible en enero de 2016. [23] Sin embargo, aún no se anunció una versión estable de MINIX 3.4.0, y el desarrollo de MINIX ha estado inactivo desde 2018. [24]
MINIX admite muchos lenguajes de programación, incluidos C , C++ , FORTRAN , Modula-2 , Pascal , Perl , Python y Tcl .
Más de 50 personas asistieron a MINIXCon 2016, una conferencia para discutir la historia y el futuro de MINIX. [25]
Todos los chipsets Intel posteriores a 2015 ejecutan MINIX 3 internamente como componente de software del Intel Management Engine . [26] [27]
Linus Torvalds utilizó y apreció MINIX, [28] pero su diseño se desvió de la arquitectura MINIX en aspectos significativos, en particular al emplear un núcleo monolítico en lugar de un micronúcleo . Esto fue desaprobado por Tanenbaum en el debate Tanenbaum–Torvalds . Tanenbaum explicó nuevamente su razonamiento para usar un micronúcleo en mayo de 2006. [29]
El desarrollo inicial del núcleo de Linux se realizó en un sistema anfitrión MINIX, lo que llevó a Linux a heredar varias características de MINIX, como el sistema de archivos MINIX . Eric Raymond afirmó que Linus en realidad no escribió Linux desde cero, sino que reutilizó el código fuente del propio MINIX para tener una base de código funcional. A medida que avanzaba el desarrollo, el código MINIX se fue eliminando gradualmente por completo. [30]
En mayo de 2004, Kenneth Brown, de la Institución Alexis de Tocqueville, hizo la acusación de que partes importantes del núcleo Linux habían sido copiadas del código base de MINIX, en un libro llamado Samizdat . [31] Estas acusaciones fueron refutadas universalmente, más prominentemente por Tanenbaum, quien criticó fuertemente a Brown y publicó una larga refutación en su propio sitio web personal, afirmando también que Brown fue financiado por Microsoft . [10] [11]
En el momento del desarrollo original de MINIX, su licencia era relativamente liberal. Su tarifa de licencia era muy pequeña (69 dólares) en relación con las de otros sistemas operativos. Tanenbaum deseaba que MINIX fuera lo más accesible posible para los estudiantes , pero su editor no estaba dispuesto a ofrecer material (como el código fuente) que pudiera copiarse libremente, por lo que se aplicó una licencia restrictiva que requería una tarifa nominal (incluida en el precio del libro de Tanenbaum) como compromiso. Esto impidió el uso de MINIX como base para un sistema de software distribuido libremente.
Cuando los sistemas operativos tipo Unix libres y de código abierto como Linux y 386BSD estuvieron disponibles a principios de los años 1990, muchos desarrolladores de software voluntarios abandonaron MINIX en favor de estos. En abril de 2000, MINIX se convirtió en software libre y de código abierto bajo la licencia BSD-3-Clause , que se aplicó retroactivamente a todas las versiones anteriores. [17] [7] Sin embargo, para ese momento otros sistemas operativos habían superado sus capacidades, y siguió siendo principalmente un sistema operativo para estudiantes y aficionados . A fines de 2005, MINIX fue relicenciado con una cuarta cláusula agregada a la licencia BSD-3-Clause . [4]
La licencia de Minix cambió en abril de 2000 y se aplica retroactivamente a todas las distribuciones anteriores de Minix, aunque aún contengan la licencia antigua, más restrictiva.
{{cite web}}
: CS1 maint: URL no apta ( enlace )