Minix
MINIX (de mini-Unix) es un sistema operativo similar a Unix basado en una arquitectura de micronúcleo. Desde la versión 2.0, ha sido compatible con la interfaz de sistema operativo portátil (POSIX).
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 la educación a la creación de un sistema operativo microkernel altamente confiable y autorreparable. MINIX 3 fue desarrollado 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 estudiar en cursos e investigaciones. Ha sido software gratuito y de código abierto desde que se volvió a otorgar la licencia BSD-3-Clause en abril de 2000.
Implementación
MINIX 1.0
Andrew S. Tanenbaum creó MINIX en la Vrije Universiteit de Ámsterdam para ejemplificar los principios transmitidos en su libro de texto, Sistemas operativos: diseño e implementación (1987). (A pesar de compartir un nombre, no tiene relación con el antiguo MINIX de Digital Systems House, Inc. basado en el código Unix de AT&T).
Un resumen de 12 000 líneas del código fuente C del kernel, el administrador de memoria y el sistema de archivos de MINIX 1.0 están impresos en el libro. Prentice-Hall también lanzó el código fuente y los archivos binarios de MINIX en un disquete con un manual de referencia. MINIX 1 era compatible con llamadas al sistema con Seventh Edition Unix.
Tanenbaum originalmente desarrolló MINIX para que fuera compatible con las microcomputadoras IBM PC e IBM PC/AT 8088 disponibles en ese momento.
MINIX 1.5
MINIX 1.5, lanzado en 1991, incluía soporte para sistemas MicroChannel IBM PS/2 y también fue portado a las arquitecturas Motorola 68000 y SPARC, soportando las plataformas informáticas Atari ST, Commodore Amiga, Apple Macintosh y Sun SPARCstation. También hubo puertos no oficiales para procesadores Intel 386 PC compatibles (en modo protegido de 32 bits), National Semiconductor NS32532, ARM e Inmos. Meiko Scientific utilizó una versión anterior de MINIX como base para el sistema operativo MeikOS para sus computadoras paralelas Computing Surface basadas en transputer. 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.
MINIX 2.0
Sin embargo, la demanda de arquitecturas basadas en 68k disminuyó y MINIX 2.0, lanzado en 1997, solo estaba disponible para las arquitecturas x86 y SPARC alojadas en 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.
La versión 2.0.3 se lanzó en mayo de 2001. Fue la primera versión después de que MINIX volviera a recibir la licencia BSD-3-Clause, que se aplicó retroactivamente a todas las versiones anteriores.
Minix-vmd
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 agrega memoria virtual y compatibilidad con el sistema X Window.
MINIX 3
MINIX 3 fue anunciado públicamente el 24 de octubre de 2005 por Tanenbaum durante su discurso de apertura en el Simposio sobre principios de sistemas operativos (SOSP) de la Asociación de Maquinaria de Computación (ACM). Aunque todavía sirve como ejemplo para la nueva edición del libro de texto de Tanenbaum, en coautoría con Albert S. Woodhull, se ha rediseñado de manera integral para que sea "utilizable como un sistema serio en computadoras integradas y con recursos limitados y para aplicaciones que requieren alta confiabilidad."
MINIX 3 actualmente es compatible con los sistemas de arquitectura IA-32 y ARM. Está disponible en un formato de CD en vivo que permite usarlo en una computadora sin instalarlo en el disco duro, y en versiones compatibles con sistemas de emulación y virtualización de hardware, incluidos Bochs, QEMU, VMware Workstation y Fusion, VirtualBox y Microsoft. PC virtuales.
La versión 3.1.2 se lanzó el 18 de abril de 2006. Fue la primera versión después de que MINIX fuera licenciado nuevamente bajo la licencia BSD-3-Clause con una nueva cuarta cláusula.
La versión 3.1.5 se lanzó 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 Unix comunes. programas de utilidad. Con la adición de X11, esta versión marca la transición de un sistema de solo texto. En muchos casos, puede reiniciar automáticamente un controlador bloqueado sin afectar los procesos en ejecución. De esta forma, MINIX es autorreparable y se puede utilizar en aplicaciones que exigen una alta fiabilidad. MINIX 3 también es compatible con la administración de memoria virtual, lo que lo hace adecuado para el uso del sistema operativo de escritorio. 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, la zona de usuario fue reemplazada en su mayoría por la de NetBSD y se hizo posible el soporte de pkgsrc, aumentando las aplicaciones de software disponibles que MINIX puede usar. Clang reemplazó al compilador anterior (con GCC ahora teniendo que compilarse manualmente) y se portó GDB, el depurador de GNU.
MINIX 3.3.0, lanzado en septiembre de 2014, trajo compatibilidad con ARM.
MINIX 3.4.0RC, Release Candidates estuvo disponible en enero de 2016. Sin embargo, aún no se ha anunciado una versión estable de MINIX 3.4.0, y el desarrollo de MINIX ha estado inactivo desde 2018.
MINIX es compatible con 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.
Todos los conjuntos de chips Intel posteriores a 2015 ejecutan MINIX 3 internamente como el componente de software de Intel Management Engine.
Relación con Linux
Influencia temprana
Linus Torvalds usó y apreció MINIX, pero su diseño se desvió de la arquitectura MINIX de manera significativa, sobre todo al emplear un núcleo monolítico en lugar de un micronúcleo. Esto fue desaprobado por Tanenbaum en el debate Tanenbaum-Torvalds. Tanenbaum volvió a explicar su justificación para usar un microkernel en mayo de 2006.
El desarrollo inicial del kernel de Linux se realizó en un sistema host MINIX, lo que hizo que Linux heredara varias funciones de MINIX, como el sistema de archivos MINIX.
Reclamaciones de Samizdat
En mayo de 2004, Kenneth Brown de la Institución Alexis de Tocqueville hizo la acusación de que partes importantes del kernel de Linux habían sido copiadas del código base de MINIX, en un libro llamado Samizdat. Estas acusaciones fueron refutadas universalmente, sobre todo por Tanenbaum, quien criticó duramente a Brown y publicó una larga refutación en su propio sitio web personal, afirmando también que Brown fue financiado por Microsoft.
Licencias
En el momento del desarrollo original de MINIX, su licencia era relativamente liberal. Su tarifa de licencia era muy pequeña ($ 69) 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 una licencia restrictiva que requería una tarifa nominal (incluida en el precio de Tanenbaum 39;s libro) se aplicó como un compromiso. Esto impidió el uso de MINIX como base para un sistema de software distribuido libremente.
Cuando los sistemas operativos similares a Unix gratuitos y de código abierto, como Linux y 386BSD, estuvieron disponibles a principios de la década de 1990, muchos desarrolladores de software voluntarios abandonaron MINIX en favor de estos. En abril de 2000, MINIX se convirtió en software gratuito y de código abierto bajo la licencia BSD-3-Clause, que se aplicó retroactivamente a todas las versiones anteriores. Sin embargo, en ese momento, otros sistemas operativos habían superado sus capacidades y seguía siendo principalmente un sistema operativo para estudiantes y aficionados. A fines de 2005, se volvió a otorgar la licencia a MINIX y se agregó una cuarta cláusula a la licencia BSD-3-Clause.
Contenido relacionado
Clasificador Naive Bayes
Cifrado polialfabético
IBM AS/400