Sistemas operativos modernos

(a) (b) (c) Figura 3-3. Grafos de asignación de recursos, a) Posesión de un recurso, b) Solici­ tud de un recurso, c) Bloqueo irreversible. Ahora veamos un ejemplo del uso de los grafos de recursos. Imaginemos que tenemos tres procesos, A, fi y C, y tres recursos, R , S y T . Las solicitudes y liberaciones de los tres procesos se dan en la figura 3-4a-c. El sistema operativo está en libertad de ejecutar cualquier proceso no bloqueado en cualquier instante, así que podría decidir ejecutar A hasta que éste termine to­ do su trabajo, luego ejecutar B y, por úlfimo, C. Este ordenamiento no da pie a bloqueos irreversibles (porque no hay competencia por los recursos), pero tampoco tiene paraleUsmo. Además de solicitar y liberar recursos, los procesos hacen cálculos y operaciones de E/S. Si los procesos se ejecutan en sucesión, no hay posibili­ dad de que mientras un proceso esté esperando E/S, otro pueda usar la CPU. Esta forma de eje­ cución estrictamente secuencial podría no ser ópfima. Por otra parte, si ninguno de los procesos efectúa E/S, la estrategia del trabajo más corto primero es mejor que el tumo circular, así que en algunas circunstancias lo mejor podría ser ejecutar todos los procesos en sucesión. Ahora supongamos que los procesos realizan tanto E/S como cómputo, así que el tumo circu­ lar es un algoritmo de calendarización razonable. Las solicitudes de recursos podrían presen­ tarse en el orden de la figura 3-4d. Si estas seis solicitudes se efectúan en ese orden, los grafos de recursos resultantes serán los que se muestran en la figura 3-4e-j. Después de hacer la soli­ citud 4, A se bloquea en espera de S, como se observa en la figura 3-4h. En los siguientes dos pasos, B y C también se bloquean, lo que al final da pie a un ciclo y al bloqueo irreversible de la figura 3-4j. Sin embargo, como ya hemos mencionado, el sistema operativo no está obligado a ejecu­ tar los procesos en un orden específico. En particular, si conceder una solicitud podría llevar a un bloqueo irreversible, el sistema operativo puede suspender el proceso sin otorgarle el recur­ so (es decir, simplemente no calendarizará el proceso) mientras haya peligro. En la figura 3-4, si el sistema operativo estuviera consciente del inminente bloqueo irreversible, podría suspen­ der B en lugar de otorgarle S. Al ejecutar sólo A y C, tendríamos las solicitudes y liberaciones de la figura 3-4k en vez de la figura 3-4d. Esta sucesión lleva a los grafos de recursos de la fi­ gura 3-4-1-q, que no causan un bloqueo irreversible. Después del paso q, ya puede otorgarse a fi el recurso S, porque A ya terminó y C tiene to­ do lo que necesita. Incluso si fi llegara a bloquearse al solicitar T, no puede haber bloqueo irre­ versible. fi simplemente esperará hasta que C termine.

RkJQdWJsaXNoZXIy MjI4NDcx