1. Procesos
1.1. Tiene memoria propia para almacenar las posiciones del PC.
1.2. Bloque de control
1.2.1. Estado: Nuevo listo corriendo, en espera, concluido.
1.2.2. Pc:la siguiente instrucción para el proceso.
1.2.3. Registros: dependen de la arquitectura: acumuladores de índice, punteros de pilas y registros naturales
1.2.4. Información: prioridad y punteros a las colas según el estado.
1.2.5. Address space: Dirección base, limites de registros, tablas de paginación o segmento.
1.2.6. Contabilización de recursos: tiempo de Cpu, y tiempo real, limites de tiempo de uso numero de proceso.
1.2.7. I/O: lista de dispositivos asignados, archivos abiertos y otros.
1.3. Estado de almacenado
1.3.1. Estado almacenado - copia del PC y el contenido de los registros para el proceso
2. ¿Qué son?
2.1. Modelos para programación paralela aparte también pueden ser abstracciones para el control del flujo de ejecución.
3. Hilos
3.1. Modelo de hilos
3.1.1. Extensión al modelo de proceso
3.1.1.1. Más livianos, más rápidos, más flexibles.
3.1.1.2. Asignado a un recurso físico
3.1.1.3. Un proceso puede tener varios hilos que comparten el address space.
3.1.1.4. El overhead de crearlos no requiere mucha asignación de recursos.
3.1.2. Tipos de threads
3.1.2.1. A nivel de usuario
3.1.2.1.1. Manejados sin intervención del OS. No pueden ser mapeados a recursos físicos por el OS. Los threads se manejan a través del proceso
3.1.2.2. A nivel de kernel
3.1.2.2.1. Pueden ser vistos por el OS. Manejan operaciones de solicitud de I/O. Pueden asignarse a colas de ejecución.
3.1.3. Tipos de sincronía
3.1.3.1. Mutex
3.1.3.1.1. Permite acceso a variables compartidas. Un hilo toma el control de la variable y "excluye" a otros hilos mientras otros tienen el control. Ejecución secuencial
3.1.3.2. Semáforos
3.1.3.2.1. Permite el acceso a variables compartidas. Requiere una estructura de datos con un controlador. Los hilos se colocan en estado de espera.
3.1.3.3. Barreras
3.1.3.3.1. Control de ejecución de varios hilos. Los hilos esperan en la barrera mientras otros hilos. Permite controlar el acceso a una parte global del adrees space al sincronizar todas las acciones.
3.1.4. La ejecución de hilos paralelos en de un mismo proceso puede crear condiciones de competencia (race conditions). Un mecanismo de sincronía evita esta situación.