Sistemas operativos modernos
los cuales podía programarse sin tener que preocuparse por el hecho de que varios procesos se estuvieran ejecutando en un solo procesador. En otras palabras, la capa Ohacía posible la mul- tiprogramación básica de la CPU. Capa Función 5 El operador 4 Programas de usuario 3 Administración de entrada/salida 2 Comunicación operador-proceso 1 Administración de memoria y tambor 0 Asignación de procesador y muitiprogramación Figura 1-25. Estructura del sistema operativo THE. La capa I se encargaba de la administración de memoria: repartía espacio para los proce sos en la memoria principal y en un tambor de palabras de 512K en el que se guardaban las partes de los procesos (páginas) que no cabían en la memoria principal. Arriba de la capa I , los procesos no tenían que preocuparse por saber si estaban en la memoria o en el tambor; el soft ware de la capa 1 se encargaba de que las páginas se transfirieran a la memoria si se les nece sitaba. La capa 2 manejaba la comunicación entre cada proceso y la consola del operador. Arriba de esta capa era como si cada proceso tuviera su propia consola de operador. La capa 3 se en cargaba de administrar los dispositivos de E/S y de colocar en búferes los flujos de informa ción hacia y desde ellos. Arriba de la capa 3 cada proceso podía tratar con dispositivos de E/S abstractos con propiedades ligeras, en lugar de dispositivos reales con muchas peculiaridades. En la capa 4 estaban los programas de usuario, que no tenían que preocuparse por la adminis tración de procesos, memoria, consola o E/S. El proceso del operador del sistema se ubicaba en la capa 5. Una generalización adicional del concepto de capas sucedió en el sistema MULTICS. En lugar de capas, el sistema MULTICS tenía una serie de anillos concéntricos, siendo los inte riores más privilegiados que los exteriores (lo cual es efectivamente lo mismo). Cuando un procedimiento de un anillo exterior quería invocar a uno de un anillo interior, tenía que emitir el equivalente de una llamada al sistema, es decir, una instrucción TRAP cuyos parámetros se verificaban cuidadosamente para comprobar que fueran válidos, antes de permitir que se efec tuara la llamada. Aunque en MULTICS todo el sistema operativo formaba parte del espacio de direcciones de cada proceso de usuario, el hardware permitía designar procedimientos individuales (en realidad, segmentos de memoria) como protegidos contra lectura, escritura o ejecución. Si bien el esquema de capas de THE no era más que una ayuda para el diseño, porque en última instancia todas las partes del sistema se enlazaban en un solo programa objeto, en MUL TICS el mecanismo de anillos sí estaba muy presente en el momento de la ejecución y el hard ware hacía que se respetara. La ventaja del mecanismo de anillos es que puede extenderse con facilidad para estructurar los subsistemas de usuario. Por ejemplo, un profesor podría escribir
RkJQdWJsaXNoZXIy MjI4NDcx