QUÉ ES UN HILO
Enviado por Erick1029384756 • 2 de Octubre de 2014 • Práctica o problema • 447 Palabras (2 Páginas) • 159 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
...