Sistemas operativos modernos
La última columna se ocupa de la administración de procesos. Arriba del despachador es tá el calendarizador de procesos, que escoge el proceso que se ejecutará a continuación. Si los subprocesos se administran en el kernel, la administración de subprocesos también se efectúa aquí, aunque en algunos sistemas UNIX se efectúa en el espacio de usuario. Arriba del calen darizador se encuentra el código para procesar señales y enviarlas al destino correcto, así co mo el código para crear y terminar procesos. La capa superior es la interfaz con el sistema. A la izquierda está la interfaz de llamadas al sistema. Todas las llamadas al sistema llegan aquí y se dirigen a uno de los módulos que están más abajo, dependiendo de la naturaleza de la llamada. En la parte derecha de la capa más al ta está la entrada para interrupciones de sistema y de dispositivo, lo que incluye señales, fallos de página, todo tipo de excepciones del procesador y las interrupciones de E/S. 10.3 PROCESOS EN UNIX En las secciones anteriores vimos primero UNIX desde la perspectiva del teclado, es decir, de lo que el usuario ve en la terminal. Dimos ejemplos de comandos de shell y de programas utili tarios que se usan con frecuencia. Terminamos con un breve panorama general de la estructura del sistema. Ha llegado el momento de profundizar en el kemel y examinar más de cerca los conceptos básicos que maneja UNIX, es decir, procesos, memoria, el sistema de archivos y en trada/salida. Estos conceptos son importantes porque los manipulan las llamadas al sistema (la interfaz con el sistema operativo en sO. Por ejemplo, hay llamadas al sistema para crear proce sos, asignar memoria, abrir archivos y efectuar E/S. Por desgracia, al existir tantas versiones de UNIX es inevitable que haya algunas diferen cias entre ellas. En este capítulo haremos énfasis en ias funciones comunes a todas las versio nes, sin concentramos en una específica. Por tanto, en ciertas secciones (sobre todo las de implementación) es posible que la explicación no sea igual de válida para todas las versiones. 10.3.1 Conceptos fundamentales Las únicas entidades activas de un sistema UNIX son los procesos. Éstos son muy similares a los procesos secuenciales clásicos que estudiamos en el capítulo 2. Cada proceso ejecuta un solo pro grama y en un principio tiene un solo subproceso de control. Dicho de otro modo, tiene un con tador de programa, que indica cuál instrucción se ejecutará a continuación. Casi todas las versiones de UNIX permiten a un proceso crear subprocesos adicionales una vez que comienza a ejecutarse. UNIX es un sistema de muitiprogramación, así que cabe la posibilidad de que múltiples procesos independientes se estén ejecutando al mismo tiempo. Cada usuario podría tener va rios procesos activos en un momento dado, por lo que en un sistema grande podrían estarse eje cutando cientos o incluso miles de procesos. De hecho, en la mayoría de las estaciones de
RkJQdWJsaXNoZXIy MjI4NDcx