Procesos y Hilos en Sistemas Operativos: Conceptos Clave y Funcionamiento

Clasificado en Informática

Escrito el en español con un tamaño de 4,12 KB

Procesos

Un proceso es un programa en ejecución. Un mismo programa puede dar lugar a varios procesos. Cada proceso tiene asignado un número determinado de espacio, que será el que ocupe en memoria. Para el Sistema Operativo (SO), un proceso es:

  • Un conjunto de estructuras de datos a gestionar.
  • La ejecución de estos datos marcará la funcionalidad del sistema.

Tipos de Procesos

  • Proceso de usuario: Aquel creado por el sistema operativo para cumplir con el requisito de un usuario.
  • Proceso del sistema: Aquel que es propio del sistema operativo, cuya función es la de cumplimentar tareas básicas del mismo.

Hilos

  • Entidad mínima de trabajo a planificar.
  • Memoria de trabajo común.
  • Cada hilo posee información independiente.
  • Ejemplo: interfaz gráfica.

Interpretación de Hilos

  • Nivel Usuario: Administración por la aplicación.
  • Nivel Kernel: Administración por el kernel.

Para el Sistema Operativo

  • Encargado de manejar la creación de procesos.
  • Asignación de hilos.
  • Hacen de un proceso eficiente.

Hilos vs. Procesos

Veamos las diferencias clave entre hilos y procesos:

  • Conexión: Los hilos comparten información entre iguales, mientras que los procesos son independientes.
  • Contexto: Los hilos realizan cambios automáticos entre ellos, mientras que los procesos cambian por orden del planificador.
  • Ejecución: Los hilos son ligeros, mientras que los procesos son pesados.

Estados de un Proceso

En el estado No ejecución:

  • No ejecución - Ejecución: Una vez que la CPU ha quedado libre, el proceso pasa a ocupar todos los recursos.

En el estado Ejecución:

  • Ejecución - No ejecución: Cuando se está ejecutando el proceso, puede ocurrir una interrupción, produciéndose la transición de estado.

Modelo de 5 Estados

  • Nuevo: Cuando el proceso es creado, pero aún no admitido por el sistema.
  • Listo: Preparado para entrar en ejecución.
  • Ejecución: El proceso tiene el control de los recursos. A no ser que sea un sistema multiproceso, tan solo un proceso podrá estar en este estado.
  • Espera: Cuando se ha interrumpido la ejecución del proceso por algún motivo y está a la espera de que se le vuelvan a asignar recursos.
  • Terminado: El proceso ha sido ejecutado por completo y expulsado de la lista.

Ciclo de Vida de un Proceso

  • Instancia: Arranque del sistema, por petición del usuario o lanzado por otro proceso.
  • Ejecución: Una vez iniciado, realiza las instrucciones asociadas.
  • Terminación:
    • Normal: Termina las ejecuciones relacionadas.
    • Por error: Cuando intenta acceder a un dato que ya no existe en memoria.
    • Error fatal: Memoria inaccesible, excepción (acceso nulo, divisiones entre 0).
    • Por otro proceso: Un proceso acapara recursos y no deja terminar a otro.

Niveles de Planificación de Procesos

  • Nivel 0: Planificador
    • Nivel donde se ejecutan los algoritmos de planificación de procesos. Este nivel no es modificable en la administración de procesos.
  • Nivel 1: Sistemas Operativos
    • Nivel donde el Sistema Operativo en el cual corren los procesos es capaz de modificar algunas de sus propiedades. Un claro ejemplo es el tránsito de procesos entre memoria RAM y la partición SWAP.
  • Nivel 2: Ejecución
    • Nivel donde el usuario/administrador es capaz de modificar algunas de las propiedades del proceso. Por ejemplo, la prioridad de los procesos.

Entradas relacionadas: