2.5.3 OS/Concurrencia. (6 horas)
Tópicos
- Estados y diagramas de estados.
- Estructuras (lista de procesos listos para ejecución, bloques de control de procesos, etc).
- Despachos y cambio de contexto.
- El rol de las interrupciones.
- Ejecución concurrente: ventajas y desventajas.
- El problema de exclusión mutua y algunas soluciones.
- (Deadlock): causas, condiciones y prevención.
- Modelos y mecanismos de sincronización (semáforos, monitores, variables de condición y punto de encuentro rendezvous).
- Problemas del productor-consumidor y sincronización.
- Problemas de multiprocesamiento (Spin-Locks, reentrada).
Objetivos
- Describir la necesidad de la concurrencia dentro de la estructura de un sistema operativo.
- Demostrar los problemas potenciales en tiempo de ejecución originados por la operación concurrente de muchas tareas separadas.
- Resumir la gama de mecanismos que pueden ser empleados en el nivel de sistemas operativos para entender los sistemas concurrentes y describir los beneficios de cada uno.
- Explicar los diferentes estados que una tarea podría atravesar y las estructuras de datos necesarias para soportar la administración de muchas tareas.
- Listar los diferentes métodos para resolver el problema de la exclusión mutua en un sistema operativo.
- Describir las razones por las cuales utilizar interrupciones, despachos y cambio de contexto para soportar la concurrencia en un sistema operativo.
- Crear estados y diagramas de transición para el dominio de problemas simples.
- Discutir la utilidad de estructuras de datos, tales como pilas y colas en el manejo de concurrencia.
- Explicar las condiciones que nos conducen al Deadlock.
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, Universidad Católica San Pablo, Arequipa-Peru
basado en el modelo de la Computing Curricula de IEEE-CS/ACM