Está en la página 1de 11

Estructura de los Sistemas Operativos

Microkernel

La idea central de este estilo arquitectónico es permitir la extensión de su


funcionalidad o personalización, pero respetando el principio Open-Closed,
es decir, está abierto para extender la funcionalidad, pero cerrado para
modificar su funcionalidad principal.
De esta forma, se logra que los desarrolladores pueden
crear plugins para agregar nueva funcionalidad o
extender la existente, pero sin alterar la funcionalidad
Core del sistema. Los ejemplos más claros de esta
arquitectura son los IDE’s de desarrollo como Eclipse,
Netbeans, Visual Studio, Visual Studio Code o los
sistemas de ofimática como Word, Powerpoint, Excel,
etc. Todas estas aplicaciones permiten que los
desarrolladores creen nueva funcionalidad, la cual se
instala para extender o agregar nuevas características.
Estructura de los Sistemas Operativos
Exokernel
• Se refiere a un sistema creado con fines de investigación en
el Instituto Tecnológico de Massachusetts sobre OpenBSD y
otros sistemas operativos similares. Su propósito es crear una
especie de capa de software para otros sistemas virtuales.
• Un sistema operativo se interpone entre las aplicaciones y el hw.
• Elimina el concepto de abstracción sobre la cual corren las aplicaciones.
• Se asegura de multiplexar el hw desnudo: a través de primitivas de hw,
librerías a nivel de aplicación y servidores.
• Ej: XOK con Exos (librería sos tipo Unix) de MIT . Aegis, Nemesis
(Cambridge).
• El servidor Cheetah se construye sobre XOK.
• Es esencialmente la extensión de la filosofía de la arquitectura Risc en CPU
al nivel del sistema operativo.
Características
• El exokernel es eficiente debido al número limitado de operaciones
primitivas sencillas que aporta.
• Debido al bajo nivel de seguridad en la multiplexación de los recursos de
hardware proporciona baja utilización de los recursos del sistema.

• Abstracciones tradicionales como la Memoria


Virtual (VM) y los Interprocesos de Comunicación
(IPC) pueden ser implementados de forma eficiente
a nivel de aplicación, en donde podría extenderse
fácilmente, especializarse o sustituirse.
Estructura de los Sistemas Operativos
SO Distribuido
Ventajas
Desventajas
Estructura de los Sistemas Operativos
SO Middleware
• Un middleware es un software que se sitúa entre un sistema operativo y las
aplicaciones que se ejecutan en él. Es, en esencia, una especie de “capa de
traducción” oculta que permite la comunicación y la administración de datos
en aplicaciones distribuidas. En otras palabras, es como una red de tuberías
que conecta dos aplicaciones para que se puedan intercambiar fácilmente
datos y bases de datos. Su uso permite a los usuarios hacer solicitudes como el
envío de formularios en un explorador web o que un servidor web devuelva
páginas web dinámicas según el perfil de un usuario.
Tipos de Middleware
• Transmisión de datos
Para seguir entendiendo qué es un middleware hay que saber que, si bien las
API son una manera de compartir los datos, otra forma es la transmisión de
datos asíncrona, que replica un conjunto de datos en un almacén intermedio en
el que los datos pueden compartirse entre varias aplicaciones.
• Integración completa
Las herramientas de integración de middleware conectan sistemas internos y
externos esenciales. Las funciones de integración, como la mensajería
empresarial, la capacidad de composición, la transformación y la conectividad,
combinadas con la autenticación de SSO, permiten que los desarrolladores
amplíen fácilmente las funciones a otras aplicaciones.
• Optimización de las aplicaciones actuales
El middleware admite que los desarrolladores transformen las aplicaciones
monolíticas heredadas en aplicaciones nativas de la nube, lo que mantiene
activas las herramientas importantes con un rendimiento mejorado y una
mayor portabilidad.
• Desarrollo de aplicaciones nuevas
El middleware permite tiempos de ejecución conocidos y modernos para
diversos casos prácticos. Los desarrolladores y los arquitectos pueden trabajar
rápidamente en distintas plataformas, teniendo como referencia conjuntos de
lenguajes de programación, marcos y tiempos de ejecución básicos.

También podría gustarte