Sistemas operativos

Un proceso es un programa en ejecución junto con todos los recursos que necesita para funcionar (código, datos, memoria, CPU, archivos abiertos, etc.). 👉 El proceso es la unidad básica de trabajo para el sistema operativo.


🔹 Creación de procesos

Un proceso puede crearse de distintas formas:

  1. Inicio de programa por el usuario

    • Ejemplo: doble clic en Word → se crea un proceso Word.
  2. Llamada de un proceso padre

    • Un proceso puede generar procesos hijos.
    • Ejemplo: un navegador abre un nuevo proceso por cada pestaña.
  3. Procesos del sistema

    • Algunos procesos los crea el propio SO en el arranque (demonios en Linux, servicios en Windows).

👉 El SO mantiene una tabla de procesos (PCB, Process Control Block) con información de cada proceso: identificador, estado, memoria asignada, archivos abiertos, etc.


🔹 Estados de un proceso

Un proceso no siempre está ejecutándose. Puede pasar por distintos estados:

  1. Nuevo → el proceso está siendo creado.
  2. Listo (Ready) → está preparado para ejecutarse, esperando turno de CPU.
  3. Ejecución (Running) → está usando la CPU en ese momento.
  4. Bloqueado (Waiting) → está detenido temporalmente esperando un recurso (ej. lectura de disco).
  5. Terminado (Exit) → el proceso ha finalizado.

📌 El SO se encarga de mover los procesos de un estado a otro mediante planificación y cambio de contexto.


🔹 Finalización de procesos

Un proceso puede terminar por:

  1. Ejecución normal → completó su tarea.
  2. Finalización forzada → el usuario lo cierra (ej. "Finalizar tarea" en Windows).
  3. Error interno → falla por falta de memoria o división por cero.
  4. Eliminación por el sistema → el SO lo mata si afecta la estabilidad.

Cuando un proceso termina:

  • Se liberan sus recursos (CPU, memoria, archivos).
  • Su PCB se elimina de la tabla de procesos.
  • Si tenía procesos hijos, el SO puede eliminarlos también (dependiendo del diseño).

🔹 Ejemplo práctico

  • Abres Google Chrome → el SO crea un proceso y lo marca como Nuevo → Listo.
  • Al ejecutar, pasa a Running.
  • Si esperas que cargue una página, entra en Bloqueado hasta que llegan los datos de internet.
  • Cuando cierras Chrome, el proceso se termina y libera memoria.

📌 Resumen rápido

  • Proceso = programa en ejecución.
  • Se crea por el usuario, por otro proceso o por el SO.
  • Estados: Nuevo → Listo → Ejecución → Bloqueado → Terminado.
  • Se finaliza por ejecución normal, cierre manual, error o decisión del SO.
  • Loading...