fbpx
Wikipedia

Genode

Genode[5][6][7]​ es un entorno de sistema operativo libre y de código abierto que está compuesto por una capa de abstracción micronúcleo y una colección de componentes de espacio de usuario. El proyecto destaca por ser uno de los pocos sistemas operativos de código abierto que no está inspirado en un sistema comercial como, por ejemplo, Unix. La filosofía tras el diseño se centra principalmente en que una base pequeña de computación fiable es esencial en un sistema operativo orientado a la seguridad.

Genode

El sistema desktop Sculpt basado en Genode
Información general
Tipo de programa software libre
Desarrollador Genode Labs, et al.
Modelo de desarrollo Código abierto
Licencia AGPLv3
Estado actual En desarrollo, versión estable
Información técnica
Programado en C++ y otros
Núcleo NOVA[1]​, Genode micronúcleo[2]​, SeL4, Linux, Fiasco OC, Fiasco, OkL4, Pistachio
Tipo de núcleo Micronúcleo
Plataformas admitidas x86, x86-64,[3]ARM, RISC-V[4]
Versiones
Última versión estable 19.08 (info) 28 de agosto de 2019 (2 años y 1 día)
Enlaces
Página web de Genode Sitio web oficial
Repositorio de código

Genode se puede usar como base para sistemas operativos de escritorios[8][9]​ o de tabletas[10]​ o como monitor de máquinas virtuales para sistemas operativos invitados. El entorno se ha utilizado como componente fiable de sistemas de virtualización seguros para las arquitecturas x86[11]​ y ARM.[12]

Dado el escaso tamaño de su base de código, Genode es una alternativa flexible a otros sistemas operativos más complejos basados en Unix. Es por esto que el entorno se ha utilizado como sistema básico para la investigación en ámbitos tales como la virtualización,[13]​ la comunicación entre procesos,[14]​ el aislamiento de la pila IP,[15]​ la monitorización[16]​ y el desarrollo de software.[17][18]

Historia

Originalmente, Genode fue desarrollado en la Universidad Técnica de Dresde en el marco de un informe de investigación sobre la arquitectura de sistemas operativos llamado "Bastei".[19]​ El informe se centraba en determinar la aplicabilidad de un sistema operativo basado en componentes utilizando una seguridad basada en lo que denominamos “capabilities”. El informe fue motivado en parte por los conocimientos adquiridos en las investigaciones que se llevaron a cabo simultáneamente sobre los microhipervisores L4.[20]​ Debido al éxito de un prototipo anterior, los autores del informe fundaron la compañía Genode Labs con el objetivo de desarrollar Bastei bajo el nombre Genode OS Framework.

Versiones

El proyecto se desarrolla como código abierto bajo los términos de la licencia pública general de Affero, pudiendo la entidad comercial ofrecer licencias alternativas. Se lanzan nuevas versiones cada tres meses para cambios en la ABI del sistema y las API y como documentación del progreso. El entorno está disponible en forma de código fuente y a partir de la versión 18.02 se proporciona también un derivado de propósito general llamado Sculpt con despliegue de archivos binarios.

Características de arquitectura

Genode se basa en la filosofía general de micronúcleos – cuanto más pequeño y simple el código, más fácil se puede verificar su fiabilidad y corrección. Genode está extendiendo esta filosofía al espacio de usuario mediante la composición de aplicaciones complejas a partir de componentes de pequeño tamaño. Cada componente existe en una jerarquía estricta de relaciones de tipo "padre-hijo". Cualquier componente que actúe como padre puede aplicar políticas de recursos y de comunicación entre componentes a sus hijos. Este diseño jerárquico proporciona una compartimentación intuitiva y una deescalada de privilegios porque los subsistemas especializados están anidados dentro de subsistemas más genéricos, mitigando el problema conocido como “confused deputy problema” que es endémico en sistemas con políticas centralizadas o con superusuario.

