Sistemas Monolíticos
Sistemas Monolíticos
Sistemas Monolíticos
En este diseño, que hasta ahora se considera como la organización más común, todo el sistema
ope-rativo se ejecuta como un solo programa en modo kernel. El sistema operativo se escribe
como unacolección de procedimientos, enlazados entre sí en un solo programa binario
ejecutable extenso.Cuando se utiliza esta técnica, cada procedimiento en el sistema tiene la
libertad de llamar a cual-quier otro, si éste proporciona cierto cómputo útil que el primero
necesita. Al tener miles de proce-dimientos que se pueden llamar entre sí sin restricción, con
frecuencia se produce un sistema pocomanejable y difícil de comprender.Para construir el
programa objeto actual del sistema operativo cuando se utiliza este diseño, pri-mero se compilan
todos los procedimientos individuales (o los archivos que contienen los procedi-mientos) y luego
se vinculan en conjunto para formar un solo archivo ejecutable, usando elenlazador del
sistema. En términos de ocultamiento de información, en esencia no hay nada: todoslos
procedimientos son visibles para cualquier otro procedimiento (en contraste a una estructura
quecontenga módulos o paquetes, en donde la mayor parte de la información se oculta dentro de
mó-dulos y sólo los puntos de entrada designados de manera oficial se pueden llamar desde el
exteriordel módulo).Sin embargo, hasta en los sistemas monolíticos es posible tener cierta
estructura. Para solicitarlos servicios (llamadas al sistema) que proporciona el sistema operativo,
los parámetros se colocanen un lugar bien definido (por ejemplo, en la pila) y luego se ejecuta una
instrucción de trap. Estainstrucción cambia la máquina del modo usuario al modo kernel y
transfiere el control al sistemaoperativo, lo cual se muestra como el paso 6 en la figura 1-17.
Después el sistema operativo obtie-ne los parámetros y determina cuál es la llamada al sistema
que se va a llevar a cabo. Después laindiza en una tabla que contiene en la ranura kun
apuntador al procedimiento que lleva a cabo la llamada al sistema k(paso 7 en la figura 1-
17).Esta organización sugiere una estructura básica para el sistema operativo:1. Un programa
principal que invoca el procedimiento de servicio solicitado.2. Un conjunto de procedimientos de
servicio que llevan a cabo las llamadas al sistema.3. Un conjunto de procedimientos utilitarios que
ayudan a los procedimientos de servicio.En este modelo, para cada llamada al sistema hay un
procedimiento de servicio que se encarga dela llamada y la ejecuta. Los procedimientos
utilitarios hacen cosas que necesitan varios procedimientos del servicio.