Wednesday, August 13, 2008

sistemas monoliticos

Los sistemas monoliticos son aquellos en lo que su centro es como un grupo de estructuras fijas que funcionan mutuamente.

Los sistemas operativos
monoliticos en el nucleo hay grandes modulos interactuando entre si para mantener su estructura. El kernel es compilado por capas.

En u
n sistema monolitico no hay una estructura definida. El sistema operativo se escribe como una colección de procedimientos, cada uno de los cuales puede llevar a los demás donde los necesite. Se compila en forma
individual los procedimientos y después se unen en un solo archivo.

Proceso para requerir un servicio del sistema operativo: la aplicacion del usuario coloca los parámetros necesarios en los lugares previamente definidos, y seguidamente ejecuta una llamada al supervisor (se cambia de modo usuario a modo root), transfiriendo el control al sistema operativo que examina dichos parámetros
y determina el procedimiento que debe invocar. Cuando se complete la llamada devuelve el control al programa de usuario.


8 comments:

Jerson Monterroso said...

esta bueno el post...
solo tengo una duda...
cual es la diferencia de un sistema
monolitico con un microkernel??

http://sistemasoperativos-1.blogspot.com/
sistema x capas.

Alex Campos said...

Sintetizaste muy bien y escribiste en pocas lineas lo que es un Sistema Operativo con estructura con Sistema Monolitico, talvez faltaron ventajas y desventajas de este tipo de estructura, pero esta muy bien tu post.

@Jerson: A mi que me toco investigar la estructura microkernel, puedo ver que la mayor diferencia entre un monolitico y un microkernel, es que la estructura del monolitico es mas compleja y realiza tareas mas sotisficadas, en cambio del microkernel que realiza llamadas simples.

Mi post:
http://axcampos.blogspot.com/2008/08/sistema-operativo-con-estructura-basada.html

TuxMaster said...

Muy bien resumido la estructura del monolitico, e igual que alex como q faltaron ventajas y desventajas de tener un kernel tan grande y complejo
http://master-ruiz-sopes1.blogspot.com/2008/08/sistemas-operativos-cliente-servidor.html

Anonymous said...

Hiciste un buen resumen, y dejaste claro lo que expusiste. Pero es importante la retroalimentacion del conocimiento por medio de los comentarios, tus compañeros te ha preguntado sobre las ventajas y desventajas, también no tocaste nada acerca de la seguridad de este tipo de estructura.

Aclarando. Aunque el monolítico contenga mas código en el núcleo en comparación del microkernel, es mas complejo programar el microkernel.

Pablo Paniagua said...

agradezco sus comentarios, la respuesta para jerson entre la diferencia entre un sitema monolitico y un microkernel
un microkernel consta de un conjunto limitado de operaciones (mayormente de bajo nivel) que se ejecutan en espacio de kernel, mientras que las restantes (llamadas de sistema, gestión de memoria, sistema de archivos, operaciones de E/S, etc.), se ejecutan por medio de procesos servidores en espacio de usuario mientras que el monolitico tiene un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un microkernel.

Pablo Paniagua said...

gracias alex por el comentario, entre las desventajas del monolitico puedo mencionar que
cualquier cambio a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios.
y la ventaja
este sistema tiene diversas ramificaciones, que se han ido acomodando a nuevas necesidades tal como lo es el sistema de módulos ejecutables en tiempo de ejecución, que le brinda al modelo de núcleo monolítico algunas de las ventajas de un microkernel.

Pablo Paniagua said...

gracias tuxmaster por tu comentario, pues ademas de la desventaja que mencione anteriormente, cuando ocurre un bloqueo del módulo, es probable que bloquee todo el núcleo. Además, el módulo pasa a formar un todo con el núcleo, usando la API del mismo, y no se emplea un sistema de mensajes como en los micronúcleos. y como ventaja un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa.

Pablo Paniagua said...

gracias pedro por el comentario, entre las politicas de seguridad del monolitico podemos mencionar
que para ejecutar los servicios del S. O. (llamadas al sistema): -se solicitan colocando los parámetros en lugares bien definidos (registros o pilas).
-se ejecuta una instrucción especial de trampa: llamada al núcleo o llamada al supervisor.
-la instrucción cambia la máquina del modo usuario al modo núcleo (o modo supervisor).
-Se transfiere el control al S. O.
-El S. O. examina los parámetros de la llamada para determinar cuál de ellas se desea realizar.
-El S. O. analiza una tabla que contiene en la entrada “k” un apuntador al procedimiento que realiza la “k-ésima” llamada al sistema: Identifica al procedimiento de servicio llamado.
-La llamada al sistema termina y el control regresa al programa del usuario.