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.