Crítica

C++

A menudo se ha criticado a Genode por su elección de C++ como lenguaje de implementación (otros sistemas operativos que usan C++ son BeOS, Fuchsia, Ghost,[21]Haiku, IncludeOS,[22]OSv, Palm OS, ReactOS, Syllable, y los principales motores de navegación). Estas críticas con frecuencia afirman que C++ es una elección desacertada para la implementación de bibliotecas y API del sistema a causa de la complejidad inherente de C++ y a la dificultad que plantea el análisis del código para su correcto funcionamiento. Mientras que Genode utiliza herencia múltiple y plantillas en su biblioteca del sistema, no se permite el uso de la biblioteca estándar de C++ y las características que se basan en el estado global implícito, tales como el almacenamiento de hilo local y el asignador global han sido eliminadas del entorno del lenguaje. No es posible llevar a cabo un análisis estático completo de C++, sin embargo, el proyecto Genode publica tests de unidad para realizar análisis empíricos.

XML

Los componentes de Genode utilizan y publican estados como datos estructurados serializados en XML, en contraste con los modelos de texto plano de los derivados de Unix. XML es criticado por sus características complejas, ineficaz representación y la relativa dificultad que plantea la edición manual de documentos XML. El entorno Genode usa XML de modo efectivo en todos sus componentes porque el programa genera e interpreta fácilmente XML, siendo también posible entenderlo y editarlo manualmente. El dialecto que utiliza Genode es un subconjunto simple del lenguaje XML, no obstante, algunos nuevos usuarios con frecuencia advierten de que la edición de XML resulta tediosa y proclive al error. Puesto que Genode no se basa en ninguna característica en especial de XML, el lenguaje de marcado de datos de Genode se podría sustituir por otros más simples tales como JSON o sexps. No obstante, no se han anunciado aun planes de migración.

Espacio de nombres local

Genode no tiene ningún espacio de nombres global. No existe ningún sistema de archivos global ni registros de procesos o terminales de comunicación entre procesos. Esto contrasta con sistemas como UNIX que presentan un sistema de ficheros ubicuo y permite que un contexto de superusuario maneje arbitrariamente cualquier proceso dentro del sistema. Declarar explícitamente los permisos y las rutas de los componentes puede parecer que requiere más trabajo en comparación con UNIX. No obstante, la compartimentación de la administración permite que los subsistemas puedan ser gestionados por administradores mutuamente no confiables en la misma máquina sin recurrir a la virtualización, método común de aislamiento.

Sculpt

El proyecto Genode publica un sistema operativo desktop llamado Sculpt, pensado para el usuario de laptops actual.[23]​ Sculpt es un sistema de base pequeña con detección y configuración automática de dispositivo, algunas GUI de control y una interfaz para el gestor del paquete Genode. El sistema no contiene un entorno desktop completo, sino que requiere que los usuarios implementen máquinas virtuales que alojen sistemas operativos tradicionales para conseguir un desktop con características completas. Sculpt se distingue del sistema operativo Genode en que depende en gran medida en la reconfiguración dinámica mediante componentes privilegiados de control, en contraste con los sistemas especializados que tienen políticas estáticas.

Véase también

Referencias

  1. «NOVA OS Virtualization Architecture». 
  2. Stein, Martin. «A kernel in a library, FOSDEM 2017». 
  3. Larabel, Michael. «Genode Is Developing A GPU Multiplexer For Intel Graphics Hardware». Phoronix. 
  4. «Genode OS adds RISC-V support». 
  5. «Introduction of the Genode OS Framework». archive.fosdem.org/2012. 
  6. . L4hq.org. Archivado desde el original el 14 de junio de 2018. Consultado el 25 de febrero de 2019. 
  7. Larabel, Michael. «Redox OS, MINIX, Hurd & Genode Had Their Time At FOSDEM Too». Phoronix. 
  8. Baader, Hans-Joachim. «Genode 2018.2 mit Sculpt OS». pro-linux.de. 
  9. Larabel, Michael. «Sculpt Aims To Be A General-Purpose OS Built Atop Genode». 
  10. Tarasikov, Alexander (11 de mayo de 2013). «Porting Genode to commercial hardware». allsoftwaresucks.blogspot.com. 
  11. «Muen - An x86/64 Separation Kernel for High Assurance». 
  12. Williams, John. «Inspecting data from the safety of your trusted execution environment». 
  13. «Embassies: Radically Refactoring the Web». USENIX. 
  14. Martin Wegner, Sönke Holthusen (11 de diciembre de 2014). . ccc-project.org. Archivado desde el original el 27 de marzo de 2019. Consultado el 25 de febrero de 2019. 
  15. Hammad, Mohammad (6 de enero de 2016). . ccc-project.org. Archivado desde el original el 23 de enero de 2019. Consultado el 25 de febrero de 2019. 
  16. B.PRUTHIVIRAJ, G.S.MADHUSUTHUN, S.VIJAYASARATHY, K.CHAKRAPANI. «A MICROKERNEL BASED SECURE OPERATING SYSTEM USING GENODE FRAMEWORK». jatit.org. 
  17. Hähne, Ludwig. «Empirical Comparison of SCons and GNU Make». 
  18. Millo-Sánchez, Reinier & Paz Rodríguez, Waldo & Fajardo-Moya, Alexis. «Genode OS Framework, un framework para el desarrollo de sistemas embebidos». ResearchGate. 
  19. «TU Dresden technical report TUD-FI06-07». 
  20. «NOVA Microhypervisor». 
  21. «Ghost, a hobby operating system for the Intel x86 platform». 
  22. «IncludeOS, an operating system written as a library». 
  23. «Sculpt, an open-source general-purpose OS». 
  •   Datos: Q16527380

