Síntesis final
Material de estudio basado en la edición de 2014. Borrador pendiente de revisión editorial independiente.
Sintesis final del tema
La gestion de procesos es un componente fundamental de cualquier sistema operativo. Un proceso es un programa en ejecucion con recursos asignados, representado internamente por un bloque de control de procesos (PCB) que contiene toda la informacion necesaria para su gestion.
Los procesos pasan por diferentes estados a lo largo de su ciclo de vida: nuevo, listo, ejecutandose, esperando y terminado. El planificador del SO decide que proceso se ejecuta en cada momento mediante el algoritmo de planificacion.
La creacion de procesos se realiza en UNIX con fork() y exec(), mientras que en Windows se usa CreateProcess(). La herencia permite que los procesos hijos obtengan recursos de los padres, aunque la extendion de estos recursos varia entre sistemas operativos.
La sincronizacion entre procesos es necesaria para coordinar sus actividades y evitar conflictos. Mecanismos como semaforos, mutex y monitores permiten el acceso controlado a recursos compartidos.
Los flujos de ejecucion (threads) representan la unidad basica de planificacion en sistemas modernos. Permiten la concurrencia dentro de un solo proceso, compartiendo recursos pero manteniendo contextos de ejecucion independientes.
UNIX y Windows implementan estos conceptos de manera diferente pero con los mismos objetivos: gestionar eficientemente los recursos del sistema y proporcionar un entorno de ejecucion seguro y productivo.
Comprobacion final
- Explica que es un proceso y como se representa internamente con el PCB.
- Describe los cinco estados basicos de un proceso y las transiciones entre ellos.
- Diferencia la creacion de procesos en UNIX (fork/exec) y Windows (CreateProcess).
- Explica el concepto de herencia entre procesos y sus implicaciones.
- Describe los mecanismos de sincronizacion entre procesos.
- Diferencia procesos de hilos (threads) y explica las ventajas de estos ultimos.
- Enumera las principales llamadas al sistema para gestion de procesos en UNIX.