Control de Concurrencia
Nahun MuñozTarea4 de Noviembre de 2018
4.425 Palabras (18 Páginas)208 Visitas
[pic 1][pic 2]
Universidad Tecnológica de Honduras
Campus Santa Bárbara
Asignatura:
Sistemas Operativos
Catedrático:
Hector Antonio Castillo Cruz
Alumno:
201710050045
Nahun Edgardo Muñoz Sabillon
Tema:
Control de Concurrencia
25 de Febrero del 2018
Contenido
INTRODUCCION - 3 -
MÓDULO 04: CONTROL DE CONCURRENCIA - 4 -
CONTROL DE LECTURA - 4 -
1- Explique con ejemplos, el concepto de excusión mutua - 4 -
2- Defina cada uno de los siguientes conceptos relacionados con el control de concurrencia: - 5 -
3- Explique ampliamente el concepto y forma de implementación de monitores en sistemas operativos. - 5 -
4- Explique cuáles son las tareas de gestión y diseño de sistema operativo que surgen por causa de la concurrencia. - 6 -
6- ¿Cuáles son los requisitos que debe cumplir cualquier mecanismo o técnica que proporcione exclusión mutua? - 7 -
7- Explique con ejemplos, el concepto de interbloqueo. - 7 -
8- Explique ampliamente el concepto y forma de implementación de semáforos en sistemas operativos. - 8 -
9- Explique, con ejemplos, los conceptos de detección, prevención y predicción de interbloqueo. - 8 -
10- Explique con ejemplos, el concepto de inanición. - 9 -
11- Haga un comparativo de las ventajas y desventajas de las tres estrategias para el tratamiento del interbloqueo (detección, prevención y predicción de interbloqueo). - 10 -
CONTROL DE LECTURA LIBRO - 11 -
CUESTIONES DE REPASO CAPITULO V - 11 -
5.1. Enumere cuatro aspectos de diseño para los cuales el concepto de concurrencia es relevante. - 11 -
5.2. ¿En qué tres contextos aparecen la concurrencia? - 11 -
5.3. ¿Cuál es el requisito básico para la ejecución de procesos concurrentes? - 11 -
5.4. Enumere tres grados de percepción entre procesos y defina brevemente cada uno. - 11 -
5.5 ¿Cuál es la diferencia entre procesos en competencia y procesos cooperantes? - 12 -
5.6. Enumere los tres problemas de control asociados con los procesos en competencia y defina brevemente cada uno. - 12 -
5.7. Enumere las condiciones necesarias para la exclusión mutua. - 12 -
5.8. ¿Qué operaciones pueden ser realizadas sobre un semáforo? - 13 -
5.9. ¿Cuál es la diferencia entre semáforos binarios y semáforos generales? - 13 -
5.10. ¿Cuál es la diferencia entre semáforos fuertes y semáforos débiles? - 13 -
5.11. ¿Qué es un monitor? - 13 -
5.12. ¿Cuál es la diferencia entre bloqueante y no bloqueante con respecto a los mensajes? - 13 -
5.13. ¿Qué condiciones están asociadas generalmente con el problema lectores/escritores? - 13 -
CUESTIONES DE REPASO CAPITULO VI - 14 -
6.1. Cite ejemplos de recursos reutilizables y consumibles. - 14 -
6.2. ¿Cuáles son las tres condiciones que deben cumplirse para que sea posible un interbloqueo? - 14 -
6.3. ¿Cuáles son las cuatro condiciones que producen un interbloqueo? - 14 -
6.4. ¿Cómo se puede prever la condición de retención y espera? - 14 -
6.5. Enumere dos maneras cómo se puede prever la condición de sin expropiación. - 15 -
6.6. ¿Cómo se puede prever la condición de espera circular? - 15 -
6.7. ¿Cuál es la diferencia entre predicción, detección y prevención del interbloqueo? - 15 -
CONCLUSION - 16 -
BIBLIOGRAFIA - 17 -
INTRODUCCION
En el presente informe, se encuentra desarrollados el control de lectura del modulo 4 Control de Concurrencia, el cual fue abordado en una serie de preguntas las cuales están detalladas claramente dentro de este informe, también se encuentra desarrolladas las cuestiones de Repaso correspondientes al capítulo 5 y al capítulo 6 del Libro de “Sistemas operativos Aspectos internos y principios de diseño, Quinta Edición -WILLIAM STALLINGS-”.
MÓDULO 04: CONTROL DE CONCURRENCIA
CONTROL DE LECTURA
1- Explique con ejemplos, el concepto de excusión mutua
Los algoritmos de exclusión mutua (comúnmente abreviada como mutex por mutual exclusion) se usan en programación concurrente para evitar el ingreso a sus secciones críticas por más de un proceso a la vez. La sección crítica es el fragmento de código donde puede modificarse un recurso compartido.
El algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mutua, que permite a dos procesos o hilos de ejecución compartir un recurso sin conflictos. Si ambos procesos intentan acceder a la sección crítica simultáneamente, el algoritmo elige un proceso según una variable de turno. Si el otro proceso está ejecutando en su sección crítica, deberá esperar su finalización
[pic 3]
El algoritmo de Peterson, también conocido como solución de Peterson,1 es un algoritmo de programación concurrente para exclusión mutua, que permite a dos o más procesos o hilos de ejecución compartir un recurso sin conflictos, utilizando sólo memoria compartida para la comunicación.
[pic 4]
2- Defina cada uno de los siguientes conceptos relacionados con el control de concurrencia:
Sección crítica recursos (critical section): Sección de código dentro de un proceso que requiere acceso a compartidos y que no puede ser ejecutada mientras otro proceso esté en una sección de código correspondiente.
interbloqueo (deadlock): 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 (livelock): Situación en la cual dos o más procesos cambian continuamente su estado en respuesta a cambios en los otros procesos, sin realizar ningún trabajo útil.
exclusión mutua (mutual exclusion): Requisito de que cuando un proceso esté en una sección crítica que accede a recursos compartidos, ningún otro proceso pueda estar en una sección crítica que acceda a ninguno de esos recursos compartidos.
inanición (starvation): 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
3- Explique ampliamente el concepto y forma de implementación de monitores en sistemas operativos.
Un monitor es un mecanismo de software para control de concurrencia que contiene los datos y los procedimientos necesarios para realizar la asignación de un determinado recurso o grupo de recursos compartidos reutilizables en serie.
• Un monitor se usa para manejar todas las funciones de concurrencia, comunicación entre procesos y localización física de recursos en una región crítica.
• Para llevar a cabo la asignación de un recurso un proceso debe llamar a una función particular del monitor. Pueden existir varios procesos que deseen entrar al monitor, pero la exclusión mutua queda definida por la frontera del monitor: en un tiempo dado sólo un proceso se encuentra dentro del monitor.
aplicación de monitores
Productor/consumidor con un buffer circular. Los sistemas operativos conceden algunas veces una cantidad fija de memoria para las comunicaciones a través del buffer entre los procesos consumidor y productor. Esto se puede simular por un arreglo de tamaño fijo. El productor deposita los datos en los elementos sucesivos del arreglo. El consumidor los quita en el orden que fueron depositados.
El productor puede ir varios pasos adelante del consumidor. El productor llenará el último elemento del arreglo. Cuando produce más datos, tiene que regresar y continuar a depositar de nuevo datos en el primer elemento del arreglo (suponiendo que el consumidor haya retirado los datos previamente depositados allí por el productor), de esta forma, el arreglo se cierra en círculo. El buffer circular es apropiado para implementar el control del spool en los sistemas operativos.
[pic 5]
4- Explique cuáles son las tareas de gestión y diseño de sistema operativo que surgen por causa de la concurrencia.
Elementos de gestión y diseño que surgen por causa de la concurrencia:
...