Procesos, estados, planificación, hilos y sincronización.
Fuente: Contenido general de Sistemas Operativos (no figura en los PDFs adjuntos).
Resumen estudiable
Programa y proceso
Un programa es una entidad pasiva (fichero con instrucciones); un proceso es un programa en ejecución: código, datos, pila, heap y estado de la CPU. El SO crea, planifica, suspende y termina procesos y les da la ilusión de tener una CPU propia (multitarea).
Estados de un proceso
- Nuevo → Listo → En ejecución → Terminado.
- Bloqueado (en espera): espera un evento (E/S). Al ocurrir, pasa a listo.
- Transiciones: el planificador elige un proceso listo (dispatch); si se agota su quantum vuelve a listo (expropiación); si pide E/S pasa a bloqueado.
PCB y cambio de contexto
El bloque de control de proceso (PCB) guarda PID, estado, PC y registros, información de memoria y de ficheros abiertos. El cambio de contexto guarda el PCB del proceso saliente y carga el del entrante: es trabajo no productivo (sobrecarga).
Planificación de la CPU
Criterios: utilización de la CPU, throughput, tiempos de espera, de respuesta y de retorno.
| Algoritmo | Idea | Observación |
|---|---|---|
| FCFS | Primero en llegar, primero servido | Simple; efecto convoy |
| SJF / SRTF | El más corto primero | Óptimo en espera media; puede haber inanición |
| Round Robin | Turnos de un quantum | Equitativo; ideal en tiempo compartido |
| Prioridades | Primero el de mayor prioridad | Inanición → envejecimiento |
Pueden ser apropiativos (el SO quita la CPU) o no apropiativos.
Hilos, sincronización e interbloqueo
- Hilo (thread): flujo de ejecución dentro de un proceso; los hilos comparten espacio de direcciones.
- Acceso concurrente a datos compartidos → condición de carrera; se protege la sección crítica con mutex o semáforos.
- Interbloqueo (deadlock): procesos bloqueados esperándose entre sí. Condiciones: exclusión mutua, retención y espera, no expropiación y espera circular.
- Comunicación entre procesos (IPC): memoria compartida, tuberías (pipes), mensajes.
Ponte a prueba: escribe tu respuesta
Sin mirar el resumen, desarrolla el tema como lo harías en el examen. La web cuenta tus palabras y detecta qué conceptos clave has incluido (es una ayuda orientativa: lo que importa es que entiendas y relaciones).
Respuesta modelo (≈170 palabras)
Ver respuesta modelo (inténtalo antes)
Un proceso es un programa en ejecución, con su código, datos, pila y estado de CPU, y la gestión de procesos es la función del sistema operativo que los crea, planifica y finaliza para conseguir la multitarea. Cada proceso pasa por varios estados: nuevo, listo, en ejecución, bloqueado (esperando E/S) y terminado. El SO guarda su información en el bloque de control de proceso (PCB) y, al cambiar de proceso, realiza un cambio de contexto.
El planificador decide qué proceso listo usa la CPU según algoritmos como FCFS, SJF, Round Robin (con quantum) o por prioridades, buscando maximizar la utilización de la CPU y minimizar los tiempos de espera y respuesta. Pueden ser apropiativos o no.
Un proceso puede tener varios hilos que comparten memoria; para evitar condiciones de carrera se usa sincronización (mutex, semáforos). Un mal uso puede provocar interbloqueo (deadlock). Los procesos se comunican mediante tuberías, memoria compartida o mensajes.
Conecta con otros temas
Relacionar conceptos es lo que más puntúa. Piensa cómo se enlaza este tema con:
- Gestión de memoria por parte del sistema operativo
- Características y tipos de sistemas operativos; funciones de un sistema operativo
Quiz
Las opciones se barajan cada vez; repite el quiz hasta que no falles ninguna.