Un sistema basado en lenguaje es un tipo de sistema operativo que utiliza características del lenguaje para proporcionar seguridad , en lugar de, o además de, mecanismos de hardware. En estos sistemas, el código denominado base de confianza es responsable de aprobar la ejecución de programas , asegurando que no puedan realizar operaciones perjudiciales para la estabilidad del sistema sin ser detectados y gestionados previamente. [ 1 ] Una estrategia muy común para garantizar que tales operaciones sean imposibles es basar el sistema en un lenguaje de alto nivel , como Java , cuyo diseño excluye construcciones peligrosas; muchos están escritos completamente en dicho lenguaje, utilizando solo la cantidad mínima de código de bajo nivel . [ 2 ] Dado que los sistemas basados en lenguaje pueden asegurar de antemano que no pueden realizar acciones que puedan dañar el sistema (como corromper la memoria mediante la desreferenciación de punteros colgantes ), es posible que eviten los costosos cambios de espacio de direcciones necesarios para los sistemas operativos tradicionales; por esta razón, los microkernels son más populares que los sistemas tradicionales. Una forma más extrema de esto es una arquitectura informática de lenguaje de alto nivel , donde la base de confianza se traslada al hardware y todo el sistema está escrito en un lenguaje de alto nivel.
Ejemplos
- Burroughs MCP – Sistema operativo para ordenadores centrales
- Cosmos – Kit de herramientas para la creación de sistemas operativos con interfaz gráfica de usuario y basados en línea de comandos.
- Esmeralda
- Inferno – Sistema operativo distribuido
- JX – Sistema operativo de microkernel basado en Java
- Máquina Lisp : ordenador especializado en ejecutar Lisp.
- Midori : sistema operativo basado en microkernel de Microsoft.
- Oberon – Sistema operativo multitarea escrito en Oberon
- Redox – Sistema operativo de microkernel escrito en Rust
- Singularity : sistema operativo experimental de Microsoft Research.
- Smalltalk : lenguaje de programación orientado a objetos
- Sistema operativo Teseo
- Sistema P de la UCSD: implementación del lenguaje de programación de 1977. Páginas que muestran breves descripciones de los destinos de redireccionamiento.
- Verve : sistema operativo de investigación de Microsoft Research.
- Phantom OS : sistema operativo de propósito general con código administrado y persistencia ortogonal.
Véase también
Referencias
- ↑ Un enfoque de seguridad basado en el lenguaje , Schneider F., Morrissett G. (Universidad de Cornell) y Harper R. (Universidad Carnegie Mellon). Informática: 10 años atrás, 10 años adelante. (2000)
- ↑ Michael Golm; Meik Felser; Christian Wawerish; Jürgen Kleinöder. "JX: un sistema operativo Java flexible (póster)" . Universidad de Erlangen . Consultado el 21 de abril de 2007 .
- A. Sabelfeld, A.C. Myers Seguridad del flujo de información basada en el lenguaje IEEE Journal on Selected Areas in Communications, 2003 Volumen 21, Número 1 pp. 5–19
- V. Haldar, D. Chandra, M. Franz. Atestación remota semántica: un enfoque dirigido por máquinas virtuales para la computación confiable. Simposio USENIX sobre Investigación y Tecnología de Máquinas Virtuales, 2004.
- Giacobazzi, Mastroeni No interferencia abstracta: parametrización de la no interferencia mediante interpretación abstracta Actas del 31.er simposio ACM SIGPLAN-SIGACT sobre principios de lenguajes de programación pp. 186-197 (2004)
- Algis Rudys, Dan S. Wallach Terminación en sistemas basados en lenguaje ACM Transactions on Information and System Security (TISSEC) Volumen 5, Número 2 (mayo de 2002) págs. 138–68
- núcleos de sistemas operativos
- Elementos básicos del sistema operativo