Sisteoperati

Páginas: 197 (49145 palabras) Publicado: 7 de octubre de 2014
2
PROCESOS

Estamos a punto de emprender un estudio detallado de la forma en que se diseñan y construyen los
sistemas operativos en general y MINIX en particular. El concepto central de cualquier sistema operativo
es el proceso: una abstracción de un programa en ejecución. Todo lo demás gira alrededor de este
concepto, y es importante que el diseñador (y el estudiante) de sistemasoperativos sepa lo antes posible
qué es un proceso.
2.1 INTRODUCCIÓN A LOS PROCESOS
Todas las computadoras modernas pueden hacer varias cosas al mismo tiempo. Mientras ejecuta un
programa de usuario, una computadora también puede estar leyendo de un disco y enviando texto a una
pantalla o impresora. En un sistema de multiprogramación, la CPU también conmuta de un programa a
otro, ejecutando cada unodurante decenas o centenas de milisegundos. Si bien, estrictamente hablando, en
un instante dado la CPU está ejecutando sólo un programa, en el curso de un segundo puede trabajar con
varios programas, dando a los usuarios la ilusión de paralelismo. A veces se usa el término
seudoparalelismo para referirse a esta rápida conmutación de la CPU entre programas, para distinguirla
del verdaderoparalelismo de hardware de los sistemas multiprocesador (que tienen dos o más CPU que
comparten la misma memoria física). Para el ser humano es difícil seguir la pista a múltiples actividades
paralelas. Por ello, los diseñadores de sistemas operativos han desarrollado a lo largo de los años un
modelo (procesos secuenciales) que facilita el manejo del paralelismo. Ese modelo y sus usos son el temade este capítulo.
47

48
2.1.1

PROCESOS

CAP.2

El modelo de procesos

En este modelo, todo el software ejecutable de la computadora, lo que a menudo incluye al sistema
operativo, está organizado en una serie de procesos secuenciales, o simplemente procesos.
Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador
de programa, los registros ylas variables. Conceptualmente, cada uno de estos procesos tiene su
propia CPU virtual. Desde luego, en la realidad la verdadera CPU conmuta de un proceso a otro,
pero para entender el sistema es mucho más fácil pensar en una colección de procesos que se
ejecutan en (seudo) paralelo que tratar de seguir la pista a la forma en que la CPU conmuta de un
programa a otro. Esta rápida conmutación sedenomina multiprogramación, como vimos en el
capítulo anterior.
En la Fig. 2-1(a) vemos una computadora multiprogramando dos programas en la memoria.
En la Fig. 2-1(b) vemos cuatro procesos, cada uno con su propio flujo de control (esto es, su
propio contador de programa), ejecutándose con independencia de los otros. En la Fig. 2-1(c)
vemos que si el intervalo de tiempo es suficientementelargo, todos los procesos avanzan, pero en
un instante dado sólo un proceso se está ejecutando realmente.

Con la CPU conmutando entre los procesos, la rapidez con que un proceso realiza sus cálculos
no es uniforme, y probablemente ni siquiera reproducible si los mismos procesos se ejecutan otra
vez. Por tanto, los procesos no deben programarse basándose en supuestos acerca de los tiempos.Considere, por ejemplo, un proceso de E/S que inicia una cinta continua para restaurar archivos
respaldados, ejecuta un ciclo vacío 10 000 veces para permitir que la cinta alcance la velocidad
de trabajo y luego emite un comando para leer el primer registro. Si la CPU decide conmutar a
otro proceso durante el ciclo vacío, es posible que los procesos de cinta no se ejecuten otra vez
sino hastadespués de que el primer registro haya pasado por la cabeza de lectura. Cuando un
proceso tiene requisitos de tiempo real críticos como éste, es decir, cuando ciertos eventos deben

SEC. 2.1

INTRODUCCIÓN A LOS PROCESOS

49

ocurrir en cierto número de milisegundos, se deben tomar medidas especiales para asegurar que así
ocurran. Normalmente, empero, los procesos no resultan afectados...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS