Sei sulla pagina 1di 12

1-11-2017

UNIVERSIDAD TECNILOGICA DE HONDURAS

CAMPUS CHOLUTECA

Asignatura: Sistemas Operativos

Catedrtico: Hctor Antonio Castillo Cruz

N de cuenta: 201610110169

Nombre Alumno: Oliber Antonio Izaguirre Izaguirre

Trabajo: Control de lectura

Fecha: 1 de Noviembre del 2017


Introduccin

En este trabajo hacemos un control de lectura de los trabajos del concepto de excusin mutua s,
sobre el control de concurrencia con el circulo vicioso de espera y explicando ejemplos sobre las
tareas de gestin y diseo de sistema operativo, haciendo ejercicios de procesos de reas de datos
compartida sobre lecturas y trminos de procesos, de procesos en espera en cola y la finalizacin
de procesos de lecturas y escrituras.
1. Explique con ejemplos, el concepto de excusin mutua.
R// Se han desarrollado cierto nmero de algoritmos software para conseguir exclusin mutua, de
los cuales el ms conocido es el algoritmo de Dekker. La solucin software es fcil que tenga una
alta sobrecarga de procesamiento y es significativo el riesgo de errores lgicos. No obstante, el
estudio de estos algoritmos ilustra muchos de los conceptos bsicos y de los potenciales
problemas del desarrollo de programas concurrentes. Para el lector interesado, el Apndice A
incluye un anlisis de las soluciones software. En esta seccin se consideran varias interesantes
soluciones hardware a la exclusin mutua.
2. Defina cada uno de los siguientes conceptos relacionados con el control de
concurrencia:
a. Seccin crtica de un proceso: en programacin concurrente a la porcin
de cdigo de un programa de ordenador en la que se accede a un
recurso compartido (estructura de datos o dispositivo) que no debe ser
accedido por ms de un proceso o hilo en ejecucin.
b. Interbloqueo: En sistemas operativos, el bloqueo mutuo (tambin
conocido como interbloqueo, traba mortal, deadlock, abrazo mortal) es
el bloqueo permanente de un conjunto de procesos o hilos de ejecucin
en un sistema concurrente que compiten por recursos del sistema o bien
se comunican entre ellos.

c. Circulo vicioso de espera: Existe una lista cerrada de procesos, de tal manera
que cada proceso posee al menos un recurso necesitado por el siguiente proceso de
la lista

d. Exclusin mutua: Slo un proceso puede utilizar un recurso en cada momento.


Ningn proceso puede acceder a una unidad de un recurso que se ha asignado a otro
proceso.

e. Inanicin: Es un problema relacionado con los sistemas multitareas,


donde a un proceso o a un hilo de ejecucin se le deniega siempre el
acceso a un recurso compartido. La inanicin no es sntoma de
interbloqueo, aunque produce la inanicin de los procesos involucrados.
3. Explique ampliamente el concepto y forma de implementacin de monitores
en sistemas operativos.
R//El monitor es una construccin del lenguaje de programacin que proporciona una
funcionalidad Equivalente a la de los semforos pero es ms fcil de controlar.
La construccin monitor ha sido implementada en cierto nmero de Lenguajes de programacin,
incluyendo Pascal Concurrente, Pascal-Plus, Modula-2, Modula-3 y Java. Tambin ha sido
implementada como una biblioteca de programa. Esto permite a los programadores Poner
cerrojos monitor sobre cualquier objeto. En concreto, para algo como una lista encadenada, puede
Quererse tener un nico cerrojo para todas las listas, por cada lista o por cada elemento de cada
lista.
4. Explique cules son las tareas de gestin y diseo de sistema operativo que
surgen por causa de la concurrencia.
R// 1. El sistema operativo debe ser capaz de seguir la pista de varios procesos. Esto se consigue
con el uso de bloques de control de proceso.
2. El sistema operativo debe ubicar y desubicar varios recursos para cada proceso activo. Estos
recursos incluyen:
Tiempo de procesador. Esta es la misin de la planificacin, tratada en la Parte Cuatro.
Memoria. La mayora de los sistemas operativos usan un esquema de memoria virtual. El tema
es abordado en la Parte Tres.
Ficheros. Tratados en el Captulo 12.
Dispositivos de E/S.
3. El sistema operativo debe proteger los datos y recursos fsicos de cada proceso frente a
interferencias involuntarias de otros procesos. Esto involucra tcnicas que relacionan memoria,
ficheros y dispositivos de E/S.
4. El funcionamiento de un proceso y el resultado que produzca, debe ser independiente de la
velocidad a la que suceda su ejecucin en relacin con la velocidad de otros procesos
concurrentes.

5. Explique, con ejemplos, los siguientes conceptos


