Sei sulla pagina 1di 24

HILOS

MGs. Johana Trejo A.


Hilos(threads)
En este contexto, un proceso recibe el nombre de
proceso pesado, mientras que un hilo recibe el nombre
de proceso ligero.
El trmino hilo se refiere sintctica y semnticamente
a hilos de ejecucin.
Hilos(threads)
En Sistemas Operativos, un hilo de ejecucin, hebra
o subproceso es la unidad de procesamiento ms
pequea que puede ser planificada por un sistema
operativo.
Los hilos de ejecucin que comparten los mismos
recursos, sumados a estos recursos, son en conjunto
conocidos como un proceso.
Hilos(threads)
Un Hilo o proceso ligero o contexto de ejecucin es la
unidad bsica de utilizacin del CPU; consiste de:
Contador de programa
Conjunto de registro
Espacio de stack
Estado de un hilo en ejecucin
Hilos(threads)
Un hilo comparte con sus Hilos pares:
Seccin de cdigo
Seccin de cdigo
Recursos del Sistema Operativo
En conjunto se lo conoce como tarea

Un proceso tradicional o pesado, es igual a una tarea con


un hilo.
Hilos y procesos
Procesos con un solo hilo o
mltiples hilos
Hilos
En una tarea donde hay mltiples hilos, mientras un
hilo servidor est bloqueado y esperando, otro hilo en
la misma tarea puede ejecutarse.
Cooperacin de mltiples hilos en la misma tarea
aumenta la tasa de trabajos por unidad de tiempo y
mejorar el rendimiento.
Aplicaciones que requieren compartir un buffer comn
sacan provecho de la utilizacin de hilos.
Los hilos proveen mecanismos que permiten a procesos
secuenciales hacer llamadas bloqueantes mientras otros
en paralelo ejecutan otras operaciones.
Beneficios

Comparticin de recursos
Economa
Utilizacin de Arquitecturas de mltiples procesadores
Multihilos

El trmino multihilo hace referencia a la capacidad de


un SO para mantener varios hilos de ejecucin dentro
del mismo proceso.
Sistema Operativo que mantiene varios hilos de
ejecucin dentro de un mismo proceso.
MS-DOS soporta un solo hilo
Unix soporta mltiples procesos de usuario, pero solo un
hilo por proceso.
Windows 2000,Solaris,Linux, Mac OS, soportan
mltiples hilos.
Modelos de proceso con un solo
hilo y de muchos hilos
MMU (Memory Management Unit)
La unidad de gestin de memoria, unidad de
administracin de memoria o unidad de manejo de
memoria (del ingls Memory Management Unit,
MMU) es un dispositivo de hadware formado por un
grupo de circuitos integrados, responsable del manejo
de los accesos a la memoria por parte de la CPU o
procesador.
Entre las funciones de este dispositivo se encuentran la
traduccin de las direcciones lgicas (o virtuales) a
direcciones fsicas (o reales), la proteccin de la
memoria, el control de cach.
(TLB) Translation Lookaside Buffer
Es una memoria cach administrada por la MMU, que
contiene partes de la tabla de paginacin, es decir,
relaciones entre direcciones lgicas y fsicas.
Posee un nmero fijo de entradas y se utiliza para obtener
la traduccin rpida de direcciones.
Si no existe una entrada buscada, se deber revisar la tabla
de paginacin y tardar varios ciclos ms, sobre todo si la
pgina que contiene la direccin buscada no est en
memoria primaria .
Si en la tabla de paginacin no se encuentra la direccin
buscada, saltar una interrupcin conocida como fallo de
pagina.
Direcciones Lgicas y Fsicas
Direccin Lgica: generada por el CPU, tambin
llamada direccin virtual.
Direccin Fsica: direccin vista por la unidad de
memoria.
Direcciones lgicas y fsicas son las mismas en los
esquemas de tiempo de compilacin y tiempo de carga;
difieren en el esquema de tiempo de ejecucin.
IPC (Inter-Process Communication)
La comunicacin entre procesos es una funcin bsica
de los sistemas operativos que provee un mecanismo
que permite a los procesos comunicarse y
sincronizarse entre s, normalmente a travs de un
sistema de bajo nivel de paso de mensajes que ofrece la
red subyacente.
IPC (Inter-Process Communication)

Las tcnicas de IPC estn divididas dentro de mtodos


para: paso de mensajes, sincronizacin, memoria
compartida y llamadas de procedimientos remotos
(RPC).
IPC (Inter-Process Communication)
Mtodos para implementar Hilos
Biblioteca de hilos a nivel de usuario
Biblioteca de hilos a nivel de Kernel
Hilos a nivel de usuario
El manejo de hilos lo hace una librera de hilos a nivel
de usuario.
Ejemplo:
Hilos POSIX
Mach C- threads
Hilo de solaris
Hilos a nivel de usuario
(un CPU con dos ncleos)
Multiprocesos vs multihilos
Multiprocesos vs multihilos

Potrebbero piacerti anche