QUÉ ES UN HILO
Erick1029384756Práctica o problema2 de Octubre de 2014
447 Palabras (2 Páginas)176 Visitas
¿QUÉ ES UN HILO?
Un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo.
La creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
¿QUÉ ES UN MULTIHILO?
Un programa multihilo contiene dos o más partes que se pueden ejecutar de manera concurrente o simultánea.
¿QUE ES UN SERVICIO POSIX?
POSIX (Interfaz de sistema operativo portable) es una librería que ase que los hilos funcionen
¿COMO ESTA COMPUESTOS LOS HILOS Y SERVICIOS POSIX?
• Los hilos por:
Área de pila
Contador de programas
Dispositivos de entrada y salida
Microprocesador
Espacios de memoria
Registros
• Servicios POSIX por:
Inicia un objeto atributo de tipo pthread_attr_t con las propiedades que tendrán los hilos que se creen posteriormente. los atributos permiten especificar tamaño de pila, prioridad, política de planificación, etc.
DA UN EJEMPLO RELACIONANDO LAS DEFINICIONES ANTERIORES
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
void *thread_function(void *arg) {
int i;
for ( i=0; i<20; i++ ) {
printf("Thread says hi!\n");
sleep(1);
}
return NULL;
}
int main(void) {
pthread_t mythread;
if ( pthread_create( &mythread, NULL, thread_function, NULL) ) {
printf("error creating thread.");
abort();
}
if ( pthread_join ( mythread, NULL ) ) {
printf("error joining thread.");
abort();
}
exit(0);
}
¿QUÉ PERMITEN HACER LOS HILOS EN UN SISTEMA?
En si los hilos permiten crear y terminar procesos, para poder darle el acceso a otros programas y permitir su ejecución.
APLICACIONES DE LOS HILOS
Aceleración de la ejecución.
Procesos en primer y segundo plano.
Procesos temporales autoguardados.
Estructura modular de los programas.
VENTAJAS Y DESVENTAJAS.
• VENTAJAS:
Velocidad acelerada en cuanto a creación de nuevos hilos.
Finalización más rápida de un hilo que de un proceso.
Transición más rápida entre un hilo a otro.
Aumentan la eficiencia en el proceso de comunicaciones entre procesos.
• DESVENTAJAS:
Los hilos se bloquean más fácilmente que un proceso.
No todos los sistemas reconocen la existencia de hilos.
Requiere de mayor espacio en el núcleo para las tablas y las pilas de hilos.
Todas las llamadas al sistema las maneja el núcleo y por lo tanto tiene un mayor costo para el.
UN CUADRO COMPARATIVO DE PROCESOS E HILOS
NOMBRE DESCRIPCION SIMILITUD DIFERENCIA
Proceso Programa en ejecución. Un proceso puede tener muchos grupos de hilos y estos son subprocesos que se realizan dentro del proceso. Un proceso no es un hilo es un conjunto de ellos.
Hilo Elemento de un proceso que realiza una accion. Es un subproceso que también necesita de los recursos del proceso. Un hilo funciona dependiente de un proceso.
...