Sistemas por capas o niveles de privilegio

Revisión del 17:40 26 ene 2011 de Nmcabrera uci (discusión | contribuciones) (Página creada con '{{Definición}}En la medida que el hardware se desarrolló para incorporar mecanismos de protección para la Gestión de procesos, Memoria y Entrada/salida, los [[Si...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Sistemas por capas o niveles de privilegio
Información sobre la plantilla

En la medida que el hardware se desarrolló para incorporar mecanismos de protección para la Gestión de procesos, Memoria y Entrada/salida, los Sistemas Operativos se adaptaron a este diseño. El objetivo de la arquitectura por capas o niveles de privilegio, radica en separar lo más posible la acción del código de los procesos del sistema, del núcleo y de los procesos que no son del sistema. Idealmente se separa en el nivel de máximo privilegio o protección al código del Núcleo. En el siguiente nivel de privilegios se ubica a los procesos del sistema para la gestión de procesos y memoria; en otro nivel a los procesos de gestión de entrada salida incluyendo los Drivers y en el nivel de menos privilegio, se ejecutan el resto de los procesos de aplicación. Esto por supuesto, no siempre es así y pueden existir muchísimas variantes en la implementación. Una práctica común es ubicar los procesos y componentes de entrada/salida en los dos primeros niveles, para acelerar su ejecución.
Lo relevante en esta arquitectura es que se necesitan realizar restricciones en cuanto a las llamadas al sistema que puedan ejecutar los procesos de determinados niveles. Por ejemplo, se ha de evitar que un proceso pueda efectuar una llamada al sistema que requiera la atención de un componente de menor privilegio o tal vez evitar que los programas de aplicación hagan llamadas directamente sobre el núcleo. Así puede obligarse a utilizar como mediadores a otros niveles.
La arquitectura por capas es ventajosa desde el punto de vista de organización del código del Sistema Operativo y la definición de privilegios para lograr una programación segura. Sin embargo implica mayor complejidad en el diseño, fundamentalmente de las llamadas al sistema y mucha mayor asistencia del hardware para los componentes de gestión.


Fuentes