Sistemas operativos modernos
Vale la pena señalar que un estado inseguro no es un bloqueo irreversible. Partiendo de la figura 3 -10b, el sistema puede trabajar durante un tiempo. De hecho, incluso puede terminar un proceso. Además, cabe la posibilidad de que A libere un recurso antes de pedir más, y enton ces C podría terminar y se evitana el bloqueo irreversible. Por lo tanto, la diferencia entre un es tado seguro y uno inseguro es que desde un estado seguro, el sistema puede garantizar que todos los procesos terminarán; desde un estado inseguro no se puede ofrecer semejante garantía. 3.5.3 El algoritmo del banquero para un solo recurso Un algoritmo de calendarización que puede evitar bloqueos irreversibles se debe a Dijkstra (1965). Se conoce como algoritmo del banquero y es una extensión del algoritmo para detec tar bloqueos irreversibles que presentamos en la sección 3.4.1. Sigue el modelo de un banque ro de una población pequeña que ha otorgado líneas de crédito a un grupo de clientes. El algoritmo verifica si conceder la solicitud conduce a un estado inseguro o no. Si lo hace, no se autoriza la solicitud. Si no es así, se concede lo que se pidió. En la figura 3-1 la se muestran cuatro clientes. A, B, C y D, & cada uno de los cuales se ha otorgado cierto número de unida des de crédito (por ejemplo, 1 unidad = $1K). El banquero sabe que no todos los clientes van a necesitar su crédito máximo de inmediato, así que sólo ha reservado 10 unidades para aten derlos, en lugar de 22. (En esta analogía, los clientes son procesos, las unidades son, digamos, unidades de cinta, y el banquero es el sistema operafivo.) Tiene Máx. Tiene Máx. Tiene Máx. A 0 6 B 0 5 C 0 4 D 0 7 Libres: 10 (a) A 1 6 B 1 5 C 2 4 D 4 7 Libres: 2 (b) A 1 6 B 2 5 C 2 4 D 4 7 Libres: 1 (c) Figura 3-11. Tres estados de asignación de recursos: a) Seguro, b) Seguro, c) Inseguro. Los clientes se ocupan de sus respectivos asuntos, solicitando préstamos de vez en cuando (es decir, pidiendo recursos). En cierto momento, la situación es la que se muestra en la figura 3-1 Ib. Este estado es seguro porque, con dos unidades restantes, el banquero puede aplazar cualesquiera solicitudes, excepto las de C, para así dejar que C termine y libere sus cuatro uni dades. Con cuatro unidades disponibles, el banquero puede otorgar a D o a ß las unidades que necesiten, y así en forma sucesiva. Consideremos qué sucedería si en el caso de la figura 3-1 Ib, B solicitara una unidad más y se le concediera. Tendríamos la situación de la figura 3-1 le, que es insegura. Si todos los clien tes pidieran repenfinamente sus préstamos máximos, el banquero no podría satisfacer ninguno de ellos y tendríamos un bloqueo irreversible. Un estado inseguro no tiene que acabar en un
RkJQdWJsaXNoZXIy MjI4NDcx