¿Cuál es la diferencia entre un proceso y un hilo?

1. Diferentes funciones

Un proceso es la actividad de ejecución de un programa en un conjunto de datos en una computadora. Es la unidad básica de asignación y programación de recursos del sistema y la base de la estructura del sistema operativo.

Un hilo es la unidad más pequeña que el sistema operativo puede programar operaciones. Está incluido en el proceso y es la unidad operativa real en el proceso.

2. Diferentes principios de funcionamiento

En la arquitectura informática orientada a procesos temprana, el proceso es la entidad de ejecución básica del programa; en la arquitectura informática orientada a subprocesos contemporánea, el proceso; es el contenedor de hilos. Un programa es una descripción de instrucciones, datos y su organización, y un proceso es la entidad del programa.

Los subprocesos son la unidad básica de programación y despacho independientes. Los subprocesos pueden ser subprocesos del kernel programados por el kernel del sistema operativo, como subprocesos de usuario Win32 programados por el propio proceso del usuario, como subprocesos POSIX en plataformas Linux o procesos mixtos de kernel y usuario (como subprocesos de Windows 7); .

3. Diferentes funciones

Proceso es el concepto más básico e importante en el sistema operativo. Es un concepto introducido después de la aparición de los sistemas de programación múltiple. Su propósito es describir la situación dinámica en el sistema y las reglas de actividad de cada programa en el sistema. Todos los sistemas operativos multiprogramados se basan en procesos.

Por lo general, un proceso puede contener varios subprocesos, y estos subprocesos pueden utilizar los recursos que posee el proceso. En un sistema operativo con subprocesos, un proceso generalmente se considera la unidad básica para asignar recursos, mientras que un subproceso se considera la unidad básica para la ejecución y la programación independientes.

Datos ampliados

El proceso consta de un bloque de control de proceso, un segmento de programa y un segmento de datos. Un proceso puede contener varios subprocesos, y los subprocesos pueden ayudar a la aplicación a hacer varias cosas al mismo tiempo (por ejemplo, un subproceso escribe archivos en el disco y otro subproceso recibe las pulsaciones de teclas del usuario y responde a tiempo sin interferir entre sí).

Después de ejecutar el programa, lo primero que debe hacer el sistema es establecer un subproceso predeterminado para el proceso del programa, y ​​luego el programa puede agregar o eliminar subprocesos relacionados según sea necesario. Es un programa que se puede ejecutar al mismo tiempo.

El proceso que se ejecuta en el conjunto de datos es una unidad independiente del sistema para la asignación y programación de recursos, también llamada actividad, ruta o tarea. Tiene dos propiedades: vivacidad y concurrencia.

Los procesos se pueden dividir en tres estados: en ejecución, bloqueado y listo. Pueden transformarse entre sí bajo ciertas condiciones. listo para ejecutar, ejecutando bloqueado y bloqueado listo.

Un proceso es una instancia en ejecución de una aplicación y la ejecución dinámica de la aplicación. Parece profundo, pero podemos entenderlo simplemente como: es el programa de ejecución que actualmente ejecuta el sistema operativo.

Los programas de ejecución que se ejecutan actualmente en el sistema incluyen: programas necesarios para que el sistema administre una sola computadora y complete varias operaciones adicionales abiertas y ejecutadas por el usuario y, por supuesto, programas ilegales que realiza el usuario; No lo sabe y ejecuta automáticamente el programa (posiblemente un programa de virus).

Hilo de la Enciclopedia de Baidu

Proceso de la Enciclopedia de Baidu