viernes, 14 de septiembre de 2012

preguntas del libro


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:
  1. 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.
  2. 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.
  3. Que termine la ejecución del proceso en cuestión.
  4. 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