ScholarGate
Asistente

Gestión de Procesos e Hilos

La gestión de procesos e hilos es la forma en que el sistema operativo crea, programa y elimina unidades de ejecución —procesos con sus propios espacios de direcciones e hilos que comparten uno— y alterna el procesador entre ellos.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

La gestión de procesos e hilos comprende los mecanismos del sistema operativo que representan los programas en ejecución como procesos e hilos, mantienen su estado de ejecución, los crean y terminan, y alternan el procesador entre ellos mientras preservan y restauran sus contextos.

Scope

Este tema abarca la abstracción de procesos y su ciclo de vida, el bloque de control de procesos, la creación y terminación de procesos, los hilos y los modelos de multiprocesamiento, el cambio de contexto y la comunicación entre procesos. Excluye la política de qué tarea lista se ejecuta a continuación (planificación de la CPU) y la coordinación de datos compartidos (concurrencia, tratada en sistemas operativos en general), centrándose en las estructuras que representan y gestionan la ejecución.

Core questions

  • ¿Qué estado debe mantener el sistema operativo para cada proceso e hilo?
  • ¿Cómo se crean los procesos y en qué se diferencian los hilos de los procesos?
  • ¿Qué sucede durante un cambio de contexto y cuál es su costo?
  • ¿Cómo se comunican y coordinan los procesos a través de los espacios de direcciones?

Key concepts

  • proceso y bloque de control de proceso
  • estados y ciclo de vida del proceso
  • hilo y multiprocesamiento
  • hilos a nivel de usuario vs. hilos a nivel de kernel
  • cambio de contexto
  • fork y exec
  • comunicación entre procesos
  • aislamiento de procesos

Key theories

Abstracción de procesos
El sistema operativo representa cada programa en ejecución como un proceso con su propio espacio de direcciones y un contexto de ejecución almacenado en un bloque de control de proceso, lo que permite el aislamiento, la planificación y el uso compartido controlado del procesador.

Mechanisms

Cada proceso se describe mediante un bloque de control de proceso que contiene sus registros, asignaciones de memoria, archivos abiertos y estado de planificación. El sistema crea procesos (por ejemplo, mediante fork y exec), los transiciona a través de estados (nuevo, listo, en ejecución, esperando, terminado) y alterna entre ellos guardando un contexto y restaurando otro. Los hilos comparten el espacio de direcciones de su proceso, lo que hace que el cambio sea más económico pero requiere sincronización; la comunicación entre procesos utiliza tuberías (pipes), mensajes o memoria compartida.

Clinical relevance

La gestión de procesos e hilos subyace a la multitarea en todos los sistemas modernos. El aislamiento de procesos es una piedra angular de la seguridad y la estabilidad, los hilos permiten aplicaciones receptivas y paralelas, y el costo del cambio de contexto y la comunicación entre procesos da forma al diseño de servidores, entornos de ejecución y software concurrente.

History

El concepto de proceso maduró con los sistemas de multiprogramación y tiempo compartido en la década de 1960, y UNIX estableció el modelo fork/exec y la abstracción de procesos ampliamente utilizada hoy en día. Se agregaron hilos para explotar los multiprocesadores y mejorar la capacidad de respuesta, con estándares como los hilos POSIX que formalizan el enhebrado visible para el usuario.

Debates

Hilos a nivel de usuario versus hilos a nivel de kernel
Los hilos a nivel de usuario son económicos de gestionar, pero no pueden programarse de forma independiente entre núcleos y bloquean todo el proceso en una llamada bloqueante, mientras que los hilos a nivel de kernel se integran con el planificador con una sobrecarga mayor; los modelos híbridos intentan combinar los beneficios.

Key figures

  • Ken Thompson
  • Dennis Ritchie
  • Per Brinch Hansen
  • Abraham Silberschatz
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • silberschatz2018
  • tanenbaum2014os

Frequently asked questions

¿Qué información mantiene el sistema operativo para cada proceso?
Mantiene un bloque de control de proceso que registra los registros guardados y el contador de programa del proceso, las asignaciones de memoria, el estado y la prioridad de planificación, los archivos abiertos y la información de contabilidad e identidad; todo lo necesario para suspender el proceso y luego reanudarlo exactamente donde lo dejó.
¿Por qué es más económico cambiar entre hilos que entre procesos?
Los hilos dentro de un proceso comparten el mismo espacio de direcciones y recursos, por lo que el cambio entre ellos no requiere cambiar las asignaciones de memoria. El cambio entre procesos también cambia los espacios de direcciones y puede vaciar las cachés de traducción, lo que lo hace más costoso.

Methods for this concept

Related concepts