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