
1. Sincronización de procesos
1.1. Comunicación entre procesos
1.2. Transmisión y recepción de señales
1.3. Procesos cooperativos
1.4. Coordinación
1.5. Mecanismos de sincronización
1.5.1. Semáforos
1.5.2. Señales
1.5.3. Tuberías
1.5.4. Mutex
1.5.5. Paso de mensajes
2. Semáforos
2.1. Herramienta de sincronización
2.2. Tipos
2.2.1. Binarios
2.2.1.1. Sólo tiene permitido tomar los valores 0 (ocupado) y 1 (libre)
2.2.1.2. Fáciles de utilziar
2.2.1.3. Sólo permite un hilo
2.2.1.4. Operaciones
2.2.1.4.1. TAKE
2.2.1.4.2. RELEASE
2.2.1.5. Dos procesos
2.2.2. Múltiples variables
2.2.2.1. Operaciones
2.2.2.1.1. WAIT
2.2.2.1.2. SIGNAL
2.2.2.2. Muchos procesos
3. Monitores
3.1. construcción del lenguaje de programación
3.2. están diseñados para resolver el problema de exclusión mutua
3.3. cuando un proceso llama a un procedimiento de monitor, las primeras instrucciones del procedimiento comprobarán si hay algún otro proceso activo en un momento dado dentro del monitor
4. Región crítica
4.1. porción de código de un programa de computador en la cual se accede a un recurso compartido que no debe ser accedido por mas de un proceso o hilo en ejecución
5. Bloqueos
5.1. Mecanismo de sincronización
5.2. Destinado a grupos de procesos
5.3. Es una barrera al final de cada fase de un proceso
5.4. Se bloquean las siguientes acciones a tomar si el proceso lo pide
6. Particiones
6.1. División lógica de una unidad física de almacenamiento
6.2. Tipos
6.2.1. Estáticas
6.2.1.1. Una partición fija para cada tarea
6.2.1.2. Ventajas
6.2.1.2.1. Simplicidad
6.2.1.2.2. Resolución de direcciones en tiempo de carga
6.2.1.2.3. Registro base (no requiere siquiera de un registro limite)
6.2.1.3. Desventajas
6.2.1.3.1. Grado de multiprocesamiento limitado
6.2.1.3.2. Rigidez
6.2.2. Dinámicas
6.2.2.1. Particiones variables en número y longitud
6.2.2.2. Ventajas
6.2.2.2.1. No existe fragmentación interna
6.2.2.3. Desventajas
6.2.2.3.1. Fragmentación externa, se debe compactar la memoria. El compactado toma tiempo
7. Fragmentación
7.1. memoria que queda desperdiciada al usar los métodos de gestión de memoria
8. Condensación
8.1. Unir todos los espacios libres en uno solo, para tener un espacio suficiente para que pueda entrar otro programa en memoria
9. Compactación
9.1. Desplazar todas las localizaciones de memoria ocupada a un extremo de la misma, así quedan dos partes bien diferenciadas, la memoria ocupada y la memoria libre
10. Paginación
10.1. los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas
10.2. Marcos de página
10.2.1. la memoria es dividida en trozos del mismo tamaño que las páginas