ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

SISTEMAS OPERATIVOS


Enviado por   •  27 de Septiembre de 2013  •  Tesis  •  601 Palabras (3 Páginas)  •  393 Visitas

Página 1 de 3

CENTRO DE ENSEÑANZA TÉCNICA Y SUPERIOR

ESCUELA DE INGENIERIA

MATERIA: SISTEMAS OPERATIVOS.

INVESTIGACIÓN:

• IMPLEMENTACIÓN DE HILOS.

• CONSIDERACIONES DE CONVERSIÓN DE CÓDIGO DE HILADO.SIMPLE Y MULTIHILADO.

PRESENTA:

MARTIN ALFONSO CAMACHO DELGADO 7777

ENSENADA, B.C 27 DE SEPTIEMBRE DE 2013

1. Implementación de hilos.

a. En el espacio de usuario.

Colocar el paquete de hilos dentro del espacio de usuario, de esta manera el kernel no sabe nada acerca del paquete de hilos, sino que para él sólo administra procesos ordinarios de un solo hilo. Este modo se usa para sistemas operativos que aceptan solo un hilo.

Cada proceso necesita su tabla de hilos que lleva la cuenta de las propiedades de cada hilo, las cuales se guardan cuando un hilo pasa del estado de ejecución a listo o bloqueado. Al momento de que un hilo se puede bloquear manda llamar un proceso en tiempo de ejecución para que compruebe si debe bloquearse o no, si es así, le guarda las propiedades del hilo en la tabla de hilos y ejecuta el que sigue. Usar el thread_yield (ceder el control a otro hilo mientras este bloqueado) es más eficiente en la planificación que estar mandando llamar el trap del kernel.

Permiten que cada proceso tengo su propio algoritmo de planificación personalizado.

El código colocado alrededor de la llamada al sistema que se encarga de la comprobación se conoce como envoltura.

Desventajas:

Con las llamadas al sistema de bloqueo, es difícil ver cómo se puede lograr este objetivo sin problemas.

Dentro de un solo proceso no hay interrupciones de reloj.

Los programadores desean hilos precisamente en aplicaciones donde éstos se bloquean con frecuencia, esto es más eficiente utilizando el kernel.

b. En el kernel.

Ahora vamos a considerar el caso en que el kernel sabe acerca de los hilos y los administra. No se necesita un sistema en tiempo de ejecución para ninguna de las dos acciones. Además, no hay tabla de hilos en cada proceso. El kernel tiene una tabla de hilos que lleva la cuenta de todos los hilos en el sistema. Cuando un hilo desea crear un nuevo hilo o destruir uno existente, realiza una llamada al kernel, la cual se encarga de la creación o destrucción mediante una actualización en la tabla de hilos del kernel.

La tabla de hilos del kernel contiene los registros, el estado y demás información de cada hilo.

El kernel también mantiene la tabla de procesos tradicional para llevar la cuenta de los procesos.

Todas las llamadas que podrían bloquear un hilo se implementan como llamadas

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com