Sistemas operativos modernos

Esta instrucción cambia la máquina de modo de usuario a modo de kernel y transfiere el con­ trol al sistema operativo, lo cual se muestra como paso 6 en la figura 1-17. Entonces, el siste­ ma operativo obtiene los parámetros y determina cuál llamada al sistema debe ejecutarse. Después usa el número de llamada k como índice para buscar en una tabla un apuntador al pro­ cedimiento que la realiza (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 ejecutan las llamadas al sistema. 3. Un conjunto de procedimientos utilitarios que apoyan a los procedimientos de servicio. En este modelo, por cada llamada al sistema hay un procedimiento de servicio que se encarga de ella. Los procedimientos utilitarios hacen cosas que varios procedimientos de servicio ne­ cesitan, como obtener datos de los programas de usuario. Esta división de los procedimientos en tres capas se muestra en la figura 1-24. Figura 1-24. Modelo de estructuración simple para un sistema monolítico. 1.7.2 Sistemas en capas Una generalización del enfoque de la figura 1-24 consiste en organizar el sistema operativo en una jerarquía de capas, cada una cimentada en la que está abajo. El primer sistema construido de esta manera fue THE, creado en la Technische Hogeschool Eindhoven en los Países Bajos por E. W. Dijkstra (1968) y sus estudiantes. El sistema THE era un sencillo sistema por lotes pa­ ra una computadora holandesa, la Electrologica X8, que tenía 32K de palabras de 27 bits (los bits eran costosos en ese entonces). El sistema tenía seis capas, como se muestra en la figura 1-25. La capa Ose ocupaba de la asignación del procesador, conmutando entre procesos al presentarse interrupciones o expirar temporizadores. Arriba de la capa O, el sistema consistía en procesos secuenciales, cada uno de

RkJQdWJsaXNoZXIy MjI4NDcx