Sistemas operativos modernos
ma operativo adopta una estructura precisa en forma de procesos. Sin embargo, pocos sistemas reales tienen una estructura tan precisa. Procesos 0 1 n - 2 n -1 Caiendarízador Figura 2-3. La capa más baja de un sistema operativo con estructura de procesos maneja las interrupciones y la calendarización. Arriba de ella están los procesos se cuenciales. 2.1.6 Implementación de procesos Para implementar el modelo de procesos, el sistema operativo mantiene una tabla (un arreglo de estructuras), llamada tabla de procesos, con una entrada por proceso. (Algunos autores llaman a estas entradas bloques de control de procesos.) Esta entrada contiene información acerca del estado del proceso, su contador de programa, apuntador de pila, asignación de memoria, estado de sus archivos abiertos, información contable y de calendarización, y todas las demás cosas que deben guardarse cuando el proceso pasa del estado en ejecución al listo o bloqueado, para que se le pueda volver a poner en marcha posteriormente, como si nunca se hubiera detenido. La figura 2-4 muestra algunos de los campos más importantes de un sistema típico. Los campos de la primera columna tienen que ver con la administración de procesos. Las otras dos columnas atañen a la administración de memoria y la administración de archivos, respectiva mente. Cabe señalar que los campos exactos contenidos en la tabla de procesos dependen mu cho del sistema de que se trate, pero esta figura da una idea general de los tipos de información que se requieren. Ahora que hemos visto la tabla de procesos, podemos explicar un poco más sobre la for ma en que se mantiene la ilusión de múltiples procesos secuenciales en una máquina con una CPU y muchos dispositivos de E/S. Cada clase de dispositivos de E/S (discos flexibles, discos duros, temporizadores, terminales, etc.) está asociada con una posición de memoria (muchas veces cercana a la parte baja), llamada vector de interrupción. Éste contiene la dirección del procedimiento de servicio de interrupción. Supongamos que el proceso de usuario 3 se está eje cutando cuando ocurre una interrupción de disco. El hardware de interrupción mete en la pila (actual) el contador de programa, la palabra de estado del programa y tal vez uno o más regis tros del proceso de usuario 3. A continuación la computadora salta a la dirección especificada en el vector de interrupción de disco. Eso es todo lo que el hardware hace. A partir de aquí, el software, y en particular el procedimiento de servicio de interrupción, se encarga de todo. Lo primero que hacen todos los procesos de servicio de interrupción es guardar los regis tros, a menudo en la entrada correspondiente al proceso actual de la tabla de procesos. Luego,
RkJQdWJsaXNoZXIy MjI4NDcx