Funcionamiento de Hilos y Procesos en Sistemas Operativos Modernos

Clasificado en Informática

Escrito el en español con un tamaño de 3,53 KB

Hilos en Sistemas Operativos

Los hilos son la unidad básica de utilización de la CPU. Se definen por su ID, un contador de programa, un conjunto de registros y una pila. Estos comparten con los hilos del mismo proceso el código, los datos y los recursos del SO (ficheros, E/S).

Ventajas de los hilos

  • Capacidad de respuesta: Permite que se continúe la ejecución de un programa aun cuando parte de él está bloqueado.
  • Compartición de recursos: Reducen significativamente el consumo de recursos del sistema.
  • Economía: Los cambios de contexto entre hilos son menos costosos que entre procesos.
  • Sistemas multinúcleo: El uso de hilos se potencia con CPUs multinúcleo, ejecutándose de forma paralela, mientras que un proceso pesado solo puede ejecutarse en un único núcleo a la vez.

Operaciones con procesos

Creación de procesos

Un proceso puede crear otros durante su ejecución mediante una llamada al sistema específica. El proceso creador se denomina "padre" y el creado "hijo". Los procesos creados pueden, a su vez, crear otros, dando lugar a una estructura denominada "árbol de procesos".

La creación de procesos en UNIX se basa en la generación de clones de un proceso. Los clones poseen una copia de los valores del padre; solo cambia su espacio de memoria y el identificador de proceso (PID). Todos los demás valores y punteros se copian íntegramente.

Los clones se crean mediante el comando fork(). Para lograr un comportamiento diferente, se ejecuta la llamada exec(), la cual sustituye los valores del proceso actual por los de uno nuevo.

Terminación de procesos

Un proceso termina cuando ejecuta su última instrucción y solicita al sistema que lo elimine utilizando la llamada exit(). En este punto, el SO libera la asignación de recursos, incluyendo la memoria, los archivos abiertos y los buffers.

Existen otras vías que llevan a la terminación de un proceso:

  • Un proceso padre puede solicitar explícitamente la finalización de un hijo.
  • En sistemas donde no se permite la existencia de procesos huérfanos, si el proceso padre termina, el sistema provoca una "terminación en cascada" de todos sus descendientes.

Criterios de planificación de la CPU

Los diferentes algoritmos de planificación poseen distintas propiedades, favoreciendo a una clase de procesos frente a otros. La comparación entre estos algoritmos se basa en los siguientes criterios:

  • Porcentaje de uso de CPU: Se busca maximizar el uso del procesador. Debería oscilar entre un 40% para un sistema ligeramente cargado y un 90% en casos de uso intenso.
  • Rendimiento: Se refiere al número de procesos completamente ejecutados por unidad de tiempo.
  • Tiempo de retorno: Es el tiempo transcurrido desde que el proceso es "admitido" hasta que es finalmente "terminado".
  • Tiempo de espera: Se define por la estancia en la cola de espera y el tiempo medio que el proceso permanece en ella.
  • Tiempo de respuesta: Es el tiempo transcurrido entre la admisión del proceso y la ejecución de su primera operación de salida.

Entradas relacionadas: