Creación y Terminación de Procesos en Sistemas Operativos

Posted by Mateo Romero Contreras on October 18, 2024 · 6 mins read

En la gestión de sistemas operativos, no solo es importante entender qué es un proceso y cómo se ejecuta, sino también cómo se crean y cómo terminan. Además, con el fin de gestionar más eficientemente los procesos, se utiliza el modelo de cinco estados, que extiende el concepto básico de dos estados (ejecutando y no ejecutando) para añadir más granularidad al control de procesos.

En este artículo, exploraremos cómo se crean y terminan los procesos, las razones detrás de estos eventos, y profundizaremos en el modelo de procesos de cinco estados, que proporciona una visión más detallada del ciclo de vida de un proceso.

Creación de procesos

La creación de un proceso en un sistema operativo implica varios pasos importantes:

  1. Construcción de estructuras de datos: El sistema operativo debe crear las estructuras de datos necesarias para manejar el proceso. Esto incluye el Bloque de Control de Proceso (BCP), que almacena toda la información relevante del proceso.
  2. Reserva de memoria: El sistema operativo asigna memoria para el proceso y sus datos.
  3. Asignación de recursos: El sistema asigna otros recursos como archivos abiertos o dispositivos de entrada/salida.

Razones para la creación de un proceso

Existen varias razones por las que se podría crear un proceso en un sistema operativo:

  • Nuevo lote de trabajo: El sistema operativo puede procesar un nuevo lote de trabajo cuando recibe comandos de control.
  • Sesión interactiva: Un usuario puede iniciar una sesión interactiva desde un terminal.
  • Creación interna del sistema: El sistema operativo puede crear un proceso para realizar una función interna, como controlar la impresión.
  • Creación de un proceso por otro proceso: Un proceso en ejecución puede solicitar la creación de otro proceso. Esto permite una mayor modularidad y paralelismo.

Ejemplos de creación de procesos

  1. Procesos en paralelo: Un proceso puede generar otro para procesar datos en paralelo. Esto es útil, por ejemplo, cuando una aplicación necesita organizar datos para análisis posterior mientras sigue ejecutando otras tareas.
  2. Servidor de impresión: Un servidor de impresoras puede generar un nuevo proceso para cada solicitud que maneje.

Terminación de procesos

Un proceso puede terminar por varias razones. Estas son algunas de las más comunes:

  • Finalización normal: El proceso completa su ejecución y realiza una llamada al sistema operativo para indicar su finalización.
  • Límite de tiempo excedido: El proceso ha superado el tiempo máximo permitido para su ejecución.
  • Memoria no disponible: El proceso requiere más memoria de la que el sistema puede proporcionar.
  • Violaciones de frontera: El proceso intenta acceder a una posición de memoria a la cual no tiene acceso permitido.
  • Error de protección: El proceso intenta usar un recurso sin los permisos necesarios, o de manera inapropiada (por ejemplo, escribir en un archivo de solo lectura).
  • Error aritmético: El proceso intenta realizar una operación aritmética no válida, como una división por cero.
  • Fallo de entrada/salida: Ocurre un error en la lectura o escritura de un archivo o dispositivo.
  • Instrucción no válida: El proceso intenta ejecutar una instrucción inexistente.

Modelo de procesos de cinco estados

El modelo de dos estados (ejecutando y no ejecutando) es útil, pero demasiado simple para capturar la realidad de la mayoría de los sistemas operativos. Por ello, se utiliza un modelo de cinco estados, que permite una visión más detallada del ciclo de vida de un proceso. Estos estados son:

  1. Nuevo: El proceso ha sido creado, pero aún no ha sido admitido en el grupo de procesos ejecutables por el sistema operativo. Esto suele ocurrir porque el proceso aún no ha sido cargado en la memoria principal, aunque ya se haya creado su BCP.
  2. Listo: El proceso está listo para ejecutarse, pero debe esperar hasta que el procesador esté disponible.
  3. Ejecución: El proceso está actualmente siendo ejecutado por el procesador.
  4. Bloqueado: El proceso no puede continuar ejecutándose hasta que ocurra un evento externo, como la finalización de una operación de entrada/salida.
  5. Saliente: El proceso ha finalizado su ejecución o ha sido abortado por alguna razón y está listo para ser removido del sistema.

Gestión de colas en el modelo de cinco estados

El sistema operativo gestiona los procesos mediante una cola. Cada proceso tiene un lugar en esta cola, y el activador del sistema selecciona los procesos de esta lista para ejecutarlos. La gestión de esta cola es crucial, ya que algunos procesos estarán bloqueados, esperando que se complete una operación de E/S, mientras que otros estarán listos para ejecutar.

El activador debe seleccionar cuidadosamente los procesos listos y darles el tiempo de ejecución adecuado, mientras que los procesos bloqueados deben ser gestionados hasta que el evento que están esperando ocurra.

Hemos explorado cómo se crean y terminan los procesos en un sistema operativo, y cómo el modelo de cinco estados ofrece una visión más detallada del ciclo de vida de un proceso. Este modelo permite gestionar procesos de manera más eficiente, asegurando que se asignen los recursos adecuados y que se minimicen los tiempos de espera.

En la próxima nota, discutiremos más a fondo los procesos suspendidos y cómo estos interactúan con los procesos activos en el sistema.