Diferencia entre revisiones de «Modelos de Diseño de Sistemas Operativos»
(→Modos de operación del procesador: añadir pequeño matíz) |
m (→Núcleo del sistema operativo: errata) |
||
Línea 10: | Línea 10: | ||
= Núcleo del sistema operativo = | = Núcleo del sistema operativo = | ||
− | El núcleo del sistema operativo, también conocido por la terminología inglesa ''kernel'', se trata de la parte más esencial del sistema operativo. El núcleo de un sistema operativo opera en modo supervisor. Al operar en dicho modo un error de programación en el núcleo del sistema operativo puede resultar en un error fatal del cual el sistema sólo puede | + | El núcleo del sistema operativo, también conocido por la terminología inglesa ''kernel'', se trata de la parte más esencial del sistema operativo. El núcleo de un sistema operativo opera en modo supervisor. Al operar en dicho modo un error de programación en el núcleo del sistema operativo puede resultar en un error fatal del cual el sistema sólo puede recuperarse mediante el reinicio del sistema. A tal error fatal también se le conoce en inglés por ''kernel panic''. |
= Tipos de Sistemas Operativos = | = Tipos de Sistemas Operativos = |
Revisión del 23:06 20 feb 2011
Contenido
Modos de operación del procesador
Para entender los modelos de diseño de los sistemas operativos, tenemos que hacer referencia a los modos de ejecución del procesador. El modo de ejecución del procesador indica que conjunto de instrucciones y a qué recursos del procesador se puede acceder en un cierto instante de tiempo.
En la actualidad, un procesador ofrece como mínimo dos modos de operación que son:
- Modo supervisor, que permite la ejecución de todo el conjunto de instrucciones que ofrece el procesador.
- Modo usuario, que tiene algunas restricciones de acceso a aspectos del procesador o de ejecución de instrucciones.
Núcleo del sistema operativo
El núcleo del sistema operativo, también conocido por la terminología inglesa kernel, se trata de la parte más esencial del sistema operativo. El núcleo de un sistema operativo opera en modo supervisor. Al operar en dicho modo un error de programación en el núcleo del sistema operativo puede resultar en un error fatal del cual el sistema sólo puede recuperarse mediante el reinicio del sistema. A tal error fatal también se le conoce en inglés por kernel panic.
Tipos de Sistemas Operativos
Los sistemas operativos se pueden clasificar en base a la cantidad de funcionalidad implementada en su núcleo. En general distinguimos dos tipos de sistemas operativos:
- Monolíticos
- Micronúcleos
No obstante, existen tipologías híbridas o que acentúan algunos aspectos, que también detallamos en esta sección.
Sistemas operativos Monolíticos
Los sistema operativos monolíticos se caracterizan por emplear un núcleo que implementa la planificación de procesos, la administración de la memoria principal, la administración de ficheros y la gestión de los dispositivos de entrada/salida. Por tanto, a mayor funcionalidad implementada en el núcleo, mayor número de líneas de código que se ejecutan en modo supervisor.
Los sistemas operativos monolíticos son los predominantes hoy día, algunos ejemplos son:
- Sistemas operativos UNIX, tales como FreeBSD, NetBSD y OpenBSD.
- Sistemas operativos GNU/Linux.
- DOS, tales como MS-DOS y DR-DOS.
Como inconveniente, al emplear un núcleo en el que gran parte de las funcionalidades básicas del sistema operativo están implementadas en el núcleo, de manera intuitiva, al disponer de mayor número de línea de código que se ejecutan en modo supervisor, un error de programación en el núcleo puede provocar un kernel panic.
Como principal ventaja, los sistemas operativo monolíticos ofrecen un alto rendimiento puesto que las peticiones entre los diferentes componentes se reducen a invocaciones de funciones.
Sistemas operativos Micronúcleo
Los sistemas operativos se caracterizan por disponer de un núcleo que implementa únicamente:
- Planificación de procesos
- Mecanismo de comunicación entre procesos
- Gestión de interrupciones
Además, existen procesos servidores que están fuera del núcleo y que implementan:
- Administración de memoria principal
- Administración de ficheros
- Gestión de dispositivos de entrada/salida.
Básicamente, cuando un proceso solicita un servicio a través de una llamada al sistema, el micronúcleo canaliza la petición al proceso servidor correspondiente. Dicha comunicación se realiza mediante mensajería.
La principal ventaja de los sistemas operativos micronúcleo es que, al ejecutar menos líneas de código en modo supervisor, de manera intuitiva son más fiables.
Sin embargo, el principal problema que presentan es el rendimiento, puesto que cualquier petición requiere mensajería, que lleva consigo un coste extra debido a la construcción de los mensajes, el reparto y la interpretación. Son estos problemas relacionados con el rendimiento los que hacen que no existan sistemas operativos micronúcleo desplegables en productivo, a excepción de Minix 2, que tiene propósitos educativos.
Otro material a consultar
El estudiante puede encontrar el siguiente material de interés para complementar sus conocimientos:
- Debate entre Linus Torvalds, creador del núcleo Linux, que sigue el paradigma monolítico y Andrew S. Tanembaum, creador de Minux, que sigue el modelo micronúcleo: http://oreilly.com/catalog/opensources/book/appa.html (en inglés).