Guía de trabajos hilos y posix

7

Click here to load reader

description

Guía de ejercicio sobre Hilos y Servicios Posix

Transcript of Guía de trabajos hilos y posix

Page 1: Guía de trabajos   hilos y posix

Grupo #6 | La mejor solución, no es siempre la primera opción. | 2012

Ejercicios Resueltos SISTEMAS OPERATIVOS

Page 2: Guía de trabajos   hilos y posix

Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos Grupo #6

Catedrática: Inga. Jenny Flores

LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 1

Objetivo General.

Que el alumno aprenda conceptos básicos sobre Hilos, Servicios POSIX y la

relación que tienen entre ambos.

Actitudes:

Responsabilidad.

Trabajo en equipo, espíritu de cooperación, esfuerzo y entusiasmo para desarrollar

la guía de lectura.

EJERCICIO 1

Qué es:

a) Hilo.

Es la acción que realiza un elemento dentro de un proceso utilizando los

recursos de éstos.

b) Grupo de hilos.

Es un conjunto de hilos que realizan acciones dentro de un proceso.

c) Multihilo.

Es lo mismo que un grupo de hilos.

d) Servicios Posix

Es una librería, es la que da el soporte para que los hilos funcionen.

e) ¿Cómo están compuestos?

a. Hilos

Área de Pila.

Contador de Programas.

Dispositivos de entrada y salida.

Microprocesador.

Espacios de memoria.

Registros.

b. Servicios Posix.

Inicia un objeto atributo de tipo pthread_attr_t con las

propiedades que tendrán los hilos que se creen posteriormente

Page 3: Guía de trabajos   hilos y posix

Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos Grupo #6

Catedrática: Inga. Jenny Flores

LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 2

los atributos permiten especificar: tamaño de pila, prioridad,

política de planificación, etc.

f) Relaciones las definiciones anteriores con un ejemplo, ojo no use el

ejemplo de Word.

Para el caso de programación en Pseint, cuando se comenzaba a

desarrollar el pseudocódigo, al escribirlo señalaba la función que

realizaría cada hilo, veamos una imagen para ejemplificarlo:

Podemos observar como los hilos se crean y finalizan (se destruyen) al finalizar la

acción que realizarán dentro del proceso.

Algunos hilos son más grandes que otros y dentro de un hilo, puede haber otros

hilos más que harán una acción dentro del hilo “padre”.

g) ¿Qué permiten hacer los hilos en un sistema?

Crear y terminar procesos, de hecho, son los procesos más pequeños que

realiza un Sistema Operativo para poder darle el acceso a otros procesos

y permitir su ejecución.

h) Aplicaciones de los hilos.

Procesos en primer y segundo plano.

Procesos temporales (Autoguardado).

Aceleración de la ejecución.

Estructuración modular de los programas.

Page 4: Guía de trabajos   hilos y posix

Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos Grupo #6

Catedrática: Inga. Jenny Flores

LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 3

i) Ventajas y Desventajas.

Ventajas de los hilos contra procesos.

o Velocidad acelerada en cuanto a creación de nuevos hilos.

o Finalización más rápida de un hilo que de un proceso, el

proceso debe ser eliminado desde el BCP, el hilo se

autodestruye.

o Transición más rápida entre un hilo a otro.

o Aumentan la eficiencia en el proceso de comunicaciones entre

procesos.

Desventajas.

o Los hilos se bloquean más fácilmente que un proceso.

o No todos los sistemas reconocen la existencia de hilos.

o Requiere de mayor espacio en el núcleo para las tablas y la

pila de los hilos.

o Todas las llamadas al sistema las maneja el núcleo y por lo

tanto tiene un mayor costo para él.

EJERCICIO 2 COMPARACIÓN.

Proceso – Hilo

Hilo – Servicios Posix

Nombre Descripción Similitud Diferencia

Proceso. Programa en ejecución.

Un proceso puede tener muchos grupos de hilos y éstos son sub procesos 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 acción.

Es un subproceso que también necesita de los recursos del proceso.

Un hilo funciona dependiente de un proceso.

Page 5: Guía de trabajos   hilos y posix

Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos Grupo #6

Catedrática: Inga. Jenny Flores

LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 4

EJERCICIO 3 HILOS SOPORTADOS POR LOS SO Y LENGUAJES DE

PROGRAMACIÓN.

Construya una tabla con los SO más conocidos y establezca los hilos soportados

por ellos. Incluya además los lenguajes de programación donde podemos

implementar hilos.

Sistema Operativo Monohilo Multihilo

Windows X

Mac X

Linux X (Algunos)

Nombre del lenguaje Soporte de Hilos.

Java Sí

Delphi Sí

C No (Necesita librerías especiales para

crearlos)

C++ No (Necesita librerías especiales para

crearlos)

EJERCICIO 4 ANALICE LO SIGUIENTE.

Hoy en día todas las máquinas tienen multiprocesadores suponga la siguiente

situación:

Tiene una máquina con un solo procesador y se está ejecutando una aplicación que

está utilizando varios hilos en una aplicación que sucede con el procesador y qué

impresión le dará este al usuario.

El procesador se haría más lento de lo usual, esto sería porque cada hilo requiere

de un espacio para la pila y los registros que crea, la impresión del usuario sería

una frustración total al ver que su máquina está relentizada y que no trabaja de la

manera que él desea.

Page 6: Guía de trabajos   hilos y posix

Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos Grupo #6

Catedrática: Inga. Jenny Flores

LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 5

EJERCICIO 5 MAPA CONCEPTUAL.

Realice un mapa resumen con toda la información presentada en la guía.

EJERCICIO 6 EJEMPLO VISUAL.

En el literal F del ejercicio 1 presentó un ejemplo de forma textual su trabajo

consiste en éste punto en dejar constancia de ese ejemplo de forma visual.

El proceso “videojuego”

puede tener un hilo de

ejecución para cada uno de

los elementos móviles de la

pantalla.

Hilos.

Servicios Posix.

Librerías especiales para ejecutar hilos.

Multihilos.

Grupo de hilos que realizan acciones

dentro de un proceso.

Proceso.

Programa en ejecución.

Subprocesos realizados dentro de

un proceso.

Page 7: Guía de trabajos   hilos y posix

Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos Grupo #6

Catedrática: Inga. Jenny Flores

LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 6

Estos son dos procesos multihilo que funcionan juntamente a través de un mismo

procesador.