DIFERENCIAS ENTRE UN PROCESO Y UN HILO
Los hilos se distinguen de los tradicionales procesos en que los
procesos son generalmente independientes, llevan bastante información de
estados, e interactúan sólo a través de mecanismos
de comunicación dados por el sistema. Por otra parte, muchos hilos
generalmente comparten otros recursos directamente. En muchos de los
sistemas operativos que proveen facilidades para los hilos, es más
rápido cambiar de un hilo a otro dentro del mismo proceso, que cambiar
de un proceso a otro. Este fenómeno se debe a que los hilos
comparten datos y espacios de direcciones, mientras que los procesos al
ser independientes no lo hacen. Al cambiar de un proceso a otro el
sistema operativo (mediante el dispatcher) genera lo que se conoce como
overhead, que es tiempo desperdiciado por el procesador para realizar
un cambio de modo (mode switch),
en este caso pasar del estado de Running al estado de Waiting o
Bloqueado y colocar el nuevo proceso en Running. En los hilos como
pertenecen a un mismo proceso al realizar un cambio de hilo este
overhead es casi despreciable.
¿UN HILO PUEDE SER UN PROCESO?
Al igual que los procesos, los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos. Generalmente, cada hilo tiene una tarea específica y determinada, como forma de aumentar la eficiencia del uso del procesador.
¿ UN PROCESO PUEDE SER PARALELO?
El proceso paralelo sólo es posible si disponemos de varias unidades de proceso, generalmente núcleos o procesadores. Esto se debe a que los procesadores son secuenciales, esto es, ejecutan las órdenes una por una, y por tanto no pueden ejecutar dos a la vez.
¿ UN HILO PUEDE SER PARALELO?
Los hilos son básicamente una tarea que puede ser ejecutada en paralelo con otra tarea; teniendo en cuenta lo que es propio de cada hilo es el contador de programa, la pila de ejecucion y el estado de la CPU (incluyendo el valor de los registros).
REFERENCIA ELECTRONICA:
https://sistemasoper2.wordpress.com/2014/10/21/diferencias-entre-hilos-y-procesos/
https://www.fing.edu.uy/tecnoinf/mvd/cursos/so/material/teo/so05-hilos.pdf
https://sistemaoperativo.wikispaces.com/Hilos
¿UN HILO PUEDE SER UN PROCESO?
Al igual que los procesos, los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos. Generalmente, cada hilo tiene una tarea específica y determinada, como forma de aumentar la eficiencia del uso del procesador.
¿ UN PROCESO PUEDE SER PARALELO?
El proceso paralelo sólo es posible si disponemos de varias unidades de proceso, generalmente núcleos o procesadores. Esto se debe a que los procesadores son secuenciales, esto es, ejecutan las órdenes una por una, y por tanto no pueden ejecutar dos a la vez.
¿ UN HILO PUEDE SER PARALELO?
Los hilos son básicamente una tarea que puede ser ejecutada en paralelo con otra tarea; teniendo en cuenta lo que es propio de cada hilo es el contador de programa, la pila de ejecucion y el estado de la CPU (incluyendo el valor de los registros).
REFERENCIA ELECTRONICA:
https://sistemasoper2.wordpress.com/2014/10/21/diferencias-entre-hilos-y-procesos/
https://www.fing.edu.uy/tecnoinf/mvd/cursos/so/material/teo/so05-hilos.pdf
https://sistemaoperativo.wikispaces.com/Hilos