kelly salina

29

Upload: tecnologica

Post on 21-Jul-2015

134 views

Category:

Education


0 download

TRANSCRIPT

Sistemas operativos

Kelly Salina. Carlos Rodelo.

Facultad :Tecnología en sistemas

UNIVERSIDAD TECNOLOGICA DE BOLIVAR

Bloqueo

Los sistemas tienen una gran cantidad

de recursos los cuales solo pueden ser

utilizados por un proceso a la vez. entre

los ejemplos frecuentes encontramos:

unidades de cinta

impresoras

En un caso dado que dos procesos utilizaran

en forma simultanea la impresora el

resultado seria un verdadero caos . Por ello

los sistemas operativos cuentan con la

capacidad de permitir a un proceso ( en

forma temporal) el paso exclusivo a ciertos

recursos

En considerables aplicaciones los

procesos urgen el acceso especial a

varios recursos de el sistema no

obstante en un sistema con

multiprogramación pueden surgir serios

problemas

Ejemplo:

Dos procesos desean imprimir cada uno un

enorme archivo en cinta . El proceso A

solicita el permiso para utilizar la impresora el

cual se le concede . Cuando el proceso B

solicita permiso para utilizar la unidad en

cinta y se le otorga . El proceso A solicita la

unidad en cinta pero la solicitud es denegada

hasta que B la libere

Bloqueos mutuos

(interbloqueos)

Procesos solicitan recursos

(bloqueos mutuos) ocurren cuando se

acaparan procesos y no se liberan mas.

Cuando un proceso se le asigna

recursos el proceso voluntariamente es

el que da la orden de terminar el

recurso.

P1 R1

P2 R2

En un determinado proceso p1 necesita de

r2 y p2 de r1 y que el sistema esta en

bloqueo mutuo

No se le puede asignar recursos , los

procesos tienen recursos que los tienen

otros procesos y no se les puede asignar

porque otros ya los tienen y de esta forma

el sistema se bloquea.

Caracteristicas:

Retener y esperar : un proceso retiene un recurso y no espera por otro

No expropiación : los recursos no se pueden arrebatar, son liberados por el proceso que se les pidio.

Espera circular : Debe cadena circular de dos o mas procesos cada uno de los cuales espera un recurso poseido por el siguiente miembro de la cadena.

Mutua exclusión: tipo de recurso que no se puede compartir en un proceso.

Exclusion mutua

Posesión y

espera

No apropiación

Bloqueo

Condiciones

de bloqueo

Se clasifica

Espera circular

Recursos

anteriores no

pueden dejar un

proceso.

Cada recurso

esta asignado a

un proceso

Cadena circular

de dos o mas

procesos en los

cuales se espera

un recurso del

siguiente

Procesos con

anterioridad

pueden

solicitar

nuevos

recursos

Ejemplo:

R1: quemadora de DVD

no la puede quitar porque no

la pueda compartir

P1 P2 P3

A1

P1

P2

Los bloqueos mutuos se manejan en dos

puntos de vistas :

Grafica: asignación de recursos.

Grafo: estructura de datos que tiene nodos,

aristas y sirve para representar algo o una

serie de elementos

P

Vértices R ejemplar de un mismo

tipo

ejemplar de varios

recursos

.

.

.

.

P R (arista de solicitud)

Arista

R P (arista de asignación)

proceso solicita usa libera.

Ejemplo:

R1 1 P= (P1, P2, P3)

R2 2

R3 1 R= (R1,R2,R3,R4)

R4 3

E = (P1 R1, P2 R3 , R1 P2,

(R2 P2, R2 P1 , R3 , P3 )

R1 R3

no hay bloqueo

R2 si hay bloqueo porque ni ciclo porque

debe esperar no volvió a su

origen.

R4

.

p1

.

.

p2

.

p3

.

.

.

Recursos

En esclarecimiento un recurso es cualquier

cosa que solo puede ser utilizada por un

único proceso en un instante dado.

Existen dos clases de recursos en los cuales

encontramos los siguientes :

Apropiables : puede tomar el proceso que lo

posee sin efectos dañinos un ejemplo seria la

memoria.

No apropiables : estos son los que no se pueden tomar de su poseedor sin provocar un fallo de calculo.

Las secuencias necesarias para utilizar un recursos es :

Solicitar el recurso

Utilizar el recurso

Liberar el recurso

Cabe aclarar que si el recurso no esta disponible cuando se solicita el proceso debe esperar.

En algunos sistemas se tiene una llamada a el sistema, REQUEST, esto es para que los procesos soliciten de manera explicita los recursos

Algoritmo especifico(métodos para manejar bloqueos)

Prevenir :en este caso usan protocolos para loscuales hacen que las características no secumplan. prevención mediante la negacion deuna de las cuatro condiciones necesarias

Evitar: invoca serie de rutinas para determinar siel sistema puede o no asignar recursos, evitarlosde forma dinámica mediante una cuidadosaasignación de recursos

estrategias para enfrentar

bloqueos

ignorar el problema

Detención y recuperación

Detención y recuperación de

bloqueos.

El sistema no intenta evitar los bloqueos

si no que deja que aparezcan, intenta

detectar cuando esto ocurre y después

lleva a cabo una acción para

recuperarse después del hecho.

Recuperación mediante la

apropiaciónTomar recurso en forma pasajera de suposeedor y dárselo a otro proceso. Enalgunos casos se necesita unaintervención manual en los sistemasoperativos para el procesamiento que seejecuta en mainframes.

Recuperación mediante rollback:

Los recursos pueden ser verificados en formaperiódica. Esta verificación del procesoindica que su estado se escribe en unarchivo de manera que pueda iniciarsemas tarde.

Recuperación mediante la

eliminación de procesos.

Para esta recuperación se debe

eliminar uno o mas procesos para poder

romper un bloqueo o como medida

alternativa de deberá eliminar un

proceso que no este en el ciclo y así

liberar sus recursos

Bloqueos

Evasión de bloqueo

En este el sistema debe poder decidir si el otorgamiento de un

recurso es seguro o no y asignarlo solo en caso de que

sea seguro

Prevención de bloqueos

Si podemos garantizar que al menos uno de los cuatro

condiciones nunca se satisfaga los bloqueos serán imposibles.

prevención de la condición

Detenerse y esperar

Si se puede evitar que los procesos que conservan recursos esperen mas

recursos, podemos eliminar los bloqueos

Prevención de condición de exclusión mutua:

si ningún recurso se asigna de manera exclusiva a un solo proceso nunca tendríamos

bloqueos.

Bloqueos sin recursos

Bloqueos sin recursos

Los bloqueos no solo aparecen con recursos si no en otras ocasiones aun aquellas que no están relacionadas con los recursos

Ejemplo:

Dos procesos se bloquean en espera de que el otro realice cierta acción . Cabe recordar que esto ocurre en los semáforos.

Como se evita un bloqueo?

Se puede evitar mediante un registro de

los estados seguros y los inseguros

estado seguro es aquel para el que

existe una secuencia de eventos que

garanticen el cierre de los procesos

El estado inseguro es aquel que no

tiene dicha garantía , el algoritmo de

barquero EVITA el bloqueo .

Un bloqueo se puede prevenir en

forma estructural.

Ejemplo : al permitir que solo un recurso

conserve un recurso a la vez , se rompe la

condición de espera circular necesaria para

el bloqueo también el bloqueo mutuo se

puede prevenir al numerar todos los

recursos y hacer que los procesos los

soliciten en orden creciente

Conclusión

“dos o mas procesos pelean por un

recurso” el bloqueo es un problema

potencial en cualquier sistema

operativo y ocurre cuando cada uno de

los integrantes de procesos desea un

recurso que pertenece a otro proceso

GRACIAS!!!