Multihilos Y Multiprocesos
Enviado por kelvinator • 1 de Octubre de 2012 • 937 Palabras (4 Páginas) • 777 Visitas
Nucleos Sistemas Operativos 1
Hay cuatro grandes tipos de núcleos:
Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente potentes y variadas.
Los micronúcleos proporcionan un pequeño conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.
Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los micronúcleos puros, excepto porque incluyen código adicional en el espacio de núcleo para que se ejecute más rápidamente.
Los exonúcleos no facilitan ninguna abstracción, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.
Micronúcleos
El objetivo principal es la separación de la implementación de los servicios básicos y de la política de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutándose encima del micronúcleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseño del núcleo. Si falla uno de estos servidores, no se colgará el sistema entero, y se podrá reiniciar este módulo independientemente del resto. Sin embargo, la existencia de diferentes módulos independientes origina retardos en la comunicación debido a la copia de variables que se realiza en la comunicación entre módulos.
ejemplos de micronúcleos:
AIX, La familia de micronúcleos L4, El micronúcleo Mach, usado en GNU Hurd y en Mac OS X, BeOS, Minix, MorphOS, QNX, RadiOS, VSTa, Hurd
Núcleos monolíticos
Frecuentemente se prefieren los núcleos monolíticos frente a los micronúcleos debido al menor nivel de complejidad que comporta el tratar con todo el código de control del sistema en un solo espacio de direccionamiento. Por ejemplo, XNU, el núcleo de Mac OS X, está basado en el núcleo Mach 3.0 y en FreeBSD, en el mismo espacio de direccionamiento para disminuir la latencia que comporta el diseño de micronúcleo convencional.
A principios de los años 90, los núcleos monolíticos se consideraban obsoletos.
Los núcleos monolíticos suelen ser más fáciles de diseñar correctamente, y por lo tanto pueden crecer más rápidamente que un sistema basado en micronúcleo, pero hay casos de éxito en ambos bandos. Los micronúcleos suelen usarse en robótica embebida o computadoras médicas, ya que la mayoría de los componentes del sistema operativo residen en su propio espacio de memoria privado y protegido. Esto no sería posible con los núcleos monolíticos, ni siquiera con los modernos que permiten cargar módulos del núcleo.
Aunque Mach es el micronúcleo generalista más conocido, se han desarrollado otros micronúcleos con propósitos más específicos. L3 fue creado para demostrar que los micronúcleos no son necesariamente lentos. La familia de micronúcleos L4 es la descendiente de L3, y una de sus últimas implementaciones, llamada Pistachio, permite ejecutar Linux simultáneamente con otros procesos, en espacios de direccionamiento separados.
Núcleos híbridos (micronúcleos modificados)
Los núcleos híbridos fundamentalmente
...