Está en la página 1de 1

170 PROCESOS E HILOS CAPÍTULO 2

multiniveles, planificación garantizada, planificación por lotería y planificación por partes equitati-
vas. Algunos sistemas hacen una clara separación entre el mecanismo de planificación y la política
de planificación, lo cual permite a los usuarios tener control del algoritmo de planificación.

PROBLEMAS

1. En la figura 2-2 se muestran los estados de tres procesos. En teoría, con tres estados podría haber
seis transiciones, dos fuera de cada estado. Sin embargo sólo se muestran cuatro transiciones. ¿Exis-
te alguna circunstancia en la que una o ambas de las transiciones faltantes pudiera ocurrir?
2. Suponga que debe diseñar una arquitectura de computadora avanzada que hiciera conmutación de
procesos en el hardware, en vez de tener interrupciones. ¿Qué información necesitaría la CPU? Des-
criba cómo podría trabajar la conmutación de procesos por hardware.
3. En todas las computadoras actuales, al menos una parte de los manejadores de interrupciones se es-
criben en lenguaje ensamblador. ¿Por qué?
4. Cuando una interrupción o una llamada al sistema transfiere el control al sistema operativo, por lo
general se utiliza un área de la pila del kernel separada de la pila del proceso interrumpido. ¿Por
qué?
5. Varios trabajos se pueden ejecutar en paralelo y terminar con más rapidez que si se hubieran ejecu-
tado en secuencia. Suponga que dos trabajos, cada uno de los cuales necesita 10 minutos de tiempo
de la CPU, inician al mismo tiempo. ¿Cuánto tiempo tardará el último en completarse, si se ejecu-
tan en forma secuencial? ¿Cuánto tiempo si se ejecutan en paralelo? Suponga que hay 50% de es-
pera de E/S.
6. En el texto se estableció que el modelo de la figura 2-11(a) no era adecuado para un servidor de ar-
chivos que utiliza una memoria caché. ¿Por qué no? ¿Podría cada proceso tener su propia caché?
7. Si un proceso con multihilamiento utiliza la operación fork, ocurre un problema si el hijo obtiene co-
pias de todos los hilos del padre. Suponga que uno de los hilos originales estaba esperando la entra-
da del teclado. Ahora hay dos hilos esperando la entrada del teclado, uno en cada proceso. ¿Acaso
ocurre este problema en procesos con un solo hilo?
8. En la figura 2-8 se muestra un servidor Web con multihilamiento. Si la única forma de leer un archi-
vo es la llamada al sistema read normal con bloqueo, ¿cree usted que se están usando hilos a nivel
usuario o hilos a nivel kernel para el servidor Web? ¿Por qué?
9. En el texto describimos un servidor Web con multihilamiento, mostrando por qué es mejor que un
servidor con un solo hilo y que un servidor de máquina de estados finitos. ¿Hay alguna circunstan-
cia en la cual un servidor con un solo hilo podría ser mejor? Dé un ejemplo.
10. En la figura 2-12, el conjunto de registros se lista por hilos, en vez de por procesos. ¿Por qué? Des-
pués de todo, la máquina sólo tiene un conjunto de registros.
11. ¿Por qué un hilo otorgaría de manera voluntaria la CPU al llamar a thread_yield? Después de todo,
como no hay una interrupción periódica de reloj, tal vez nunca obtenga la CPU de vuelta.
12. ¿Puede darse alguna vez el apropiamiento de un hilo mediante una interrupción de reloj? De ser así,
¿bajo qué circunstancias? Si no es así, ¿por qué no?

También podría gustarte