Sistemas operativos - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Sistemas operativos

Description:

Gary Nutt. Ed. Pearson Planificaci n de los hilos El planificador El planificador cambia de estado de un proceso/hilo de preparado al estado de ejecuci n, el ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 50
Provided by: TECMAR
Category:

less

Transcript and Presenter's Notes

Title: Sistemas operativos


1
Sistemas operativos
  • Unidad IV.
  • Administración de procesos

2
Definición de Proceso
  • El usuario activa un programa ejecutable
    (compilado y enlazado o interpretado) por medio
    de una orden especializada tal como EXECUTE, JAVA
    o RUN, etc., este comando es una llamada al
    sistema operativo.
  • El sistema operativo responde creando un proceso,
    y para identificarlo crea la PCB.
  • Un proceso es un programa en ejecución junto con
    su entorno asociado (registro, variables, áreas
    de memoria, archivos, impresora asignada, etc.).

3
Clasificación según como retienen los recursos
asignados Apropiativos.Los procesos que al
tener asignado un recurso no permiten que otro
proceso pueda acceder a él hasta que haya dejado
de utilizarlo.No apropiativos.Permiten que otros
procesos puedan acceder a un recurso que esta
siendo utilizado por él (pero no al mismo
tiempo).
Clasificación de los procesos
Existen varias clasificaciones para los procesos
o hilos, a continuación se enumeran algunas
  • Según su forma de ejecución
  • Residentes. Los procesos que permanecen en
    memoria principal todo el tiempo que dure su
    ejecución.
  • Intercambiables.Los procesos que pueden ser
    llevados de la memoria principal a disco (memoria
    virtual) mientras estan bloqueados.

4
Clasificación de los procesos
  • Clasificación según los datos que procesan
  • Reutilizables
  • Cambian los datos que utilizan cada vez que
    inician el ciclo de ejecución, comienzan desde su
    estado inicial para procesar nuevos datos.
    (Ejemplo la mayoría de los sistemas que
    conocemos)
  • Reentrantes
  • No tienen datos asociados, solo se conforman de
    código puro. Los datos que utilizan se encuentran
    dentro del programa en pilas, listas o registros
    internos y no pueden ser modificados durante su
    uso.

5
Procesos e hilos
  • Un proceso a su vez se puede subdividir en
    funciones y generar sub-procesos a los que se les
    denomina procesos hijos, hilos, hebra (thread).
  • El proceso principal o raíz se le denomina padre,
    este incluso puede tener facultades de
    administración sobre sus procesos hilos, como
    sería el activarlos o suspenderlos.
  • El proceso padre si requiere varias solicitudes
    del mismo tipo (operaciones iguales requeridas
    por varios usuarios) puede generar varios hilos
    que hagan el mismo proceso para usuarios
    diferentes, este concepto se conoce como
    multihilo.
  • En el concepto de multihilo cada hilo es
    independiente y actúa sobre sus propios datos y
    trabajan a su propio ritmo. Java soporta
    computación multihilo

6
Operaciones sobre los procesos
  • Los S.O. poseen una serie de funciones u
    operaciones cuyo objetivo es la de manipular los
    procesos.
  • Crear el proceso.Se produce una llamada al SO, la
    orden de ejecución del programa, y el SO responde
    generando la PCB, la cual será insertada en la
    cola de procesos en espera.
  • Entorno. A cada proceso se le asignan los
    recursos requeridos, como son variables,
    buffers, archivos, dispositivos, a esto se le
    denomina su entorno.
  • Entorno heredado . Cada proceso hijo que se crea,
    hereda el entorno de ejecución de su padre.

7
Operaciones sobre los procesos
  • Prioridad. El SO asigna a los procesos la
    prioridad de ejecución, esto lo realiza con base
    en el algoritmo de planificación que tenga activo
    el SO en ese momento, si el algoritmo de
    planificación da prioridad a procesos cortos,
    estos tendrán prioridad sobre procesos largo
    (batch), etc. Normalmente los procesos ingresan
    con la más baja prioridad y se ejecutan en el
    orden en que fueron llegando.
  • Cambio de prioridad de un proceso. El SO
    contempla comandos para que el operador o
    administrador del SO cambie la prioridad asignada
    al proceso
  • Temporizar la ejecución de un proceso. El
    adminsitrador del SO puede establecer que se
    ejecute un proceso en un día y hora determinada,
    quedando encolado en la cola de espera hasta que
    se cumpla la condición..
  • Despertar un proceso. Desbloquear un proceso que
    había sido bloqueado por temporización o
    cualquier otra causa
  • Destruir un proceso. Es la orden de eliminación
    del proceso y la PCB.
  • Suspender un proceso. Paraliza, detiene un
    proceso el cual puede ser reanudado después.

8
Carga del proceso
  • La carga del proceso es la operación de efectuar
    una copia del proceso (archivo) o parte de él,
    de la unidad de memoria secundaria o auxiliar a
    la memoria primaria.

Procesador
Unidad de control
Unidad aritmética y lógica
PC
IR
FR
Buffers
Buffers
MAR
MDR
AC
9
PCB
  • Un proceso desde el punto de vista del sistema
    operativo se representa por medio de su
    identificador o PCB (Bloque de Control del
    Proceso), la cual contiene la siguiente
    información
  • Estado del proceso. (Program Counter, PC),
    prioridad del proceso, modo de ejecución, estado
    de los registros internos de la computadora, etc.
  • Estadística de tiempo y ocupación de recursos.
  • Ocupación de memoria interna y externa para el
    intercambio (swapping).
  • Recursos en uso (unidades de entrada/salida).
  • Archivos en uso.
  • Privilegios. Etc.

10
PCB
  • El Bloque de control de procesos permite al
    sistema operativo
  • La localización del proceso y la información
    sobre este.
  • Mantener registrados los datos del proceso en
    caso de tener que suspender temporalmente su
    ejecución o reanudarla.

11
Ejemplo de Medidas de Seguridad para el Manejo de
la Información
12
Estados del proceso
  • El administrador de procesos para controlar la
    ejecución de los procesos establece varias colas
    de control, denominándolas cola de espera, cola
    de listo o preparado, cola de ejecución, cola de
    bloqueados y cola de suspendido.
  • Dependiendo en la cola en donde el administrador
    de procesos almacena la PCB, determina el estado
    del proceso.
  • Durante la ejecución del proceso, este pasa por
    varios estados denominándose a esto TRANSICIÓN DE
    ESTADOS.
  • Los estados en espera, listo, ejecución y
    bloqueado son normales.
  • El estado suspendido, establece una situación de
    problema con la ejecución del proceso.

13
Transición de estados
  • Inicia insertándose el proceso en la cola de
    procesos en espera de ejecución o simplemente en
    espera.
  • Una vez que los recursos que necesita el proceso
    están disponibles, el administrador de procesos.
    se los asigna al proceso. Cuando el proceso tiene
    asignados todos los recursos que necesita pasa la
    PCB del proceso a la cola de procesos listos o
    preparados.
  • Cuando el procesador esta inactivo, el
    administrador de procesos selecciona la PCB
    (proceso) que esta en la cima de la cola de
    procesos listos o preparados y le sede el
    procesador al proceso. Cambiando el estado del
    proceso a ejecución. En computadores con un solo
    procesador, solo un proceso puede estar
    ejecutando en una instancia de tiempo.
  • Si el proceso solicita una operación la cual
    tenga que utilizar un dispositivo diferente del
    procesador, (cualquier dispositivos de
    Ent./Sal.), el administrador de procesos. lo pasa
    a la cola de procesos Bloqueados, para que el
    administrador de dispositivos le asigne el
    dispositivo solicitado.
  • Cuando el proceso esta listo para volver a
    utilizar el procesador el administrador de
    procesos lo inserta en la cola de procesos listos
    o preparados. Repitiéndose todo el ciclo hasta
    que termina el proceso.

