Un programa es un conjunto de instrucciones que tiene como objetivo realizar tareas específicas. Por lo tanto, un programa es una entidad pasiva.
Un programa que se está ejecutando (bajo acción) se llama proceso .
Así, un proceso es una entidad activa. Cuando se ejecuta un programa, puede contener varios subprocesos que se ejecutan en consecuencia. En los procesos de un solo subproceso, el subproceso mismo es el proceso. Mientras que en los procesos de subprocesos múltiples, necesitamos cambiar entre diferentes subprocesos para la ejecución de nuestro programa.
1. Cambio de hilo :
el cambio de hilo es un tipo de cambio de contexto de un hilo a otro hilo en el mismo proceso. El cambio de subprocesos es muy eficiente y mucho más económico porque implica cambiar solo identidades y recursos, como el contador del programa, los registros y los punteros de pila. El costo de la conmutación de hilo a hilo es casi el mismo que el costo de entrar y salir del kernel.
2. Cambio de proceso :
el cambio de proceso es un tipo de cambio de contexto en el que cambiamos un proceso con otro proceso. Implica cambiar todos los recursos del proceso por los que necesita un nuevo proceso. Esto significa cambiar el espacio de direcciones de la memoria. Esto incluye direcciones de memoria, tablas de páginas y recursos del kernel, cachés en el procesador.
Diferencia entre el cambio de contexto de hilo y el cambio de contexto de proceso:
No. | Cambio de contexto de subproceso | Cambio de contexto de proceso |
---|---|---|
1. | TCS ocurre cuando la CPU guarda el estado actual del hilo y cambia a otro hilo del mismo proceso. | PCS ocurre cuando el planificador del sistema operativo guarda el estado actual del programa en ejecución (incluido el estado de la PCB) y cambia a otro programa. |
2. | TCS ayuda a la CPU a manejar múltiples subprocesos simultáneamente. | PCS implica la carga de los estados del nuevo programa para su ejecución. |
3. | TCS no implica el cambio de espacios de direcciones de memoria. Todas las direcciones de memoria que las cuentas del procesador permanecen guardadas. | PCS implica el cambio de espacios de direcciones de memoria. Todas las direcciones de memoria que cuenta el procesador se vacían. |
4. | La memoria caché del procesador y el búfer de búsqueda de traducción conservan su estado. | La memoria caché del procesador y el TLB se vacían. |
5. | Aunque TCS implica el cambio de registros y punteros de pila, no permite el costo de cambiar el espacio de direcciones. Por lo tanto, es más eficiente. | PCS implica el alto costo de cambiar el espacio de direcciones. Por lo tanto, es menos eficiente. |
6. | TCS es un poco más rápido y más barato. | PCS es relativamente más lento y costoso. |
Publicación traducida automáticamente
Artículo escrito por alwareadit y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA