stringtranslate.com

Infierno (sistema operativo)

Inferno es un sistema operativo distribuido iniciado en Bell Labs y ahora desarrollado y mantenido por Vita Nuova Holdings como software libre bajo la Licencia MIT . [2] [3] Inferno se basó en la experiencia adquirida con Plan 9 de Bell Labs , y la investigación posterior de Bell Labs en sistemas operativos, lenguajes, compiladores sobre la marcha, gráficos, seguridad, redes y portabilidad. El nombre del sistema operativo, muchos de sus programas asociados y el de la empresa actual, se inspiraron en la Divina Comedia de Dante Alighieri . En italiano, Inferno significa " infierno ", del cual hay nueve círculos en la Divina Comedia de Dante .

Principios de diseño

Inferno fue creado en 1995 por miembros de la división de Investigación en Ciencias de la Computación de Bell Labs para llevar las ideas derivadas de su sistema operativo anterior, Plan 9 de Bell Labs , a una gama más amplia de dispositivos y redes. Inferno es un sistema operativo distribuido basado en tres principios básicos:

Para manejar la diversidad de entornos de red en los que se pretendía utilizar, los diseñadores decidieron que una máquina virtual (VM) era un componente necesario del sistema. Esta es la misma conclusión del proyecto Oak que se convirtió en Java , pero a la que se llegó de forma independiente. La máquina virtual Dis es una máquina de registros destinada a coincidir estrechamente con la arquitectura en la que se ejecuta, en contraste con la máquina de pila de la máquina virtual Java . Una ventaja de este enfoque es la relativa simplicidad de crear un compilador justo a tiempo para nuevas arquitecturas.

La máquina virtual proporciona una gestión de memoria diseñada para ser eficiente en dispositivos con tan solo 1 MiB de memoria y sin hardware de mapeo de memoria. Su recolector de elementos no utilizados es un híbrido entre un conteo de referencias y un recolector de coloración en tiempo real que reúne datos cíclicos. [11]

El núcleo Inferno contiene la máquina virtual, el compilador sobre la marcha, el programador, los dispositivos, las pilas de protocolos y el evaluador de espacios de nombres para el espacio de nombres de archivo de cada proceso, así como la raíz de la jerarquía del sistema de archivos. El núcleo también incluye algunos módulos integrados que proporcionan interfaces del sistema operativo virtual, como llamadas al sistema, gráficos, seguridad y módulos matemáticos.

El artículo de Bell Labs Technical Journal que presenta Inferno enumera varias dimensiones de portabilidad y versatilidad proporcionadas por el sistema operativo: [12]

Estas opciones de diseño se orientaron a proporcionar interfaces estándar que liberaran a los proveedores de contenidos y servicios de la preocupación por los detalles de los diversos hardware, software y redes a través de los cuales se distribuye su contenido.

Características

Los programas Inferno son portables en una amplia combinación de hardware, redes y entornos. Define una máquina virtual , conocida como Dis , que se puede implementar en cualquier máquina real, proporciona Limbo , un lenguaje de tipo seguro que se compila en código de bytes portable y, lo que es más importante, incluye un sistema operativo virtual que proporciona las mismas interfaces, ya sea que Inferno se ejecute de forma nativa en hardware o como un programa de usuario sobre otro sistema operativo.

Se aplica un protocolo de comunicaciones llamado Styx de manera uniforme para acceder a recursos locales y remotos, que los programas utilizan llamando a operaciones de archivo estándar: abrir, leer, escribir y cerrar. A partir de la cuarta edición de Inferno, Styx es idéntico a la versión más reciente de Plan 9 de su protocolo distintivo 9P , 9P2000 .

La mayoría de los comandos de Inferno son muy similares a los comandos de Unix con el mismo nombre. [13]

Historia

Anuncio de Lucent sobre Inferno en IEEE Internet Computing , volumen 1, número 2, marzo-abril de 1997

