Esquema de repaso
Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.
Esquema: La gestion de procesos
1. El proceso: un vistazo desde el interior del sistema
- 1.1. Los elementos de un proceso y su representacion
- PCB (bloque de control de procesos)
- Campos del PID, estado, contador de programa, registros, memoria, estadisticas, E/S, dominio de proteccion, planificacion
- 1.2. La ejecucion concurrente
- Multiplexion del tiempo de CPU
- Cuotas de ejecucion
- 1.3. Los estados de un proceso
- Estados: nuevo, listo, ejecutandose, esperando, terminado
- Diagrama de estados y transiciones
2. El ciclo de vida de un proceso
- 2.1. La creacion y la destruccion de procesos
- 2.1.1. Creacion de procesos
- fork() y exec() en UNIX
- CreateProcess() en Windows
- 2.1.2. Destruccion de procesos
- exit() y wait() en UNIX
- ExitProcess() y WaitForSingleObject() en Windows
- 2.1.1. Creacion de procesos
- 2.2. La herencia entre procesos
- Recursos heredados: archivos, directorio de trabajo, variables de entorno
- Diferencias entre UNIX y Windows
- 2.3. La sincronizacion y el estado de finalizacion
- 2.3.1. La sincronizacion
- Mecanismos: semaforos, mutex, monitores
- 2.3.2. El estado de finalizacion de los procesos
- Codigos de retorno y su interpretacion
- 2.3.1. La sincronizacion
- 2.4. Los cambios en el entorno de ejecucion
- 2.4.1. Cambio de imagen
- exec() en UNIX
- 2.4.2. Redireccionamientos de entrada/salida
- Descriptores de archivo en UNIX
- Handles en Windows
- 2.4.1. Cambio de imagen
3. Flujos de ejecucion (Threads)
- Concepto y ventajas sobre los procesos
- Hilos POSIX (pthreads)
- Funciones基本icas: pthread_create(), pthread_join(), pthread_exit()
4. Ejemplos de gestion de procesos
- 4.1. La gestion de procesos en UNIX
- 4.1.1. Creacion y destruccion
- 4.1.2. Cambios del entorno
- 4.1.3. Jerarquia de procesos
- 4.2. La gestion de procesos en Windows
- 4.2.1. Creacion y destruccion
- 4.2.2. Cambios del entorno
- 4.2.3. Jerarquia de procesos
5. Pthreads
- API de pthreads
- Creacion y gestion de hilos
- Sincronizacion entre hilos
Conclusiones
- La gestion de procesos es fundamental para el funcionamiento de cualquier SO
- Los conceptos de proceso, hilo y sincronizacion son esenciales para entender la concurrencia
- UNIX y Windows implementan estos conceptos de manera diferente pero con los mismos objetivos