14
Transición normal de estados del proceso
Cola de procesos en espera
Cola de procesos listos o preparado
Cola de procesos en ejecución
Cola de procesos bloqueados
Cola de procesos suspendidos
15
Transición de estados
  • Paso de estado de espera a listo o preparado. El
    Administrador de procesos (AP) asigno al proceso
    los recursos que necesita para ejecutarse.
  • Paso de listo a ejecución. El AP asigno el
    procesador al proceso.
  • Paso de ejecución a bloqueado El AP detecta que
    el proceso requiere efectuar operaciones de
    Entrada / Salida.
  • Paso de bloqueado a listo o preparado El AP
    detecta que el proceso ha terminado las
    operaciones de entrada/salida y requiere utilizar
    el procesador nuevamente.

16
Transición de estados
  • Si el proceso tiene algún problema en la
    ejecución, el Administrador de procesos lo encola
    en la cola de procesos suspendidos, hasta que se
    solucione el problema o hasta que el Sistema
    Operativo envié una segunda señal de suspensión
    al proceso. Cuando un proceso esta en estado
    suspendido y recibe una segunda señal se
    suspensión el Administrador de procesos cancela
    al proceso.

17
Transición de estados
  • Paso de estado de listo o preparado a suspendido
    El SO detecta que existe algún error que impide
    que se le asignen los recursos al proceso.
  • Paso de ejecución a suspendido. El SO detecta un
    problema en la ejecución (uso del procesador) del
    proceso.
  • Paso de bloqueado a suspendido. El SO detecta un
    problema en las operaciones de Ent/Sal del
    proceso
  • Si el proceso esta en estado de suspendido y
    recibe una segunda orden por parte del SO de
    suspensión, el proceso se cancela.

18
Transición con problemas de estados de los
procesos
Cola de procesos en espera
Cola de procesos listos o preparado
Cola de procesos en ejecución
Cola de procesos bloqueados
Cola de procesos suspendidos
19
Estado de proceso
Sistemas Operativos. Gary Nutt. Ed. Pearson
El diagrama de estados más básico tiene tres
estados listo, ejecución y bloqueado
Sistemas Operativos, Gary Nutt, Ed. Pearson
20
Diagrama de estados de UNIX
Bloqueado por una operación de I/O, es igual a
estado de sueño ininterrumpido (uninterruptible
sleeping). Bloqueado por otro recurso, es igual
a estado de dormido (sleeping) Si el proceso
(hilo) esta esperando por alguna orden del
proceso padre, esta en estado traceado o
parado. Si el proceso (hilo) ya termino pero no
ha recibido la orden del proceso padre de liberar
los recursos y después borrarse, esta en estado
Zombi
Sistemas Operativos. Gary Nutt. Ed. Pearson
21
Diagrama de estados de un proceso reflejando
control
Sistemas Operativos. Gary Nutt. Ed. Pearson
Un proceso padre puede extender la
responsabilidad de gestionar sus procesos hijos
(hilos). El padre puede activar o suspender a
sus procesos hilos.
22
Planificación de los hilos
Sistemas Operativos. Gary Nutt. Ed. Pearson
El planificador
El planificador cambia de estado de un
proceso/hilo de preparado al estado de ejecución,
el distribuidor asigna el procesador al proceso y
el de conmutador de contexto desalojar los
procesos del procesador y sitúa otro en su
lugar.
23
Concurrencia
  • Variables compartidas. Se establece cuando un
    conjunto de procesos tiene acceso a un espacio
    común de direcciones (área global). Esta practica
    puede conducir a inconsistencias.
  • Sección critica. Una o mas variables compartidas
    por varios procesos. Es una secuencia de
    instrucciones con un comienzo y un final
    claramente marcados que delimita la actualización
    de una o mas variables compartidas.
  • Debe completar todas las instrucciones incluidas
    en ella antes de que se permita a cualquier otro
    proceso entrar a la misma sección critica.

