1. Ejercicios Resueltos
SISTEMAS OPERATIVOS
Grupo #6 | La mejor solución, no es siempre la primera opción. | 2012
2. Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos
Grupo #6
Catedrática: Inga. Jenny Flores
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
LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 1
3. Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos
Grupo #6
Catedrática: Inga. Jenny Flores
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.
LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 2
4. Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos
Grupo #6
Catedrática: Inga. Jenny Flores
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 Un proceso puede Un proceso no es
ejecución. tener muchos un hilo, es un
grupos de hilos y conjunto de ellos.
éstos son sub
procesos que se
realizan dentro
del proceso.
Hilo. Elemento de un Es un subproceso Un hilo funciona
proceso que que también dependiente de un
realiza una acción. necesita de los proceso.
recursos del
proceso.
LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 3
5. Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos
Grupo #6
Catedrática: Inga. Jenny Flores
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í
No (Necesita librerías especiales para
C
crearlos)
No (Necesita librerías especiales para
C++
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.
LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 4
6. Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos
Grupo #6
Catedrática: Inga. Jenny Flores
EJERCICIO 5 MAPA CONCEPTUAL.
Realice un mapa resumen con toda la información presentada en la guía.
Hilos.
Subprocesos
realizados dentro de
un proceso.
Servicios Posix. Multihilos. Proceso.
Grupo de hilos que
Librerías especiales Programa en
realizan acciones
para ejecutar hilos. ejecución.
dentro de un proceso.
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.
LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 5
7. Ingeniería en Sistemas Y Redes Informáticas – Sistemas Operativos
Grupo #6
Catedrática: Inga. Jenny Flores
Estos son dos procesos multihilo que funcionan juntamente a través de un mismo
procesador.
LA MEJOR SOLUCIÓN, NO ES SIEMPRE LA PRIMERA OPCIÓN. PÁGINA 6