lunes, 11 de junio de 2018

procesos e hilos

¿Que es un Proceso?

En el ámbito de la informática, el concepto se refiere a la ejecución de diversas instrucciones por parte del microprocesador, de acuerdo a lo que indica un programa.


¿Que es un Hilo?

Un hilo en un sistema operativo es la caracterictica que permite a una aplicacion realizar varias tareas a la vez concurrentemente, los distintos hilos de ejecucion comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situacion de autentificacion. Esta accion permite simplificar el diseño de una aplicacion que debe llevar a cabo distintas funciones simultaneamente.


¿Cuales son las diferencias que existen entre un proceso y un hilo?

UN PROCESO es una entidad de ejecución independiente, donde, el sistema operativo, en el momento en que el proceso se lanza, proporciona un espacio de direcciones de memoria en los que el proceso puede ejecutarse. De esta manera, si el proceso intenta por algún motivo intencionalmente o no acceder a alguna dirección de memoria de otro proceso, el programa termina anormalmente con un ‘Segmentation fault’. En el momento en el que el proceso termina, el sistema operativo libera toda la memoria y todos los recursos (‘handles de archivos’, ‘handles de registros’, etc.) asignados al proceso. No hay forma directa de que un proceso pueda comunicarse con otro, así que si eso es lo que se requiere, se tiene que usar algún mecanismo de comunicación entre procesos (IPC).
LOS HILOS son entidades de ejecución independiente que viven dentro de los procesos y, por tanto, viven dentro del mismo espacio de direcciones de memoria que otros hilos, lo que permite acceder a cualquier dato dentro del mismo proceso. También la comunicación entre hilos es bastante sencilla pues basta con invocar a una función que se va a ejecutar en otro hilo. Aunque si bien esto de la comunicación parece ser una ventaja, en realidad es un arma de doble filo porque gracias a esas libertades, podemos caer, si no tenemos el suficiente cuidado, en problemas como condiciones de carrera o deadlocks.

¿Un hilo puede ser un proceso?

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar estos recursos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente. Por lo tanto, un hilo si es un proceso.

¿Un proceso puede ser en paralelo?

Un proceso paralelo es aquel que se realiza al mismo tiempo que otro, siendo ejecutados ambos de modo simultáneo. Cuando hablamos de procesos paralelos en un ordenador, nos referimos a aquellos procesos que se ejecutan y/o procesan a la vez, anteponiéndose a los procesos lineales o secuenciales, que serán ejecutados de uno en uno.

¿Un hilo puede ser en 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).



Fuente:
https://es.quora.com/Cu%C3%A1l-es-la-diferencia-entre-un-proceso-y-un-hilo
https://sistemaoperativo.wikispaces.com/Hilos
https://sistemas.com/proceso-paralelo.php
https://definicion.de/proceso-informatico/
https://es.wikipedia.org/wiki/Hilo_(inform%C3%A1tica)

No hay comentarios:

Publicar un comentario