La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad IV. Administración de procesos

Presentaciones similares


Presentación del tema: "Unidad IV. Administración de procesos"— Transcripción de la presentación:

1 Unidad IV. Administración de procesos
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 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. 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).

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, buffer´s, 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 Unidad de entrada /salida
Carga del proceso Memoria Primaria Unidad de entrada /salida Memoria Secundaria 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
RESTRINGIDA CONFIDENCIAL INTERNA PÚBLICA q ACCESO DOBLE PASSWORD PASSWORD ENTRADA SIN TRANSPORTA- CIÓN CON UN PROPIO DENTRO DE BOLSAS CERRADAS CON CINTIILLO DE SEGURIDAD EN SOBRES CERRADOS RESTRICCIÓN ENCRIPCIÓN ARCHIVO PARTICIONADO, ENVIIANDO CODIGO Y LLAVE POR SEPARADO ENVIO DE CODIGO Y LLAVE POR SEPARADO NO REQUERIDA NO REQUERIDA FOTOCOPIADO RECOMENDADO CONTROLAR MEDIANTE SELLOS EL No. DE COPIAS EXISTENTES CONSULTA DE INFORMACIÓN PRIVADA Y CONSULTA MONITOREADA PRIVADA Y EN ALGUNOS CASOS CON CONSULTA BAJO FACULTADES USO TELEFONO CELULAR PROHIBIDO SU PERMITIDO SÓLO EN PRIVADO EVITAR LUGARES PÚBLICOS REUNIONES EN PRIVADO Y EN OFICINAS DE LA EMPRESA EN PRIVADO Y DE PREFERENCIA EN EXCLUIR ÁREAS PUBLICAS ACTIVIDAD SEGURIDAD ESTABECIDA TIPO DE IFORMACIÓ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. Comienzo de la ejecución. Al ser dada la orden de ejecución del programa el proceso inicia insertándose en la cola de preparados. Paso a estado de ejecución. Cuando en la cola de preparados exista algún proceso en espera de ser ejecutado, pasara a esta cola y se ejecutara el primero de ellos siempre y cuando el procesador este inactivo. Paso a estado bloqueado. Si un proceso se encuentra en ejecución y solicita una operación a un dispositivo externo (ENT/SAL), este será pasado de estado de ejecución a estado bloqueado.

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. Comienzo de la ejecución. Al ser dada la orden de ejecución del programa el proceso inicia insertándose en la cola de preparados. Paso a estado de ejecución. Cuando en la cola de preparados exista algún proceso en espera de ser ejecutado, pasara a esta cola y se ejecutara el primero de ellos siempre y cuando el procesador este inactivo. Paso a estado bloqueado. Si un proceso se encuentra en ejecución y solicita una operación a un dispositivo externo (ENT/SAL), este será pasado de estado de ejecución a estado bloqueado.

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 1 2 3 “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 Control Pesimista S.O. de propósito General La estrategia pesimista supone el peor caso posible. Para defenderse toma medidas que con frecuencia acaban limitando la concurrencia. 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 Control Optimista B.D. Se basan en la suposición de que lo probable es que no haya conflictos o que se reduzca su número. 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 Solicitando todos los recursos antes de comenzar 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.


Descargar ppt "Unidad IV. Administración de procesos"

Presentaciones similares


Anuncios Google