Relacin por competencia: Los procesos concurrentes entran en conflicto entre ellos cuando
compiten por el uso del mismo recurso. En su forma pura, puede describirse la situacin como
sigue. Dos o ms procesos necesitan acceso a un recurso durante el curso de su ejecucin. Ningn
proceso se percata de la existencia de los otros procesos y ninguno debe verse afectado por la
ejecucin de los otros procesos. Esto conlleva que cada proceso debe dejar inalterado el estado de
cada recurso que utilice. Ejemplos de recursos son los dispositivos de E/S, la memoria, el tiempo
de procesador y el reloj.
Cooperacin por comparticin: Como ejemplo sencillo, considrese una aplicacin de
contabilidad en la que pueden ser actualizados varios datos individuales. Supngase que dos datos
individuales a y b han de ser mantenidos en la relacin a = b. Esto es, cualquier programa que
actualice un valor, debe tambin actualizar el otro para mantener la relacin.
Cooperacin por comunicacin: En los dos primeros casos que se han tratado, cada proceso
tiene su propio entorno aislado que no incluye a los otros procesos. Las interacciones entre
procesos son indirectas. En ambos casos hay cierta comparticin. En el caso de la competencia,
hay recursos compartidos sin ser conscientes de los otros procesos. En el segundo caso, hay
comparticin de valores y aunque cada proceso no es explcitamente consciente de los dems
procesos, es consciente de la necesidad de mantener integridad de datos. Cuando los procesos
cooperan va comunicacin, en cambio, los diversos procesos involucrados participan en un
esfuerzo comn que los vincula a todos ellos. La comunicacin proporciona una manera de
sincronizar o coordinar actividades varias.

6. Cules son los requisitos que debe cumplir cualquier mecanismo o tcnica
que proporcione exclusin mutua?
R// Cualquier mecanismo o tcnica que vaya a proporcionar exclusin mutua debera
cumplimentar los siguientes requisitos:
1. La exclusin mutua debe hacerse cumplir: slo se permite un proceso al tiempo dentro de su
Seccin crtica, de entre todos los procesos que tienen secciones crticas para el mismo recurso
U objeto compartido.
2. Un proceso que se pare en su seccin no crtica debe hacerlo sin interferir con otros procesos.
3. No debe ser posible que un proceso que solicite acceso a una seccin crtica sea postergado
indefinidamente: ni interbloqueo ni inanicin.
4. Cuando ningn proceso est en una seccin crtica, a cualquier proceso que solicite entrar en
Su seccin crtica debe permitrsele entrar sin demora.
5. No se hacen suposiciones sobre las velocidades relativas de los procesos ni sobre el nmero de
Procesadores.
7. Un proceso permanece dentro de su seccin crtica slo por un tiempo finito.

8. Explique con ejemplos, el concepto de interbloqueo.


R// e puede definir el interbloqueo como el bloqueo permanente de un conjunto de
procesos que o bien compiten por recursos del sistema o se comunican entre s. Un conjunto de
procesos est Interbloqueado cuando cada proceso del conjunto est bloqueado esperando un
evento (normalmente la liberacin de algn recurso requerido) que slo puede generar otro
proceso bloqueado del Conjunto. El interbloqueo es permanente porque no puede producirse
ninguno de los eventos. A diferencia de otros problemas que aparecen en la gestin de procesos
concurrentes, no hay una solucin Eficiente para el caso general.
9. Explique ampliamente el concepto y forma de implementacin de semforos
en sistemas operativos.
R// es imperativo que las funciones semWait y semSignal sean implementadas como primitivas
atmicas. Una manera obvia es implementarlas en hardware o firmware. A falta de esto, se han
propuesto variedad de esquemas. La esencia del problema es la de la exclusin mutua: slo un
proceso al tiempo puede manipular un semforo bien con la operacin semWait o bien con
semSignal. As, cualquiera de los esquemas software, tales como el algoritmo de Dekker o el de
Peterson (Apndice A), pueden usarse, si bien esto supondra una substancial sobrecarga de
procesamiento. Otra alternativa es utilizar uno de los esquemas soportados por hardware para la
exclusin mutua.
10. Explique, con ejemplos, los conceptos de deteccin, prevencin y prediccin
de interbloqueo.
R// Deteccin de Interbloqueo: Con la deteccin del interbloqueo, los recursos pedidos se
conceden a los procesos siempre que sea posible. Peridicamente, el sistema operativo realiza un
algoritmo que le permite detectar la condicin de espera circular
Prevencin de Interbloqueo: La estrategia de prevencin del interbloqueo consiste, de forma
simplificada, en disear un sistema de manera que se excluya la posibilidad del interbloqueo. Se
pueden clasificar los mtodos de
Prevencin del interbloqueo en dos categoras. Un mtodo indirecto de prevencin del
interbloqueo es impedir la aparicin de una de las tres condiciones necesarias listadas
previamente (las tres primeras). Un mtodo directo de prevencin del interbloqueo impide que se
produzca una espera circular (cuarta condicin).
Prediccin de Interbloqueo: se restringen las solicitudes de recurso para impedir al menos una de
las cuatro condiciones de interbloqueo. Esto se realiza o bien indirectamente, impidiendo una de
las tres condiciones de gestin necesarias (exclusin mutua, retencin y espera, y sin
expropiacin), o directamente, evitando la espera circular. Esto conlleva un uso ineficiente de los
recursos y una ejecucin ineficiente de los procesos.
11. Explique con ejemplos, el concepto de inanicin.
R// Como ejemplo de inanicin, considrense tres procesos, P1, P2 y P3, que muestran el siguiente
comportamiento. P1 est intentando repetidamente comunicar con P2 o con P3, y P2 y P3 estn
ambos intentando comunicar con P1. Podra suceder una secuencia en la cual P1 y P2
intercambiasen informacin repetidamente, mientras P3 est bloqueado esperando comunicacin
de P1. No hay interbloqueo porque P1 permanece activo, pero P3 pasa hambre.