24
Concurrencia
  • Concurrencia Es la existencia de varias
    actividades ejecutándose simultáneamente, y se
    requieren sincronizar para actuarse
    conjuntamente.
  • Para que dos actividades sean concurrentes deben
    tener relación entre si, como puede ser la
    cooperación en un trabajo determinado o el uso de
    información compartida.
  • Hace referencia a las actividades, sin importar
    el número de procesadores presentes.
  • Para evitar la concurrencia se puede establecer
    un control optimista o pesimista.

25
Exclusión Mutua
  • Exclusión mutua. Es cuando un solo proceso
    impide temporalmente a los demás procesos el uso
    de un recurso compartido, con el fin de asegurar
    la integridad del sistema.
  • Asegura que como máximo un proceso a la vez tenga
    acceso a una variable durante las sección
    critica.
  • Cuando se comparten dispositivos, la necesidad de
    exclusión mutua es más obvia si se considera que
    que son muchos los problemas que se generan si se
    utilizan sin control.

26
Exclusión Mutua
  • La exclusión mutua permite que sólo un proceso en
    cada punto tenga permitido el control de un
    dispositivo reutilizable en serie.
  • Es inevitable la concurrencia de procesos por eso
    es indispensable establecer varias formas para
    controlarlo.
  • Descartar la concurrencia.
  • Negociación con todos los procesos existentes.
  • Si sólo son dos procesos se utiliza la propuesta
    de Dekker, MUTEX1 (acceso por TURNOS(0,1)), solo
    un proceso a la vez tiene permitido el acceso.

27
Exclusión Mutua
  • El MUTEX1 tiene varios problemas
  • Se tiene que conocer al proceso competidor, lo
    que seria extraordinariamente inconveniente.
  • Cada proceso asigna explícitamente el turno al
    otro.
  • Solo funciona con dos procesos.
  • Para mas procesos se utiliza la propuesta de
    Dijkstra llamada de Semáforo.
  • Para explicar esta propuesta se presenta el
    problema de los cinco Filósofos.
  • La sincronización tiene relacionada una bandera o
    semáforo para controlar el acceso al dispositivo
    y una cola para controlar los procesos que están
    en espera del recurso.

28
La estrategia pesimista supone el peor caso
posible. Para defenderse toma medidas que con
frecuencia acaban limitando la concurrencia.
S.O. de propósito General
Control Pesimista
  • 1. Bloquea todo aquello que pudiera interferir.
    Penaliza a todos los usuarios.
  • 2. Desbloquea la parte del sistema bloqueado o en
    interbloqueo elimando procesos.

29
Se basan en la suposición de que lo probable es
que no haya conflictos o que se reduzca su número.
Control Optimista
B.D.
  • Una solución optimista puede estructurarse del
    modo siguiente
  • 1. Lee el valor de la variable global y preparar
    la actualización local tentativa basada en ese
    valor.
  • 2. Compara el valor actual de la variable global
    con el valor utilizado para preparar la
    actualización tentativa.

30
El problema de los cinco filósofos
  • Consideraciones
  • Filósofo Funciones pensar y comer.
  • Espagueti es muy resbaloso se requieren 2
    tenedores para comerlo.
  • Sólo existen 6 tenedores.
  • Filósofo con hambre posee un tenedor e intenta
    obtener otro tenedor (ya sea con su mano
    izquierda o derecha) Si logra obtener los dos
    tenedores,come un rato y después deja los
    tenedores para continuar pensando.

Esta propuesta resuelve la sincronización, a
partir de dos estados, el pensar y el comer
31
Semáforos y sincronización de procesos
  • La sincronización es un conjunto de protocolos y
    mecanismos para preservar la integridad y
    consistencia del sistema, (se compone de
    Semáforos y colas de control)
  • Los procesos cooperativos deben sincronizarse
    unos con otros para utilizar recursos
    compartidos, (estructuras de datos, dispositivos
    físicos, etc.)
  • Un recurso reutilizable sólo puede ser utilizado
    por un proceso cada vez.
  • Los semáforos sencillos pero poderosos aseguran
    la exclusión mutua entre procesos, el programador
    los puede construir o utilizarlos mediante
    llamadas al S.O.

32
Sincronización
  • En unix el proceso padre se sincroniza con la
    actividad de los hijos, esperando a que cada hijo
    termine antes de arrancar el siguiente hilo.
  • En otro caso el padre puede crear al hijo pero no
    sincronizarse, en lugar de esto envía a ejecutar
    otro hilo.

33
Implementación de semáforos
  • Un mecanismo de semáforo consta básicamente de
    dos operaciones primitivas asignado (SIGNAL) y
    espera (WAIT). El semáforo solo puede tomar
    valores enteros. El Semáforo solo puede ser
    accedida y manipulado por (Signal y Wait).
  • WAIT (S) Decremento del valor del argumento del
    semáforo (Espera el dispositivo esta Asignado u
    Ocupado).
  • SIGNAL(S) Incrementa el valor del argumento del
    semáforo, en una operación indivisible (El
    dispositivo esta Libre, Disponible por lo tanto
    puede ser asignado al proceso que lo require).
  • Para los semáforos binarios la lógica Wait
    debería interpretarse como la espera hasta que la
    variable semáforo sea igual a LIBRE, seguido de
    su modificación para que indique OCUPADO antes de
    devolver el control al invocador.
  • Wait implementa por tanto la fase de negociación
    del protocolo de exclusión mutua y Signal la de
    Liberación.

34
Relación productor - consumidor
  • Productores y consumidores con búfer ilimitado.
  • El primer proceso en ejecutarse debe ser un
    proceso productor con el fin de proporcionar el
    primer dato.
  • Desde ese momento puede ejecutarse un proceso
    consumidor habiendo más de un dato en el búfer,
    producido pero aún no consumido. El búfer puede
    ser implementado como un vector, una lista
    enlazada o cualquier otra colección de datos.
  • El código del proceso productor refleja esta
    situación por la ausencia de operaciones WAIT, se
    produce un dato, y es colocado en el búfer, y el
    hecho es señalizado por el semáforo general.

35
Productores y consumidores con un búfer limitado
  • Los procesos consumidores y productores pueden
    verse detenidos bajo ciertas circunstancias.
  • Los productores pueden producir datos sólo
    mientras haya espacios vacíos en el búfer para
    recibirlos.
  • Un consumidor sólo puede absorber datos
    producidos y debe esperar cuando no hay datos
    disponibles.
  • En cualquier momento particular el búfer global
    compartido puede estar vació, parcialmente lleno
    o completo con los datos producidos listos para
    consumo.

36
El problema de lectores y escritores
  • Sistema Multiusuario. Dado un universo de
    lectores y un universo de escritores que accesan
    datos en común es necesario la sincronización
    para asegurar la consistencia e integridad de los
    datos.
  • La lógica es esperar que el semáforo binario este
    en ESCRIBIR para recibir el permiso y entrar a la
    sección critica.

37
El problema de lectores y escritores
  • Una solución es utilizar una variable ejemplo
    NUMLECTORES, para llevar la cuenta de los
    lectores que están activamente utilizando el
    recurso.
  • Primer proceso lector (Numlectores 1 uso, -1
    deja de usar) si hay un grupo de lectores todos
    proceden a leer. Semaforo Lectura
  • Segundo proceso escritor si hay lectores se
    mantendrán en espera. Semáforo Escribir.
  • Cuando el S.O. esta inactivo la disputa será
    imparcial, el primero que llegue ocupa el
    recurso.

38
S.O. Basados en monitores
  • Lo que se puede operar con semáforos también
    puede ser operado por Monitores..
  • Los monitores proporcionan una abstracción de
    datos estructural además de controlar la
    concurrencia, controlan la naturaleza de las
    operaciones realizadas sobre los datos globales,
    para prevenir actuaciones dañinas o sin
    significado.
  • Los procesos de usuario no tienen modo de conocer
    la organización interna de un monitor. Una vez
    depurados no es fácil que el usuario corrompa los
    datos globales.
  • Los monitores encapsulan los datos utilizados por
    los procesos concurrentes y permiten su
    manipulación por medio de operaciones adecuadas
    y sincronizadas. Comunicación y sincronización
    entre procesos.

39
Monitores
  • Un monitor se activa cuando es invocado por un
    proceso en ejecución.
  • Cada monitor se encarga de un grupo pequeño de
    recursos en particular .
  • Una serie de monitores puede coexistir en un S.O.
  • Los monitores aumentan la concurrencia y
    facilitan el diseño y mantenimiento.
  • Si un monitor invoca a otro monitor que esta
    bloqueado el primero también se bloquea.
    Interbloqueos entre monitores

40
Recursos
  • Un recurso es un elemento que un programa o
    procesos puede utilizar en la computadora donde
    se esta ejecutando,
  • Los recursos son concedidos a un proceso
    solicitante cuando están disponibles.
  • Algo que puede ser utilizado por un sólo proceso
    en el momento dado.
  • Para que un proceso pueda utilizar un recurso,
    deberá realizar la siguiente secuencia de
    operaciones
  • Solicitar el recurso. Si no estuviera disponible
    el proceso, quedará bloqueado hasta que el SO se
    lo asigne.
  • Utilizar el recurso
  • Liberar el recurso
  • Los recursos de un sistema informático cuya
    asignación está sujeta a interbloqueos pueden ser
    categorizados en dos clases recursos
    reutilizables y recursos consumibles.
  • Los recursos reutilizables pueden ser utilizados
    con seguridad por un sólo proceso como máximo en
    una instancia de tiempo, cuando el proceso no
    los está ocupando los pone disponibles
    temporalmente para que otro proceso pueda hacer
    unos de ellos.
  • Los recursos consumibles son asignados al proceso
    y este los retiene desde el momento de iniciar el
    proceso hasta su finalización. Durante este
    tiempo el recursos permanece en estado de
    asignado, por lo tanto no puede ser utilizando
    por ningún otro proceso.

41
Solicitando todos los recursos antes de comenzar
Sistemas Operativos. Gary Nutt. Ed. Pearson
Liberación de todos los recursos antes de
solicitar más o antes de desaparecer
42
Principios de Interbloqueos
  • También conocida como embotellamiento.
  • Situación donde un grupo de procesos están
    permanentemente bloqueados como consecuencia de
    que cada proceso ha adquirido un subconjunto de
    los recursos necesarios para su operación y esta
    en espera de la liberación de los restantes
    recursos mantenidos por otros procesos del mismo
    grupo.

43
Condiciones de interbloqueo
  • Interbloqueo es la situación de un conjunto de
    procesos en un estado de espera tal que ninguno
    de ellos tiene suficientes criterios para
    continuar su ejecución. Esto sucede a menudo en
    la vida real.
  • Un conjunto de procesos ha llegado al interbloque
    si se cumplen las siguientes condiciones
  • Exclusión mutua. Recurso exclusivo
  • Posesión y espera.
  • No apropiación.Liberación de recurso por acción
    voluntaria del proceso.
  • Espera circula. Los procesos forman una cadena de
    retención y espera de recursos.

44
Postergación indefinida
  • Es posible que un determinado proceso quede en
    esperando indefinidamente por el recurso deseado,
    mientras otros reciben la atención del sistema.
  • Esto puede surgir en sistemas gestionados por
    prioridades ya que un proceso puede quedarse sin
    el control del procesador debido a que
    continuamente lleguen nuevos procesos de
    prioridad más alta.

