Diferencia entre proceso y subproceso – Part 1

Proceso: Los procesos son básicamente los programas que se envían desde el estado listo y se programan en la CPU para su ejecución. PCB ( Bloque de control de proceso ) contiene el concepto de proceso. Un proceso puede crear otros procesos que se conocen como procesos secundarios. El proceso tarda más en terminar y está aislado, lo que significa que no comparte la memoria con ningún otro proceso. 

El proceso puede tener los siguientes estados : nuevo, listo, en ejecución, en espera, finalizado y suspendido. 

Subproceso: el subproceso es el segmento de un proceso, lo que significa que un proceso puede tener múltiples subprocesos y estos múltiples subprocesos están contenidos dentro de un proceso. Un subproceso tiene tres estados: En ejecución, Listo y Bloqueado. 

El subproceso tarda menos tiempo en terminar en comparación con el proceso pero, a diferencia del proceso, los subprocesos no se aíslan. 

Process vs Thread

Proceso vs Hilo

Diferencia entre proceso y subproceso: 

S.NO Proceso Hilo
1. Proceso significa que cualquier programa está en ejecución. Thread significa un segmento de un proceso.
2. El proceso toma más tiempo para terminar. El subproceso tarda menos tiempo en terminar.
3. Se necesita más tiempo para la creación. Se necesita menos tiempo para la creación.
4. También lleva más tiempo cambiar de contexto. Se necesita menos tiempo para cambiar de contexto.
5. El proceso es menos eficiente en términos de comunicación. Thread es más eficiente en términos de comunicación.
6.  La multiprogramación contiene los conceptos de multiproceso. No necesitamos múltiples programas en acción para múltiples subprocesos porque un solo proceso consta de múltiples subprocesos.
7. El proceso es aislado. Los hilos comparten memoria.
8. El proceso se llama el proceso de peso pesado. Un subproceso es liviano ya que cada subproceso en un proceso comparte código, datos y recursos.
9. La conmutación de procesos utiliza una interfaz en un sistema operativo. El cambio de subprocesos no requiere llamar a un sistema operativo y provoca una interrupción en el kernel.
10 Si un proceso está bloqueado, no afectará la ejecución de otros procesos.  Si un subproceso de nivel de usuario está bloqueado, todos los demás subprocesos de nivel de usuario están bloqueados. 
11 El proceso tiene su propio bloque de control de procesos, pila y espacio de direcciones. El subproceso tiene la PCB de los padres, su propio bloque de control de subprocesos y una pila y un espacio de direcciones común.
12 Los cambios en el proceso principal no afectan a los procesos secundarios. Dado que todos los subprocesos del mismo proceso comparten espacio de direcciones y otros recursos, cualquier cambio en el subproceso principal puede afectar el comportamiento de los otros subprocesos del proceso.
13 Una llamada al sistema está involucrada en él. No se trata de una llamada al sistema, se crea mediante API.
14 El proceso no comparte datos entre sí. Los hilos comparten datos entre sí.

Publicación traducida automáticamente

Artículo escrito por MKS075 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *