You are on page 1of 5

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computacin Sistemas Operativos (6004)

Prctica #6

Sincronizacin y Exclusin Mutua Objetivos:


Analizar la concurrencia de procesos en sistemas multiprogramados y de multiprocesamiento. Analizar y aplicar mtodos para garantizar la exclusin mutua. Aplicar soluciones a situaciones donde se presentan problemas de concurrencia: exclusin mutua.

Conocimientos necesarios para desarrollar la prctica:


Conceptos: Seccin crtica. Sincronizacin. Exclusin mutua. Espera activa. Condiciones de competencia. Semforos: Binarios (mutex). Contadores. Algoritmos para garantizar la sincronizacin: Algoritmo de Dekker Algoritmo de Peterson. Problemas clsicos de sincronizacin de procesos: La cena de los filsofos. Productor-Consumidor. Lectores y escritores. El barbero dormido. Adicionalmente se necesita de los conocimientos desarrollados durante las prcticas 4 (Hilos) y 5 (Planificacin). Esto corresponde con el captulo 6 del libro de Silberschartz (Operating Systems Concepts); captulo 2 de los libros de Tanenbaum (Modern Operating Systems y Operating Systemas Designs and implementation); y el captulo 5 del libro de Stallings (Operating Systems: Internals and Design Principles). Para ms informacin consulten el cronograma general de la materia.

Semestre I-2011

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computacin Sistemas Operativos (6004)

Prctica #6

Preguntas:
. 1. Mostrar que en un semforo se puede violar la exclusin mutua si las operaciones de wait y signal no se ejecutan como acciones indivisibles. 2. El semforo elimina la espera activa porque: a. Se inicializa al nmero mximo de recursos que se comparten. b. Las operaciones wait y signal se implementan como acciones indivisibles. c. El semforo no elimina la espera activa. d. Se implementa con una cola de procesos a la cual se le aaden los procesos que estn en espera del recurso. 3. El segundo intento de exclusin mutua del Algoritmo de Dekker tiene alguna falla? En caso de ser afirmativa su respuesta, explquelas de forma detallada. 4. Considrese un sistema Master de cajeros automticos, el cul brinda a sus usuarios mltiples facilidades, como por ejemplo: a. Consultar el saldo disponible en una cuenta. b. Retirar efectivo de una cuenta. c. Depositar efectivo de una cuenta. Identifique la(s) seccin(es) crtica(s) y procesos que intervienen. Proponga una solucin utilizando semforos. 5. En un sistema OpenVMS se desea sincronizar el acceso a una base de datos entre una serie de procesos que efectan lecturas y escrituras en la misma. Existen mltiples procesos lectores, pero slo un proceso escritor. Para evitar que la informacin se corrompa o que se acceda a informacin inconsistente, el sistema debe cumplir los siguientes requisitos: a. En un momento dado, a la base de datos pueden acceder o bien un nmero indeterminado de procesos lectores, o bien el proceso escritor, pero no los dos tipos de procesos a la vez. b. Cuando el proceso escritor desee acceder a la base de datos, ningn proceso lector podr comenzar una nueva lectura. Por supuesto, el escritor esperar que terminen los posibles procesos que ya estuvieran usando la base de datos. c. Cuando un proceso lector desee acceder a la base de datos nicamente lo har si el proceso escritor no la est usando en esos momentos ni tampoco est esperando para acceder. En caso contrario, esperar. d. El sistema no tendrn esperas activas y los procesos podrn usar la base de datos tan pronto como sea posible, siempre que se cumplan las condiciones mencionadas anteriormente. Identifique el(los) recurso(s) crtico(s) y procesos que intervienen. Proponga una solucin, usando semforos, para sincronizar el acceso a la base de datos.

Semestre I-2011

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computacin Sistemas Operativos (6004)

Prctica #6

6. El funcionamiento de una notara digital es el siguiente: hay 3 Autoridades de Registro atendiendo concurrentemente a los clientes. Slo puede por tanto haber a la vez 3 clientes en la notara. Una vez verificada la documentacin a presentar, cada cliente debe pedir la consolidacin de la actuacin a la nica Autoridad de Certificacin. Como la autoridad de certificacin puede tardar, los clientes una vez dentro de la notara han de verificar si hay ya alguien siendo atendido por la autoridad de certificacin y adems hay otro esperando. En ese caso se abandona la notara sin proceder a la certificacin, aunque se hayan verificado los documentos en la autoridad de registro. Se pide: a. Escribir el cdigo que muestre el comportamiento de un cliente, utilizando para ello semforos. b. Cada semforo debe inicializarse. NOTA: Para realizar las operaciones mencionadas estn disponibles las siguientes funciones: verifica_documentacin() consolidar() 7. Luego de un estudio minucioso realizado por el conocido Dr. Leprechaun (experto en psicoanlisis) al estudiantado de la Facultad de Ciencias, ste ha determinado que los altos niveles de estrs son una caracterstica comn en casi la totalidad del universo analizado debido a innumerables estmulos: El exceso de trabajo, los frecuentes trasnochos, la agitada vida nocturna, etc. Por tal motivo, el Dr. Leprechaun propone que se habilite una sala dentro de la Facultad para la psicoterapia de grupo, de forma tal que los estudiantes reunidos puedan exponer sus angustias y divagaciones ante un psicoterapeuta, aliviando as el estrs que los afecta. El funcionamiento de la sala es como sigue: a. Siempre debe haber en la sala 1 psicoterapeuta por cada 3 estudiantes. Para ejemplificar la situacin, supngase que en la sala hay 3 estudiantes y 2 terapeutas, en este caso cualquiera de los 2 terapeutas puede salir, siempre y cuando uno de ellos permanezca en la sala atendiendo a los estudiantes. b. Los estudiantes pueden entrar a la sala solo si hay terapeutas disponibles. Por ejemplo, si en la sala hay 5 estudiantes y 2 terapeutas, solo 1 estudiante que desee entrar a la sala podr hacerlo, el resto debe esperar en una cola fuera de la sala. c. Los estudiantes permanecen en la sala un tiempo aleatorio y luego se marchan a seguir con sus obligaciones. d. Debido al carcter experimental de la sala, los terapeutas tambin llegan de forma aleatoria y no existe un nmero inicial determinado de terapeutas en la sala. e. La sala cuenta con una nica puerta por donde entran y salen tanto estudiantes como terapeutas. f. Asuma que la capacidad de la sala en cuestin es ilimitada.

Semestre I-2011

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computacin Sistemas Operativos (6004)

Prctica #6

Se desea que usted ayude al Dr. Leprechaun diseando cuidadosamente una solucin al problema antes planteado, que est exenta de interbloqueo y que sea lo ms eficiente posible, para ello se requiere que: Identifique los recursos crticos y procesos que intervienen. Implemente una solucin al problema anterior utilizando semforos, indicando detalladamente cuntos y cules semforos utilizar para resolver el problema y cul ser el valor inicial de cada uno. 8. Considere los siguientes procesos, donde inicialmente y=z=0 y ambas variables son compartidas por Proceso1 y Proceso2 Proceso 1 // cdigo de inicializacin Int x; x=y+z; z=2; // cdigo adicional Proceso2 // cdigo de inicializacin y=1; // cdigo adicional

Cules son los posibles valores finales de x? Es posible usando semforos, permitir solo dos valores para x? Es posible usando semforos, permitir un solo valor para x?

9. Considere los siguientes procesos: P1 print(R) print(OK) P2 print(I) print(OK) P3 print(O) print(OK)

Aada operaciones sobre semforos tal que: El resultado impreso sea R I O OK OK OK El valor final de los semforos sea igual al valor inicial de los semforos. 10. Santa Claus duerme en su tienda en el Polo Norte y slo puede ser despertado porque todos los nueve renos regresaron de sus vacaciones en el Pacifico Sur, o bien porque alguno de los duendes tienen dificultades haciendo juguetes. Para permitir que Santa pueda dormir algo, los duendes slo pueden despertarlo cuando tres de ellos tienen problemas. Cuando estos tres duendes han resuelto sus problemas, cualquier otro duende que desee visitar a Santa debe esperar a que regresen los primeros. Si Santa se despierta para encontrar tres duendes esperando en la puerta de su tienda, junto con el ltimo de los renos que regresa del trpico, Santa decide que los duendes pueden esperar hasta despus de Navidad, porque es ms importante tener el trineo listo. (Estamos asumiendo que los renos no quieren dejar el trpico y por lo tanto esperan hasta el ltimo momento para regresar). El ltimo reno que llega es el encargado de buscar a Santa, mientras los otros esperan en un cobertizo caliente antes de que sean amarados al trineo.

Semestre I-2011

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computacin Sistemas Operativos (6004)

Prctica #6

Identifique el(los) recurso(s) crtico(s) y procesos que intervienen. Proponga una solucin, usando semforos.

GDSO

Semestre I-2011

You might also like