45
Prevención de deadlock
  • Prevención de la condición de exclusión mutua.
  • Con un Spooling de la salida a la impresora,
    varios procesos podrían generar generar la salida
    al mismo tiempo.
  • Prevención de la condición Detenerse y esperar.
  • Podemos evitar que los los procesos que conservan
    recursos esperan más exigiendo recursos podríamos
    eliminar el bloqueo.exigir a todos los procesos
    que soliciten todos sus recursos antes de iniciar
    su ejecución . Si todo esta disponible, el
    proceso tendrá todo lo que necesite y podrá
    ejecutarse hasta terminar. Si están ocupados no
    podrá signarse recurso alguno y el proceso tendrá
    que esperar.
  • Prevención de la condición de la no apropiación.
  • Si un proceso tiene asignada la impresora y se
    encuentra a la mitad de la impresión de su
    salida, el hecho de quitarle a la fuerza la
    impresora puesto que no se dispone de un plotter
    es por lo menos difícil, si no es que imposible.
  • Prevención de la condición de esperar circular.
  • La espera circular se puede eliminar disponiendo
    de una regla que un proceso sólo está autotrizado
    a utilizar un recurso.

46
Modelo de estado con espera circular
En un estado de espera circular, cada uno de los
n procesos esta en posesión de un recurso y
solicita otro. Gary Nutt
Estado seguro
Estado inseguro
Estado de interbloqueo
Sistemas Operativos. Gary Nutt. Ed. Pearson
47
Otra forma de evitar la espera circular es
mediante una numeración global de todos los
recursos
  • Se numeran los dispositivos en función de acuerdo
    a como son requeridos de mayor a menor
  • 1.-Disco Duro maestro
  • 2.- Disco duro respaldo
  • 3.- Unidad de CD-Rom
  • 4.- Impresora
  • 5.- Escáner
  • 6.- etc.

Los procesos deben solicitar los dispositivos de
acuerdo con su numeración, un proceso no podrá
solicitar un dispositivo con un menor numero al
que tiene asignado.
48
Recuperación de deadlock
  • Suponiendo que el algoritmo de detección de
    bloqueos tiene éxito y detecte el bloqueo. Se
    necesita alguna forma de recuperar y lograr que
    sistema continúe nuevamente.
  • Recuperación mediante la apropiación.
  • En ciertos casos, podría ser posible tomar un
    recurso en forma temporal de su poseedor y
    dárselo a otro proceso.
  • La posibilidad de quitar un recurso a un proceso,
    hacer que otro recurso lo utilice y después
    regresarlo si que el proceso lo note depende en
    gran medida de la naturaleza del recurso.La
    recuperación mediante esta vía es difícil o
    imposible.
  • Recuperación mediante rollback.
  • La verificación de un proceso indica que su
    estado se escribe en un archivo de modo que pueda
    volver a iniciar más tarde.El punto de
    verificación contiene la imagen de la memoria, el
    estado de recurso es decir los recursos
    asignados en ese momento al proceso.Los nuevo
    puntos de verificación deben escribirse en nuevos
    archivos así durante la ejecucuión del proceso
    se acumula toda una serie de archivos con puntos
    de verificación.
  • Al detectar un bloqueo , un proceso que posee un
    recurso necesario regresa hasta cierto instante
    en el tiempo anterior a la adquisición de algún
    otro recurso, mediante la inicialización de
    alguno de sus anteriores puntos de verificación.

49
Recuperación mediante la eliminación de procesos
  • La forma más sencilla de romper un bloqueo es
    eliminar uno o más procesos. Una posibilidad es
    eliminar un proceso del ciclo .
  • Otra alternativa es elegir un proceso que no este
    en el ciclo, para poder liberar sus recursos se
    elige con cuidado el proceso por eliminar, como
    aquel que posee recursos necesarios para algún
    proceso del ciclo.
  • Cuando sea posible, es mejor eliminar un proceso
    que pueda volver a iniciar su ejecución sin
    efectos dañino.
  • Un proceso que actualiza una base de datos no
    siempre se puede volver a ejecutar por segunda
    vez con seguridad.Si el proceso añade 1 a cierto
    registro en esta base de datos, al ejecutarlo una
    vez, eliminarlo y volver a ejecutarlo se sumara 2
    al registro,lo cual es incorrecto.
Write a Comment
User Comments (0)
About PowerShow.com