Inferno es un descendiente de Plan 9 de Bell Labs y comparte muchos conceptos de diseño e incluso código fuente en el núcleo, particularmente en lo que respecta a los dispositivos y el protocolo Styx/9P2000. Inferno comparte con Plan 9 la herencia Unix de Bell Labs y la filosofía Unix . Muchas de las herramientas de línea de comandos en Inferno eran herramientas de Plan 9 que se tradujeron a Limbo.

A mediados de los años 1990, el desarrollo de Plan 9 se dejó de lado en favor de Inferno. [14] La existencia del nuevo sistema fue filtrada por Dennis Ritchie a principios de 1996, después de menos de un año de desarrollo del sistema, y ​​se presentó públicamente más tarde ese año como un competidor de Java. Al mismo tiempo, la empresa matriz de Bell Labs, AT&T, obtuvo la licencia de la tecnología Java de Sun Microsystems . [15]

En marzo-abril de 1997, IEEE Internet Computing incluyó un anuncio del software de redes Inferno. En él se afirmaba que varios dispositivos podían comunicarse a través de "cualquier red", incluidas Internet, las telecomunicaciones y las redes de área local. El anuncio afirmaba que los videojuegos podían comunicarse con los ordenadores (en la foto aparecía una PlayStation) , los teléfonos móviles podían acceder al correo electrónico y el buzón de voz estaba disponible a través de la televisión.

Lucent utilizó Inferno en al menos dos productos internos: el bloque de firewall VPN de Lucent y el conmutador telefónico Pathstar de Lucent. Inicialmente intentaron vender licencias de código fuente de Inferno, pero encontraron pocos compradores. Lucent hizo poco marketing y pasó por alto la importancia de Internet y la relación de Inferno con ella. Durante la misma época, Sun Microsystems estaba promocionando intensamente su propio lenguaje de programación Java , que apuntaba a un mercado similar, con tecnología análoga, que funcionaba en navegadores web y también satisfacía la demanda de lenguajes orientados a objetos populares en ese momento. Lucent obtuvo la licencia de Java de Sun, afirmando que todos los dispositivos Inferno estarían hechos para ejecutar Java. Se escribió un traductor de código byte de Java a código byte de Dis para facilitar eso. Sin embargo, Inferno todavía no encontró clientes.

La unidad de negocios Inferno cerró después de tres años y se vendió a Vita Nuova Holdings. Vita Nuova continuó con el desarrollo y ofreció licencias comerciales para el sistema completo, y descargas y licencias gratuitas (no compatibles con GPL ) para todo el sistema excepto el núcleo y la máquina virtual. Portaron el software a un nuevo hardware y se centraron en aplicaciones distribuidas. Finalmente, Vita Nuova lanzó la cuarta edición bajo licencias de software libre más comunes y en 2021 volvieron a licenciar todas las ediciones principalmente bajo la licencia MIT . [6] [2] [3]

Puertos

Inferno se ejecuta directamente en hardware nativo y también como una aplicación que proporciona un sistema operativo virtual que se ejecuta en otras plataformas. Los programas se pueden desarrollar y ejecutar en todas las plataformas Inferno sin necesidad de modificarlos ni volver a compilarlos.

Los puertos nativos incluyen estas arquitecturas: x86 , MIPS , ARM , PowerPC , SPARC .

Los puertos de sistema operativo alojados o virtuales incluyen: Microsoft Windows , Linux , FreeBSD , Plan 9 , Mac OS X , Solaris , IRIX , UnixWare .

Inferno también puede alojarse mediante un complemento para Internet Explorer . [16] Vita Nuova dijo que se estaban desarrollando complementos para otros navegadores, pero nunca se lanzaron. [17]

Inferno también ha sido portado a Openmoko , [18] Nintendo DS , [19] SheevaPlug , [20] y Android . [21]

Distribución

La cuarta edición de Inferno se publicó a principios de 2005 como software libre . En concreto, tenía una licencia dual bajo dos estructuras. [6] Los usuarios podían obtenerlo bajo un conjunto de licencias de software libre o podían obtenerlo bajo una licencia propietaria. En el caso del esquema de licencia de software libre, diferentes partes del sistema estaban cubiertas por diferentes licencias, incluidas la Licencia Pública General de GNU , la Licencia Pública General Reducida de GNU , la Licencia Pública Lucent y la Licencia MIT , excluyendo las fuentes, que tienen sublicencia de Bigelow y Holmes.

En marzo de 2021, todas las ediciones fueron relicenciadas principalmente bajo la Licencia MIT . [2] [3]

Véase también

Notas

  1. ^ "El sistema de software libre" y la "licencia de desarrollador comercial"
  2. ^ "Licencia de fuente liberal de Vita Nuova" y "Licencia de desarrollador comercial de Vita Nuova"
  3. ^ "Licencia de suscripción Vita Nuova Inferno"

Referencias

  1. ^ Dorward, Sean; Pike, Rob; Presotto, David Leo; Ritchie, Dennis M.; Trickey, Howard; Winterbottom, Phil (1997). "El sistema operativo Inferno". Documentación de Inferno . Vita Nuova . Consultado el 2 de mayo de 2014 .
  2. ^ abcd "Condiciones de la licencia de Inferno". Archivado desde el original el 27 de abril de 2021. Consultado el 17 de junio de 2021. MIT
  3. ^ abcd "inferno-os — Bitbucket" . Consultado el 17 de junio de 2021 .
  4. ^ "Términos de la licencia de Inferno". Archivado desde el original el 11 de agosto de 2005. Consultado el 17 de junio de 2021. El esquema de software libre" y "Licencia para desarrolladores comerciales"
  5. ^ "Licencia de desarrollador comercial de Vita Nuova - 9 de noviembre de 2005". Archivado desde el original el 2006-05-02 . Consultado el 2021-06-17 .
  6. ^ abc "Términos de la licencia de Inferno". Archivado desde el original el 26 de octubre de 2003. Consultado el 17 de junio de 2021. Licencia de fuente liberal de Vita Nuova" y "Licencia de desarrollador comercial de Vita Nuova"
  7. ^ "Vita Nuova Liberal Source License - 29 de mayo de 2003". Archivado desde el original el 5 de abril de 2005. Consultado el 17 de junio de 2021 .
  8. ^ "Vita Nuova Liberal Source License - 14 de mayo de 2003". Archivado desde el original el 23 de febrero de 2004. Consultado el 17 de junio de 2021 .
  9. ^ "Licencia de desarrollador comercial de Vita Nuova - 22 de abril de 2003". Archivado desde el original el 25 de junio de 2004. Consultado el 17 de junio de 2021 .
  10. ^ "Licencia de suscripción de Vita Nuova Inferno". Archivado desde el original el 8 de diciembre de 2000. Consultado el 17 de junio de 2021 .
  11. ^ Huelsbergen, Lorenz; Winterbottom, Phil (1998). Recolección de basura mediante marcado y barrido muy simultáneos sin sincronización de grano fino (PDF) . Simposio internacional sobre gestión de memoria de 1998.
  12. ^ "El sistema operativo Inferno". Bell Labs Technical Journal (artículos). 2 (1, invierno de 1997). Vita Nuova Holdings: 5–18.
  13. ^ "Infierno - 1".
  14. ^ Pontin, Jason (19 de febrero de 1996). "AT&T revela planes para un competidor de Java". InfoWorld . p. 3.
  15. ^ Hayes, Frank (19 de febrero de 1996). "Inferno, de Bell Lab, pretende rivalizar con Java". Computerworld . p. 6.
  16. ^ "Código de soporte para permitir que Inferno actúe como complemento en varios navegadores".
  17. ^ Complementos, Vita Nuova.
  18. ^ "inferno-openmoko - inferno para openmoko neo freerunner - Google Project Hosting" . Consultado el 4 de junio de 2012 .
  19. ^ Lukkien, Mechiel (22 de enero de 2024), mjl-/inferno-ds , consultado el 25 de enero de 2024
  20. ^ "inferno-kirkwood - Inferno para Marvell Kirkwood/Sheevaplug - Hospedaje de proyectos de Google" . Consultado el 4 de junio de 2012 .
  21. ^ florén (29 de septiembre de 2011). "floren: infierno: wiki". Bitbucket.org . Consultado el 4 de junio de 2012 .

Lectura adicional

Enlaces externos