12. Haga un comparativo de las ventajas y desventajas de las tres estrategias para el
tratamiento del interbloqueo (deteccin, prevencin y prediccin de
interbloqueo).
Deteccin:
Ventajas: 1.- Nunca retrasa el inicio de un proceso 2.- Facilita el manejo
en lnea.
Desventajas: Perdidas inherentes a la apropiacin.
Prevencin:
Ventajas: 1.- Funciona bien con procesos que realizan una sola rfaga de
actividad. 2.- No es necesaria la apropiacin. 3.- Aplicacin factible por
medio de chequeos durante la compilacin.
Desventajas: 1.- Retrasos en el inicio de los procesos. 2.- Apropia mas
habitualmente de lo necesario.
Prediccin:
Ventajas: No es necesaria la apropiacin.
Desventajas: 1.- Deben conocerse las demandas futuras de recursos. 2.-
Los procesos pueden bloquearse durante largos periodos.
EJERCICIO PARA RESOLVER

1. Existen dos procedimientos llamados Pa y Pb.


2. Ambos procedimientos deben intercalar su ejecucin, ejecutndose
una vez en cada turno, excepto cuando se encuentren en su seccin
crtica en cuyo caso la accin del procedimiento en seccin crtica
deber ejecutarse con exclusividad.

3. Cada ejecucin de Pa tiene como objetivo multiplicar por 8 el valor de


Pa (valor inicial: 4) y mostrar en pantalla el valor de la variable una
vez multiplicada.
4. Cada ejecucin de Pb tiene como objetivo dividir entre 6 el valor de
Pb (Valor inicial: 4096) y mostrar en pantalla el valor de la variable
una vez dividida.
5. La seccin crtica de Pa inicia despus de su cuarta iteracin hasta su
octava iteracin. El Pa finaliza cuando haya realizado 24 iteraciones.
6. La seccin crtica del Pb inicia cuando Pb sea menor o igual que 2048,
hasta que Pb sea menor o igual que 256, El Pb finaliza cuando la
variable alcanza el valor de Pb sea menor o igual a 6.
7. En caso de que un procedimiento termine antes que otro, el que an
no ha terminado debe seguirse ejecutando hasta su finalizacin.

Secuencia de Procedimiento Valor Valor


Ejecucin ejecutndose Pa Pb Observaciones

1 Pa 4 0

2 Pb 4 4096

3 Pa 32 4096
Inicia seccin critica de
4 Pb 32 682.66 Pb
Finaliza Seccin critica
5 Pb 32 113.77 de Pb

6 Pa 256 113.77

7 Pb 256 18.96
Inicia seccin critica de
8 Pa 2048 18.96 Pa

9 Pa 16384 18.96
10 Pa 131072 18.96

11 Pa 1048576 18.96
Finaliza seccin
12 Pa 8388608 18.96 critica de Pa

Finaliza Pb
13 Pb 8388608 3.16

14 Pa 67108864
15 Pa 536870912
429496729
16 Pa 6
34359738
17 Pa 368
27487790
18 Pa 6944
21990232
19 Pa 55552
17592186
20 Pa 044416
14073748
21 Pa 8355328
11258999
06842620,
22 Pa 00
90071992
54740990,
23 Pa 00
72057594
03792790
24 Pa 0,00
57646075
23034230
25 Pa 00,00
46116860
18427390
26 Pa 000,00
36893488
14741910
27 Pa 0000,00
29514790
51793530
28 Pa 00000,00
23611832
41434820
29 Pa 000000,00 Finaliza Pa
EJERCICIO A RESOLVER 1
Instrucciones: Varios procesos necesitan entrar a una sola rea de datos
compartida.
En base al Algoritmo de Lectores/Escritores determine:

1. La respuesta que el sistema operativo dar al proceso solicitante. Por


ejemplo:
P1 pasa a lectura o P1 Pasa a cola de escritura, etc.).
2. El efecto adicional que produce la terminacin de la accin de un
proceso. Por ejemplo: Si un proceso termina de escribir, deben
verificarse las colas de lectura o escritura, para que los procesos en
espera puedan realizar su funcin.
Proceso Accin que solicita Resultado de solicitud/ Efecto de
solicitante el proceso terminacin de Proceso
P1 Escritura P1 -> Pasa a cola de escritura, Lectores = 1

P2 Escritura P2 -> Pasa a cola de escritura, Lectores = 1

P3 Lectura P3-> Pasa a lectura, Lectores = 2

P1 Terminar P1 -> Terminado, Lectores = 1

P4 Lectura P4 -> Pasa a cola de lectura

P5 Escritura P5 -> Pasa a cola de escritura

P6 Escritura P6 -> Pasa a cola de escritura

P2 Terminar P2 -> Terminado, Lectores = 0, P3 -> pasa a


escritura
P5 Terminar P5 -> Terminado, P4 y P7 -> Pasan a Lectura,
Lectores = 2
P7 Lectura P7 -> Pasa a cola de lectura

P6 Terminar P6 -> Terminado, Lectores = 1

P8 Escritura P8 -> Pasa a cola de escritura

P3 Terminar P3 -> Terminado, Lectores = 1

P9 Escritura P9 -> Pasa a cola de escritura

P10 Lectura P10 -> Pasa a cola de lectura

P11 Lectura P11 -> Pasa a cola de lectura


Estado final de los procesos:

Procesos Terminados P1, P2, P3, P5, P6


Procesos que quedan leyendo P4, P7
Procesos que quedan escribiendo Ninguno
Procesos en cola de lectura P10, P11
Procesos en cola de escritura P8

EJERCICIO A RESOLVER 2
Instrucciones: Varios procesos necesitan entrar a una sola rea de datos compartida.
En base al Algoritmo de Lectores/Escritores determine:

1. La respuesta que el sistema operativo dar al proceso solicitante. Por ejemplo:


P1 pasa a lectura o P1 Pasa a cola de escritura, etc.).
2. El efecto adicional que produce la terminacin de la accin de un proceso. Por
ejemplo: Si un proceso termina de escribir, deben verificarse las colas de
lectura o escritura, para que los procesos en espera puedan realizar su funcin.
Proceso Accin que solicita el Resultado de solicitud/ Efecto
solicitante proceso de terminacin de Proceso
P1 Lectura P1-> Pasa a lectura, Lectores = 1

P2 Lectura P2-> Pasa a lectura, Lectores = 2

P3 Escritura P3-> Pasa a cola de escritura, Lectores = 2

P1 Terminar P1-> Terminado, Lectores = 1

P4 Escritura P4 -> Pasa a cola de escritura

P5 Lectura P5 -> Pasa a cola de lectura


P2 -> Terminado, Lectores = 0, P3 -> pasa a
P2 Terminar escritura

P3 Terminar P3 -> Terminado, P4 -> Pasa a escritura

P6 Lectura P6 -> Pasa a cola de lectura

P7 Lectura P7 -> Pasa a cola de lectura

P4 Terminar P4 -> Terminado, Lectores = 1

P8 Escritura P8 -> Pasa a cola de escritura

P6 Terminar P6 -> Terminado, Lectores = 1

P9 Lectura P9 -> Pasa a cola de lectura


P10 Escritura P10 -> Pasa a cola de escritura

P11 Lectura P11 -> Pasa a cola de lectura

Estado final de los procesos:

Procesos Terminados P1, P2, P3, P4, P6


Procesos que quedan leyendo P5, P7, P9
Procesos que quedan escribiendo Ninguno
Procesos en cola de lectura P11
Procesos en cola de escritura P8, P10
Conclusin
Gracias a la inhabilitacin de interrupciones se puede lograr una exitosa exclusin mutua, de esta
manera los procesos tienen asegurado en mayor medida que podrn entrar en algn momento a
su seccin critica.

El principal problema de esta que se enfoca en los sistemas de monoprocesador, ya que los
sistemas multiprocesadores no hay un mecanismo de interrupciones en el que se pueda basar la
exclusin mutua y sus procesos de escritura y lectura sobre la ejecucin de procesos.

Potrebbero piacerti anche