Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Genode
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de software |nombre = Genode |logo = Genode logo text.png |captura = 2018-09-21-sculpt-vc.png |pie = El sistema desktop Sculpt basado en Genode |desarrollador = Genode Labs, et al. |sistema_operativo = |última_versión = 19.08 |fecha_última_versión = {{fecha de lanzamiento|28|08|2019}} |web_última_versión = https://genode.org/download/latest-release |última_versión_prueba = |fecha_última_versión_prueba = |web_última_versión_prueba = |lenguaje_programación = [[C++]] y otros |kernel_tipo = [[Micronúcleo]] |núcleo = NOVA,<ref>{{cite web|url=http://hypervisor.org/|title=NOVA OS Virtualization Architecture}}</ref> Genode micronúcleo,<ref>{{cite web|last1=Stein |first1=Martin |url=https://www.youtube.com/watch?v=DDNZ-3xxGO4|title=A kernel in a library, FOSDEM 2017}}</ref> [[L4 (micronúcleo)|SeL4]], [[Núcleo Linux|Linux]], [[L4 (micronúcleo)|Fiasco OC]], [[L4 (micronúcleo)|Fiasco]], [[L4 (micronúcleo)|OkL4]], [[L4 (micronúcleo)|Pistachio]] |plataforma = [[x86]], [[x86-64]],<ref>{{cite web |last1=Larabel |first1=Michael |title=Genode Is Developing A GPU Multiplexer For Intel Graphics Hardware |url=https://www.phoronix.com/scan.php?page=news_item&px=Genode-GPU-Multiplexer |website=Phoronix}}</ref> [[Arquitectura ARM|ARM]], [[RISC-V]]<ref>{{cite web|url=https://www.rambus.com/blogs/genode-os-adds-risc-v-support-2/|title=Genode OS adds RISC-V support}}</ref> |licencia = [[GNU Affero General Public License|AGPLv3]] |estado_actual = En desarrollo, versión estable |modelo_desarrollo = [[Desarrollo de software de código abierto|Código abierto]] |sitio_web = [http://www.genode.org/ Página web del proyecto Genode]<br />[http://www.genode-labs.com/ Página web de Genode Labs] |español = No }} '''Genode'''<ref>{{cite web |title=Introduction of the Genode OS Framework |url=https://archive.fosdem.org/2012/schedule/event/microkernel_intro_genode.html |website=archive.fosdem.org/2012}}</ref><ref>{{cite web |title=L4 Based Operating Systems |url=http://l4hq.org/projects/os/ |website=L4hq.org |fechaacceso=25 de febrero de 2019 |urlarchivo=https://web.archive.org/web/20180614095447/http://l4hq.org/projects/os/ |fechaarchivo=14 de junio de 2018 }}</ref><ref>{{cite web |last1=Larabel |first1=Michael |title=Redox OS, MINIX, Hurd & Genode Had Their Time At FOSDEM Too |url=https://www.phoronix.com/scan.php?page=news_item&px=FOSDEM-2017-Other-OSes |website=Phoronix}}</ref> es un entorno de [[sistema operativo]] [[Software libre|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 de computador confiable|base pequeña de computación fiable]] es esencial en un sistema operativo orientado a la seguridad. Genode se puede usar como base para sistemas operativos de escritorios<ref>{{cite web |last1=Baader |first1=Hans-Joachim |title=Genode 2018.2 mit Sculpt OS |url=http://www.pro-linux.de/news/1/25685/genode-20182-mit-sculpt-os.html |website=pro-linux.de}}</ref><ref>{{cite web |last1=Larabel |first1=Michael |title=Sculpt Aims To Be A General-Purpose OS Built Atop Genode |url=https://www.phoronix.com/scan.php?page=news_item&px=Sculpt-OS}}</ref> o de tabletas<ref>{{Cite web|url=https://allsoftwaresucks.blogspot.com/2013/05/porting-genode-to-commercial-hardware.html|title=Porting Genode to commercial hardware|last=Tarasikov|first=Alexander|date=11 de mayo de 2013|website=allsoftwaresucks.blogspot.com|archive-url=|archive-date=|dead-url=|access-date=}}</ref> o como [[hipervisor|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 [[Virtualización x86|x86]]<ref>{{cite web |title=Muen - An x86/64 Separation Kernel for High Assurance |url=https://muen.codelabs.ch/}}</ref> y [[Arquitectura ARM|ARM]].<ref>{{cite web |last1=Williams |first1=John |title=Inspecting data from the safety of your trusted execution environment |url=https://www.blackhat.com/docs/ldn-15/materials/london-15-Williams-Inspecting-Data-From-The-Safety-Of-Your-Trusted-Execution-Environment-wp.pdf}}</ref> 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,<ref>{{cite web |title=Embassies: Radically Refactoring the Web |url=https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final85.pdf |publisher=USENIX}}</ref> la [[comunicación entre procesos]],<ref>{{cite web |last1=Martin Wegner, Sönke Holthusen |title=Contract Specification and language |url=http://ccc-project.org/december-11th-2014-contract-specification-and-language/ |website=ccc-project.org |date=11 de diciembre de 2014 |fechaacceso=25 de febrero de 2019 |fechaarchivo=27 de marzo de 2019 |urlarchivo=https://web.archive.org/web/20190327090752/http://ccc-project.org/december-11th-2014-contract-specification-and-language/ |deadurl=yes }}</ref> el aislamiento de la [[Familia de protocolos de internet|pila IP]],<ref>{{cite web |last1=Hammad |first1=Mohammad |title=The Secure Communication Module of CCC |url=http://ccc-project.org/january-11th-2016-the-secure-communication-module-of-ccc/ |website=ccc-project.org |date=6 de enero de 2016 |fechaacceso=25 de febrero de 2019 |fechaarchivo=23 de enero de 2019 |urlarchivo=https://web.archive.org/web/20190123223312/http://ccc-project.org/january-11th-2016-the-secure-communication-module-of-ccc/ |deadurl=yes }}</ref> la monitorización<ref>{{Cite web|url=http://www.jatit.org/volumes/Vol38No2/9Vol38No2.pdf|title=A MICROKERNEL BASED SECURE OPERATING SYSTEM USING GENODE FRAMEWORK|last=B.PRUTHIVIRAJ, G.S.MADHUSUTHUN, S.VIJAYASARATHY, K.CHAKRAPANI|date=|website=jatit.org|archive-url=|archive-date=|dead-url=|access-date=}}</ref> y el [[Ingeniería de software|desarrollo de software]].<ref>{{cite web |last1=Hähne |first1=Ludwig |title=Empirical Comparison of SCons and GNU Make |url=http://www.genode-labs.com/publications/scons-vs-make-2008.pdf}}</ref><ref>{{cite web |last1=Millo-Sánchez, Reinier & Paz Rodríguez, Waldo & Fajardo-Moya, Alexis |title=Genode OS Framework, un framework para el desarrollo de sistemas embebidos |url=https://www.researchgate.net/publication/283506872 |website=ResearchGate}}</ref> == 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".<ref>{{cite web|url=http://os.inf.tu-dresden.de/papers_ps/bastei_design.pdf|title=TU Dresden technical report TUD-FI06-07}}</ref> 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 [[L4 (micronúcleo)|microhipervisores L4]].<ref>{{cite web|url=http://hypervisor.org/|title=NOVA Microhypervisor}}</ref> 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 [[GNU Affero General Public License|licencia pública general de Affero]], pudiendo la entidad comercial ofrecer licencias alternativas. Se lanzan nuevas versiones cada tres meses para cambios en la [[Interfaz binaria de aplicaciones|ABI]] del sistema y las [[Interfaz de programación de aplicaciones|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 [[Archivo binario|archivos binarios]]. == Características de arquitectura == Genode se basa en la filosofía general de micronúcleos{{snd}} 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 [[Root|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]], [[Google Fuchsia|Fuchsia]], Ghost,<ref>{{cite web|url=https://ghostkernel.org|title=Ghost, a hobby operating system for the Intel x86 platform}}</ref> [[Haiku (sistema operativo)|Haiku]], IncludeOS,<ref>{{cite web|url=https://www.includeos.org/|title=IncludeOS, an operating system written as a library}}</ref> [[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 [[C++11#Almacenamiento de hilo local|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 [[Prueba unitaria|tests de unidad]] para realizar análisis empíricos. === XML === Los componentes de Genode utilizan y publican estados como datos estructurados serializados en [[Extensible Markup Language|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 [[Expresión S|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.<ref>{{cite web|url=https://genode.org/download/sculpt|title=Sculpt, an open-source general-purpose OS}}</ref> 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 == * [[QNX]], un sistema operativo de propietario tipo UNIX alojado por un micronúcleo. * [[Qubes OS]], un sistema operativo desktop con seguridad mediante virtualización. * [[Principio de mínimo privilegio]]. == Referencias == {{listaref|2}} {{Control de autoridades}} [[Categoría:Sistemas operativos]] [[Categoría:Software libre]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Genode
»
Añadir idiomas
Añadir tema