Minix (de "mini- Unix ") es un POSIX según norma (desde la versión 2.0), [4] [5] Unix-como sistema operativo basado en un microkernel arquitectura .
Desarrollador | Andrew S. Tanenbaum |
---|---|
Escrito en | C |
Familia OS | Tipo Unix |
Estado de trabajo | Actual |
Modelo fuente | Fuente abierta |
Versión inicial | 1987 |
Último lanzamiento | 3.3.0 [1] / 16 de septiembre de 2014 |
Vista previa más reciente | 3.4.0rc6 [2] / 9 de mayo de 2017 |
Repositorio | |
Objetivo de marketing | Enseñanza (v1, v2) Sistemas integrados (v3) |
Disponible en | inglés |
Plataformas | PC compatibles , PC , PC / AT , PS / 2 , Motorola 68000 , SPARC , Atari ST , Commodore Amiga , Macintosh , SPARCstation , Intel 386 , NS32532 , ARM , Inmos transputer , Intel Management Engine [3] |
Tipo de grano | Microkernel |
Licencia | Originalmente patentado , BSD a partir de 2000 |
Página web oficial | www |
Andrew S. Tanenbaum creó las primeras versiones de MINIX con fines educativos. Comenzando con 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 ahora se desarrolla 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 investigación. Ha sido software gratuito y de código abierto desde que se volvió a licenciar bajo la licencia BSD en abril de 2000. [6]
Implementación
Minix 1.0
Andrew S. Tanenbaum creó MINIX en Vrije Universiteit en Amsterdam para ejemplificar los principios transmitidos en su libro de texto , Operating Systems: Design and Implementation (1987).
En el libro se imprimen 12.000 líneas abreviadas del código fuente C del kernel , el administrador de memoria y el sistema de archivos de MINIX 1.0. Prentice-Hall también lanzó código fuente MINIX y binarios en disquete con un manual de referencia. MINIX 1 era compatible con llamadas al sistema con Unix de séptima edición . [7]
Tanenbaum desarrolló originalmente MINIX para compatibilidad 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 adaptado a las arquitecturas Motorola 68000 y SPARC , soportando las plataformas informáticas Atari ST , Commodore Amiga , Apple Macintosh [8] y Sun SPARCstation . También hubo puertos no oficiales para Intel 386 PC compatibles (en modo protegido de 32 bits ), procesadores transputadores 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 transputadoras . 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 . [9] [10]
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 .
Minix-vmd
Minix-vmd es una variante de MINIX 2.0 para procesadores compatibles con Intel IA-32 , creada por dos investigadores de Vrije Universiteit, que agrega memoria virtual y soporte para 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 -coestado 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 requieren alta confiabilidad". [11]
Actualmente, Minix 3 es compatible con los sistemas de arquitectura IA-32 y ARM . Está disponible en formato Live CD que permite su uso en una computadora sin instalarlo en el disco duro, y en versiones compatibles con sistemas de virtualización y emulación de hardware, incluidos Bochs , QEMU , VMware Workstation / Fusion , VirtualBox y Microsoft. PC virtual .
La versión 3.1.5 fue lanzada 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 programas de utilidad comunes de Unix . Con la incorporació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 averiado 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. [12] 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 área de usuario fue reemplazada principalmente por la de NetBSD y el soporte de pkgsrc se hizo posible, aumentando las aplicaciones de software disponibles que MINIX puede usar. Clang reemplazó el compilador anterior ( ahora GCC tiene que ser compilado manualmente), y GDB , el depurador GNU, fue portado. [13] [14]
Minix 3.3.0, lanzado en septiembre de 2014, trajo soporte ARM.
Minix 3.4.0RC, Release Candidates estuvo disponible en enero de 2016; [15] sin embargo, aún no se ha anunciado una versión estable de MINIX 3.4.0.
Minix admite muchos lenguajes de programación, incluidos C , C ++ , FORTRAN , Modula-2 , Pascal , Perl , Python y Tcl .
Minix 3 todavía tiene una comunidad de desarrollo activa con más de 50 personas que asisten a la MINIXCon 2016, una conferencia para discutir la historia y el futuro de MINIX. [dieciséis]
Todos los chipsets de Intel posteriores a 2015 ejecutan MINIX 3 internamente como componente de software del motor de administración de Intel . [17] [18]
Relación con Linux
Influencia temprana
Linus Torvalds usó y apreció Minix, [19] pero su diseño se desvió de la arquitectura Minix de manera significativa, más notablemente al emplear un núcleo monolítico en lugar de un microkernel . Esto fue desaprobado por Tanenbaum en el debate Tanenbaum-Torvalds . Tanenbaum volvió a explicar su razón de ser para utilizar un microkernel en mayo de 2006 [20].
El desarrollo inicial del kernel de Linux se realizó en un sistema host Minix, lo que llevó a Linux a heredar varias características de Minix, como el sistema de archivos Minix .
Samizdat afirma
En mayo de 2004, Kenneth Brown de la Institución Alexis de Tocqueville hizo la acusación de que la mayor parte del kernel de Linux se había copiado de la base de código MINIX, en un libro llamado Samizdat . [21] 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 . [4] [5]
Licencia
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 los 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 del libro de Tanenbaum ) se aplicó como compromiso. Esto impidió el uso de MINIX como base para un sistema de software distribuido libremente.
Cuando los sistemas operativos gratuitos y de código abierto similares a Unix, 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 2 se convirtió en software libre y de código abierto bajo una licencia permisiva de software libre , [22] pero en ese momento otros sistemas operativos habían superado sus capacidades y seguía siendo principalmente un sistema operativo para estudiantes y aficionados .
Ver también
- Sistema de archivos MINIX
- Minix-vmd
- MINIX 3
- Redox : un sistema operativo en Rust que usa un kernel similar a Minix
- Xinu
Referencias
- ↑ Michael Larabel (16 de septiembre de 2014). "Minix 3.3 lanzado con soporte ARM Cortex-A8, compatibilidad con NetBSD Userland" . Phoronix .
- ^ Lanzamiento de MINIX 3.4 RC6 - Phoronix
- ^ "Intel ME: el camino del análisis estático" . Consultado el 4 de julio de 2017 .
- ^ a b Tanenbaum, Andrew S (20 de mayo de 2004). "Algunas notas sobre" Quién escribió Linux "Kerfuffle, versión 1.5" . Archivado desde el original el 18 de agosto de 2010 . Consultado el 20 de agosto de 2016 .
- ^ a b Tanenbaum, Andrew S .; Woodhull, Albert S .; Sambuc, Lionel (11 de marzo de 2015). "Preguntas frecuentes sobre MINIX 3" . Archivado desde el original el 26 de abril de 2019 . Consultado el 20 de agosto de 2016 .
- ^ "MINIX ahora está disponible bajo la licencia BSD" , 9 de abril de 2000, minix1.woodhull.com
- ^ Tanenbaum, Andrew S .; Woodhull, Albert S. (1997) [1986]. Diseño e implementación de sistemas operativos (Segunda ed.). ISBN 0-13-638677-6. OCLC 35792209 . Consultado el 2 de agosto de 2011 .
- ^ "MacMinix" .
- ^ Tanenbaum, Andrew S .; Woodhull, Albert S .; Bot, Kees (22 de julio de 2005). "Bienvenido a MINIX" (TXT) . Consultado el 2 de agosto de 2011 .
- ^ Flouris, M. "Instalación y ejecución de MINIX para Solaris (SMX)" . Consultado el 2 de agosto de 2011 .
- ^ Herder, JN; Bos, H .; Gras, B .; Homburg, P .; Tanenbaum, AS (2006). "Minix 3". Revisión de sistemas operativos ACM SIGOPS . 40 (3): 80. doi : 10.1145 / 1151374.1151391 . S2CID 30216714 .
- ^ Schmidt, Ulrich (10 de noviembre de 2010). "Nuevo en minix" . Consultado el 2 de agosto de 2011 .
- ^ "Lanzamientos MINIX" . wiki.minix3.org . Archivado desde el original el 31 de mayo de 2012 . Consultado el 29 de febrero de 2012 .
- ^ MINIX 3.2: un microkernel con aplicaciones NetBSD [LWN.net]
- ^ "Índice de / iso / snapshot /" . download.minix3.org . Consultado el 14 de octubre de 2016 .
- ^ "MINIXCon 2016" . www.minix3.org . Consultado el 14 de octubre de 2016 .
- ^ "Investigación en tecnologías positivas" . blog.ptsecurity.com . Consultado el 6 de septiembre de 2017 .
- ^ Minix: sistema operativo oculto en chip de Intel
- ^ Moody, Glyn (25 de agosto de 2015). "Cómo nació Linux, contado por el propio Linus Torvalds" . Ars Technica . Consultado el 25 de agosto de 2015 .
- ^ Tanenbaum, Andrew S. (12 de mayo de 2006). "Debate Tanenbaum-Torvalds: Parte II" . Consultado el 2 de agosto de 2011 .
- ^ Brown, Kenneth (4 de junio de 2004). "Los críticos de Samizdat ... Brown responde" . Institución Alexis de Tocqueville. Archivado desde el original el 22 de octubre de 2004 . Consultado el 2 de agosto de 2011 .
- ^ "La licencia Minix" . Archivado desde el original el 13 de junio de 2007 . Consultado el 23 de marzo de 2007 .
enlaces externos
- Página web oficial
- Minix en Curlie
- Historia de MINIX de Andrew Tanenbaum
- MINIX 3: un sistema operativo modular, compatible con POSIX y autorreparable en YouTube