genode, entorno, sistema, operativo, libre, código, abierto, está, compuesto, capa, abstracción, micronúcleo, colección, componentes, espacio, usuario, proyecto, destaca, pocos, sistemas, operativos, código, abierto, está, inspirado, sistema, comercial, como, . Genode 5 6 7 es un entorno de sistema operativo libre y de codigo abierto que esta compuesto por una capa de abstraccion micronucleo y una coleccion de componentes de espacio de usuario El proyecto destaca por ser uno de los pocos sistemas operativos de codigo abierto que no esta inspirado en un sistema comercial como por ejemplo Unix La filosofia tras el diseno se centra principalmente en que una base pequena de computacion fiable es esencial en un sistema operativo orientado a la seguridad GenodeEl sistema desktop Sculpt basado en GenodeInformacion generalTipo de programasoftware libreDesarrolladorGenode Labs et al Modelo de desarrolloCodigo abiertoLicenciaAGPLv3Estado actualEn desarrollo version estableInformacion tecnicaProgramado enC y otrosNucleoNOVA 1 Genode micronucleo 2 SeL4 Linux Fiasco OC Fiasco OkL4 PistachioTipo de nucleoMicronucleoPlataformas admitidasx86 x86 64 3 ARM RISC V 4 VersionesUltima version estable19 08 info 28 de agosto de 2019 2 anos y 1 dia EnlacesPagina web de Genode Sitio web oficial Repositorio de codigo editar datos en Wikidata Genode se puede usar como base para sistemas operativos de escritorios 8 9 o de tabletas 10 o como monitor de maquinas virtuales para sistemas operativos invitados El entorno se ha utilizado como componente fiable de sistemas de virtualizacion seguros para las arquitecturas x86 11 y ARM 12 Dado el escaso tamano de su base de codigo Genode es una alternativa flexible a otros sistemas operativos mas complejos basados en Unix Es por esto que el entorno se ha utilizado como sistema basico para la investigacion en ambitos tales como la virtualizacion 13 la comunicacion entre procesos 14 el aislamiento de la pila IP 15 la monitorizacion 16 y el desarrollo de software 17 18 Indice 1 Historia 2 Versiones 3 Caracteristicas de arquitectura 4 Critica 4 1 C 4 2 XML 4 3 Espacio de nombres local 5 Sculpt 6 Vease tambien 7 ReferenciasHistoria EditarOriginalmente Genode fue desarrollado en la Universidad Tecnica de Dresde en el marco de un informe de investigacion sobre la arquitectura de sistemas operativos llamado Bastei 19 El informe se centraba en determinar la aplicabilidad de un sistema operativo basado en componentes utilizando una seguridad basada en lo que denominamos capabilities El informe fue motivado en parte por los conocimientos adquiridos en las investigaciones que se llevaron a cabo simultaneamente sobre los microhipervisores L4 20 Debido al exito de un prototipo anterior los autores del informe fundaron la compania Genode Labs con el objetivo de desarrollar Bastei bajo el nombre Genode OS Framework Versiones EditarEl proyecto se desarrolla como codigo abierto bajo los terminos de la licencia publica general de Affero pudiendo la entidad comercial ofrecer licencias alternativas Se lanzan nuevas versiones cada tres meses para cambios en la ABI del sistema y las API y como documentacion del progreso El entorno esta disponible en forma de codigo fuente y a partir de la version 18 02 se proporciona tambien un derivado de proposito general llamado Sculpt con despliegue de archivos binarios Caracteristicas de arquitectura EditarGenode se basa en la filosofia general de micronucleos cuanto mas pequeno y simple el codigo mas facil se puede verificar su fiabilidad y correccion Genode esta extendiendo esta filosofia al espacio de usuario mediante la composicion de aplicaciones complejas a partir de componentes de pequeno tamano Cada componente existe en una jerarquia estricta de relaciones de tipo padre hijo Cualquier componente que actue como padre puede aplicar politicas de recursos y de comunicacion entre componentes a sus hijos Este diseno jerarquico proporciona una compartimentacion intuitiva y una deescalada de privilegios porque los subsistemas especializados estan anidados dentro de subsistemas mas genericos mitigando el problema conocido como confused deputy problema que es endemico en sistemas con politicas centralizadas o con superusuario Critica EditarC Editar A menudo se ha criticado a Genode por su eleccion de C como lenguaje de implementacion otros sistemas operativos que usan C son BeOS Fuchsia Ghost 21 Haiku IncludeOS 22 OSv Palm OS ReactOS Syllable y los principales motores de navegacion Estas criticas con frecuencia afirman que C es una eleccion desacertada para la implementacion de bibliotecas y API del sistema a causa de la complejidad inherente de C y a la dificultad que plantea el analisis del codigo para su correcto funcionamiento Mientras que Genode utiliza herencia multiple y plantillas en su biblioteca del sistema no se permite el uso de la biblioteca estandar de C y las caracteristicas que se basan en el estado global implicito tales como el almacenamiento de hilo local y el asignador global han sido eliminadas del entorno del lenguaje No es posible llevar a cabo un analisis estatico completo de C sin embargo el proyecto Genode publica tests de unidad para realizar analisis empiricos XML Editar Los componentes de Genode utilizan y publican estados como datos estructurados serializados en XML en contraste con los modelos de texto plano de los derivados de Unix XML es criticado por sus caracteristicas complejas ineficaz representacion y la relativa dificultad que plantea la edicion manual de documentos XML El entorno Genode usa XML de modo efectivo en todos sus componentes porque el programa genera e interpreta facilmente XML siendo tambien posible entenderlo y editarlo manualmente El dialecto que utiliza Genode es un subconjunto simple del lenguaje XML no obstante algunos nuevos usuarios con frecuencia advierten de que la edicion de XML resulta tediosa y proclive al error Puesto que Genode no se basa en ninguna caracteristica en especial de XML el lenguaje de marcado de datos de Genode se podria sustituir por otros mas simples tales como JSON o sexps No obstante no se han anunciado aun planes de migracion Espacio de nombres local Editar Genode no tiene ningun espacio de nombres global No existe ningun sistema de archivos global ni registros de procesos o terminales de comunicacion entre procesos Esto contrasta con sistemas como UNIX que presentan un sistema de ficheros ubicuo y permite que un contexto de superusuario maneje arbitrariamente cualquier proceso dentro del sistema Declarar explicitamente los permisos y las rutas de los componentes puede parecer que requiere mas trabajo en comparacion con UNIX No obstante la compartimentacion de la administracion permite que los subsistemas puedan ser gestionados por administradores mutuamente no confiables en la misma maquina sin recurrir a la virtualizacion metodo comun de aislamiento Sculpt EditarEl proyecto Genode publica un sistema operativo desktop llamado Sculpt pensado para el usuario de laptops actual 23 Sculpt es un sistema de base pequena con deteccion y configuracion automatica de dispositivo algunas GUI de control y una interfaz para el gestor del paquete Genode El sistema no contiene un entorno desktop completo sino que requiere que los usuarios implementen maquinas virtuales que alojen sistemas operativos tradicionales para conseguir un desktop con caracteristicas completas Sculpt se distingue del sistema operativo Genode en que depende en gran medida en la reconfiguracion dinamica mediante componentes privilegiados de control en contraste con los sistemas especializados que tienen politicas estaticas Vease tambien EditarQNX un sistema operativo de propietario tipo UNIX alojado por un micronucleo Qubes OS un sistema operativo desktop con seguridad mediante virtualizacion Principio de minimo privilegio Referencias Editar NOVA OS Virtualization Architecture Stein Martin A kernel in a library FOSDEM 2017 Larabel Michael Genode Is Developing A GPU Multiplexer For Intel Graphics Hardware Phoronix Genode OS adds RISC V support Introduction of the Genode OS Framework archive fosdem org 2012 L4 Based Operating Systems L4hq org Archivado desde el original el 14 de junio de 2018 Consultado el 25 de febrero de 2019 Larabel Michael Redox OS MINIX Hurd amp Genode Had Their Time At FOSDEM Too Phoronix Baader Hans Joachim Genode 2018 2 mit Sculpt OS pro linux de Larabel Michael Sculpt Aims To Be A General Purpose OS Built Atop Genode Tarasikov Alexander 11 de mayo de 2013 Porting Genode to commercial hardware allsoftwaresucks blogspot com Muen An x86 64 Separation Kernel for High Assurance Williams John Inspecting data from the safety of your trusted execution environment Embassies Radically Refactoring the Web USENIX Martin Wegner Sonke Holthusen 11 de diciembre de 2014 Contract Specification and language ccc project org Archivado desde el original el 27 de marzo de 2019 Consultado el 25 de febrero de 2019 Hammad Mohammad 6 de enero de 2016 The Secure Communication Module of CCC ccc project org Archivado desde el original el 23 de enero de 2019 Consultado el 25 de febrero de 2019 B PRUTHIVIRAJ G S MADHUSUTHUN S VIJAYASARATHY K CHAKRAPANI A MICROKERNEL BASED SECURE OPERATING SYSTEM USING GENODE FRAMEWORK jatit org Hahne Ludwig Empirical Comparison of SCons and GNU Make Millo Sanchez Reinier amp Paz Rodriguez Waldo amp Fajardo Moya Alexis Genode OS Framework un framework para el desarrollo de sistemas embebidos ResearchGate TU Dresden technical report TUD FI06 07 NOVA Microhypervisor Ghost a hobby operating system for the Intel x86 platform IncludeOS an operating system written as a library Sculpt an open source general purpose OS Datos Q16527380Obtenido de https es wikipedia org w index php title Genode amp oldid 134833951, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos