ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Guia De Sistemas Operativos

palmasierra7 de Noviembre de 2013

5.047 Palabras (21 Páginas)601 Visitas

Página 1 de 21

Módulo 04: control de concurrencia

Control de lectura

1) Defina cada uno de los siguientes conceptos relacionados con el control de concurrencia:

 Sección crítica de un proceso: Sección de código dentro de un proceso que requiere acceso a recursos compartidos y que no puede ser ejecutada mientras otro proceso esté en una sección de código correspondiente.

 Interbloqueo: Situación en la cual dos o más procesos son incapaces de actuar porque cada uno está esperando que alguno de los otros haga algo.

 Círculo vicioso de espera: Situación en la cual dos o más procesos cambian continuamente su estado en respuesta a cambio en los otros procesos sin realizar ningún trabajo.

 Exclusión mutua: Requisito de que cuando un proceso esté en una sección crítica que accede a recursos compartidos, ningún otro proceso puede estar en una sección crítica que acceda a ninguno de esos recursos compartidos.

 Inanición: Situación en la cual un proceso preparado para avanzar es soslayado indefinidamente por el planificador; aunque es capaz de avanzar, nunca se le escoge.

2) Explique cuáles son las tareas de gestión y diseño de sistema operativo que surgen por causa de la concurrencia.

 Explique, con ejemplos, los siguientes conceptos:

 Relación por competencia: Los procesos concurrentes entran en conflicto entre sí cuando están compitiendo por el uso del mismo recurso. En su forma pura, podemos describir la situación de la siguiente manera. Dos o más procesos necesitan acceder a un recurso durante el curso de su ejecución. Cada proceso tiene conocimiento de la existencia de otros procesos, y cada uno es no estar afectada por la ejecución de los otros procesos.

 Por ejemplos de recursos incluyen los dispositivos de E / S, memoria, tiempo de procesador, y el reloj. No hay intercambio de información entre los procesos de la competencia. Sin embargo, la ejecución de un proceso puede afectar el comportamiento de los procesos que compiten. En particular, si dos procesos tanto desean acceder a un único recurso, entonces el proceso será asignado a ese recurso por el sistema operativo, y el otro tendrá que esperar.

 Cooperación por compartición: En caso de la cooperación mediante el intercambio abarca procesos que interactúan con otros procesos sin ser explícitamente consciente de ellos.

Por ejemplo, varios procesos pueden tener acceso a las variables compartidas o a archivos o bases de datos compartidos. Los procesos pueden utilizar y actualizar los datos compartidos sin hacer referencia a otros procesos, pero sé que otros procesos pueden tener acceso a los mismos datos los procesos deben cooperar para asegurar que los datos que comparten se gestionan adecuadamente. Los mecanismos de control deben garantizar la integridad de los datos compartidos.

 Cooperación por comunicación: La comunicación puede ser caracterizado como un conjunto de mensajes. Primitivas para el envío y recepción de mensajes puede estar provisto como parte del lenguaje de programación o suministrado por el núcleo del sistema operativo.

Como ejemplo de punto muerto, dos procesos pueden ser bloqueados, cada uno espera de una comunicación de las otras. Como un ejemplo, considera tres procesos, P1, P2 y P3, que presentan el siguiente comportamiento. P1 se intenta varias veces para comunicarse con cualquiera de P2 o P3 y P2 y P3 son tanto intentar comunicarse con P1. Una secuencia puede surgir, en el que P1 y P2 el intercambio de información en varias ocasiones, mientras que P3 está bloqueado en espera de una comunicación de P1. No hay un punto muerto, ya que P1 sigue activa, pero P3 es privado.

3) ¿Cuáles son los requisitos que debe cumplir cualquier mecanismo o técnica que proporcione exclusión mutua?

 Exclusión mutua debe aplicarse: Sólo un proceso a la vez que se permite en su sección crítica, entre todos los procesos que tienen secciones críticas para el mismo recurso u objeto compartido.

 Un proceso que se detiene en su sección no crítica debe hacerlo sin interferir con otros procesos.

 No debe ser posible para un proceso que requiere el acceso a una sección crítica que se retrase indefinidamente: no hay punto muerto o inanición.

 Cuando hay un proceso se encuentra en una sección crítica, cualquier proceso que solicita la entrada en su sección crítica debe permitir entrar sin demora.

 No se hacen suposiciones sobre las velocidades de procesos relativos o el número de procesadores.

 Un proceso permanece dentro de su sección crítica por un tiempo finito.

4) Explique con ejemplos, el concepto de excusión mutua.

 Por Ejemplo: Puede implementarse la exclusión mutua de varios procesos en el acceso a una tabla de datos mediante el recurso de que todas las rutinas que lean o actualicen la tabla se escriban como secciones críticas, de forma que sólo pueda ejecutarse una de ellas a la vez.

5) Explique con ejemplos, el concepto de interbloqueo.

 Dos procesos desean imprimir grandes archivos en cinta.

El proceso “a” solicita la impresora, que se le concede.

El proceso “b” solicita la unidad de cinta, que se le concede.

El proceso “a” solicita la unidad de cinta, pero se deniega la solicitud hasta que “b” la libera.

El proceso “b” solicita la impresora y se produce el bloqueo (deadlock).

En este caso ambos procesos se quedan en un ciclo infinito debido a que cada uno de los procesos se queda esperando a que el dispositivo que necesita este libre. Cuando ocurren este tipo de bloqueos la única solución es sacrificar uno de los dos procesos.

6) Explique con ejemplos, el concepto de inanición.

 Un ejemplo podría ser el de un proceso de baja importancia que está esperando en memoria para usar el procesador, pero debido a que hay otros trabajos de mayor importancia éste está en espera. Durante un rato los trabajos que estaban usando el procesador con anterioridad se retiraron, pero llegaron otros trabajos también de mucha importancia y el primer programa sigue esperando. Esto puede continuar indefinidamente y el proceso nunca llega a ejecutarse.

7) Explique ampliamente el concepto y forma de implementación de semáforos en sistemas operativos.

 Un valor entero que se utiliza para la señalización de los procesos. Sólo tres operaciones se pueden realizar en un semáforo, todos los cuales son atómica: inicialización, decremento, y la operación de decremento incremento. Para lograr el efecto deseado, podemos ver el semáforo como una variable que tiene un valor entero en el que se definen sólo tres operaciones:

1. Un semáforo puede ser inicializado a un valor entero no negativo.

2. El semWait operación disminuye el valor del semáforo. Si el valor se convierte en negativo, entonces el proceso de ejecución de la semWait está bloqueado. De lo contrario, el proceso continúa con la ejecución.

3. El semSignal incrementos de operación el valor del semáforo. Si el valor resultante es menor que o igual a cero, entonces un proceso bloqueado por una semWait se desbloquea operación, en su caso.

Para contrastar los dos tipos de semáforos, el semáforo no binario se refiere a menudo ya sea como un semáforo de cuenta o un semáforo en general.

Un concepto relacionado con el semáforo binario es el mutex. Una diferencia clave entre los dos es que el proceso que bloquea el mutex (establece el valor a cero) debe ser el que desbloquearlo (establece el valor a 1). Por el contrario, es posible que un proceso bloquee un semáforo binario y por otro para desbloquearlo.

8) Explique ampliamente el concepto y forma de implementación de monitores en sistemas operativos.

 Un monitor es un módulo de software que consta de uno o más procedimientos, una secuencia de inicialización, y las características principales datos. El locales de un monitor son los siguientes:

1. Las variables de datos locales sólo son accesibles por los procedimientos monitora y no por cualquier procedimiento externo.

2. Un proceso entra en el monitor mediante la invocación de una de sus procedimientos.

3. Sólo un proceso puede estar ejecutando en el monitor a la vez, otros procesos que han invocado el monitor están bloqueados, en espera de que el monitor esté disponible.

9) Explique, con ejemplos, los conceptos de detección, prevención y predicción de interbloqueo.

Detección: Por ejemplo, un intento de crear un archivo inválido puede ser descubierto examinando los mensajes en los Logs que son resultado de las llamadas al sistema.

Las intrusiones anómalas son descubiertas observando desviaciones significantes del comportamiento normal del sistema. El modelo clásico para el descubrimiento de la anomalía fue propuesto por Denning. En él se propone la construcción de un modelo que contiene métricas que se derivan del funcionamiento del sistema.

Predicción de interbloqueo: Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes:

- El coche que va hacia el norte necesita los cuadrantes 1 y 2.

- El coche que va hacia el oeste necesita los cuadrantes 2 y 3.

- El coche que va hacia el sur necesita los cuadrantes 3 y 4.

-

...

Descargar como (para miembros actualizados) txt (33 Kb)
Leer 20 páginas más »
Disponible sólo en Clubensayos.com