1.- suponga que va a diseñar una arquitectura de
computadora que realizara la conmutación de procesos por hardware, en lugar de
de-tenerinterrupciones. ¿Qué información necesitaría la CPU? Describa como
podría funcionar la conmutación de procesos por hardware
R=La conmutación se
produce por cuatro razones: - Un proceso agota el tiempo máximo asignado al procesador, por
tanto, se debe dar paso a otro proceso para garantizar que la
multiprogramación es llevada a cabo apropiadamente.
- Un proceso está pendiente de un evento externo, por tanto, pasa a
estado bloqueado haciendo uso de la llamada al sistema bloqueante. El
planificador debe asignar el procesador a otro nuevo proceso de entre los
que están en estado preparado.
- Que termine la ejecución del proceso en cuestión.
- Que haya una interrupción en la ejecución.
2.-en todas las computadoras actuales, al menos una parte
de los manejadores por interrupciones se escribe en lenguaje ensamblador. ¿Por
qué?
R=Es el
rompimiento en la secuencia de un programa para ejecutar un programa especial
llamando una rutina de servicio cuya característica principal es que al
finalizar regresa al punto donde se interrumpió el programa.
4.-en un sistema con hilos, ¿hay una pila por hilo o una
pila por proceso? Explique
R=pila
por procesos son generalmente independientes, llevan bastante información de
estados, e interactúan sólo a través de mecanismos de comunicación dados por el
sistema.
Por otra parte, pila por hilo generalmente
comparten otros recursos de forma directa.
5.- ¿Qué es una condición de competencia?
R= Una condición de competencia es un fenómeno
que se produce cuando uno o varios procesos compiten por uno o varios recursos
produciendo el bloqueo en la ejecución de esos procesos, lo que a la postre
termina con el cuelgue del sistema.
9.-considere una computadora que no cuenta con la
instrucción TEST AND SET LOCK pero si tiene una instrucción que intercambia el
contenido de un registro y una palabra en una sola acción indivisible. ¿Se
puede usar esta instrucción para escribir una rutina enter_region como la de la
figura 2-10?
R=no porque la instrucción TEST AND SET LOCK se garantiza
guardar las operaciones y leer la palabra y guardar el valor en ella son
indivisibles también porque ningún procesador puede acceder a la memoria en
tanto la instrucción no termine.
10.-bosqueje la forma en que un sistema operativo que
puede inhabilitar interrupciones podría implementar semáforos
R=se proponen dos operaciones DOWN (aplicada a un
semáforo verifica si el valor es mayor que 0) y UP(incrementa el valor del semáforo
seleccionado) si uno o mas procesos están durmiendo en espera, imposibilitados
de completar una operación DOWN previa, el sistema escoge uno de ellos.
12.-en la sección 2.2.4 se describió una situación con un
proceso de alta prioridad, H, y uno de baja prioridad, L, que condujo a la
repetición infinita de H. ¿ocurre el mismo problema si se usa una planificación
tipo round robin en vez de planificación por prioridad? Explique.
R=no por que Round robin es un método para seleccionar todos los elementos en un grupo
de manera equitativa y en un orden racional, normalmente comenzando por el
primer elemento de la lista hasta llegar al último y empezando de nuevo desde
el primer elemento.
15.- suponga que tenemos un sistema de transferencia de
mensajes que usa buzones. Al enviar mensajes a un buzón lleno o tratar de
recibirlos a un buzón vacío, un proceso no se bloquea, si no que recibe de
vuelta un código de error. El proceso
responde al código de vuelta. El proceso responde al código de error
intentándolo de nuevo, una y otra vez, hasta que tiene éxito. ¿Da este esquema
lugar a condiciones de competencia?
R=si por que al tener lleno un buzon el otro toma su
lugar de forma indirecta y sigue recibiendo datos.
16.-en la solución al problema de la cena de filósofos (fig2.20)¿porqué
se asigna HUNGRY(hambriento)a la variable de estado en el procedimiento take
forks(tomar tenedores)?
R=por que si el filosofo tiene hambre tomara los
tenedores para empezar a comer.
17.-considere el procedimiento put_forks(poner tenedores)
de la fig.2.20. suponga que se asigna el valor THINKING(pensando) a la variable
de estado state después de las dos llamadas a test(probar) , en lugar de antes.
¿Cómo afectaría este cambio la solución para el caso de tres filósofos?
R= en la forma en que se llevara el proceso primero si después
d acomodar piensa en si están bien acomodados o mal
18.- el problema de lectores y escritores se puede
formular de varias formas en lo tocante a cualquier categoría de procesos puede
iniciarse y cuando. Describa minuciosamente tres variaciones diferentes del
problema, cada una de las cuales favorece(o no favorece) alguna categoría de
procesos. Para cada variación, explique que sucede cuando un lector o un
escritor queda listo para acceder a la base de datos, y que sucede cuando un
proceso termina de usar la base de datos.
R=1.-los lectores subsecuentes se limitan a incrementar
un contador; conforme los lectores salen, decrementan el contador, y el ultimo
en salir ejecuta.
2.-el escritor no puede ser admitido en la base de datos;
el programa podría incluir una pequeña modificación: cuando llega un lector y
un escritor esperando.
3.- es aceptable tener múltiples procesos leyendo la base
de datos al mismo tiempo; pero si un proceso esta actualizando (escribiendo en)
la base de datos ningún otro podrá tener acceso a ella.
20.-los planificadores round robin normalmente mantienen
una lista de todos los procesos ejecutables, y cada proceso aparece una y solo
una vez en la lista. ¿Que sucedería si un proceso ocurriera dos veces en la
lista?¿puede usted pensar en alguna razón para permitir esto?
R=nada por que n
método para ejecutar diferentes procesos de manera concurrente, para la
utilización equitativa de los recursos del equipo, es limitando cada proceso a
un pequeño período (quantum), y luego suspendiendo este proceso para dar
oportunidad a otro proceso y así sucesivamente.
22.- cinco trabajos están esperando para ejecutarse. Sus
tiempos de ejecución esperados son 9,6,3,5, y X. ¿en que orden deben ejecutarse
si se desea minimizar el tiempo medio de
respuesta? (su respuesta de X)
27.- explique por que se usa comúnmente la planificación
de dos niveles.
- R=Habrá procesos ejecutables
que se mantengan en disco.
- Habrá importantes
implicaciones para la planificación, tales como las siguientes:
- El tiempo de alternancia
entre procesos para traer y procesar un proceso del disco es
considerablemente mayor que el tiempo para un proceso que ya está en la
memoria principal.
- Es más eficiente el
intercambio de los procesos con un planificador de dos niveles.
No hay comentarios:
Publicar un comentario