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.
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í. |