viernes, 19 de octubre de 2012

Preguntas unidad 3


1.- un sistema de computadora tiene suficiente espacio para contener cuatro programas en su memoria principal. La mitad del tiempo, estos programas están ociosos esperando E/S. ¿Qué fracción del tiempo de CPU se desperdicia?
R=  le tomaría 16 bytes por cada 2 segundos

2.- Considere un sistema de intercambio en el que la memoria tiene agujeros con los siguientes tamaños en orden según su posición de memoria: 10K, 4K, 20K, 18K, 7K, 9K, 12K y 15K. ¿Cuál agujero se toma cuando hay solicitudes de segmento sucesivas de:
a).- 12K= 7K, 9K y 15K

b).- 10K= 4K y 12K
c).- 9K= 18K, 20K

si se usa primer ajuste? Repil;). Usando mejor ajuste, peor ajuste y siguiente ajuste.
3.-¿Qué diferencia hay entre una dirección física y una virtual?

R=Dirección física: la que llega al chip de memoria
Dirección lógica o virtual: la generada por la CPU

4.- empleando la tabla de páginas de la Fig. 4-8, de la dirección física que corresponde a cada una de las siguientes direcciones virtuales:
a).-20= 8192 a 12287.
b).-4100= 24576 a 28671.
c).- 8300=20480 a 24575
5.-el procesador Intel 8086 no apoya la memoria virtual. No obstante, algunas compañías vendieron previamente sistemas que contenían un CPU 8086 no modificada y realizaban paginación. Utilice lo que sabe para sugerir como lo hicieron. (Sugerencia: piense en la ubicación lógica de la MMU.)
R=el número de marco de página, si lo hay, y este número se anexa al extremo de orden alto de la distancia, sustituyendo al número de página virtual y formando una dirección física que se puede enviar a la memoria.

 6.- si una introducción tarda 1 microsegundo y una falla de pagina tarda n microsegundos adicionales, deduzca una formula para el tiempo de introducción efectivo si ocurren fallas de pagina cada k instrucciones.
R= K=ms
7.- una  maquina tiene un espacio de direcciones de 32 bits y paginas de 8K. la tabla de paginas esta totalmente en hardware, con una palabra de 32 bits por cada entrada. Cuando un proceso inicia, la tabla de páginas se copia en el hardware desde la memoria, a razón de una palabra cada 100 ns. Si cada proceso se ejecuta durante 100 ms(incluido el tiempo que toma cargar la tabla de paginas), ¿Qué fracción del tiempo  de CPU se dedica a cargar las tablas de pagina?
R= por cada 32 bits carga en tiempo  500ms

8.-una computadora con direcciones de 32 bits usa una tabla de páginas de dos niveles, las direcciones virtuales se dividen en un campo de tabla de páginas de nivel superior de nueve bits y un campo de tabla de páginas de segundo nivel de once bits, además de una distancia. ¿Qué tamaño tienen las paginas y cuantas de ellas hay en el espacio de direcciones?
R=las tablas de segundo nivel correspondientes a O a 4M, 4M a 8M y los 4M superiores.

9.- a continuación se lista un programa corto en lenguaje ensamblador para una computadora con página de 512 bytes. El programa reside en la dirección 1020, y su apuntador  a la pila esta en 8192 (la pila crece hacia 0). De la cadena de referencia a pagina generada por este programa. Cada instrucción ocupa cuatro bytes (una palabra), y las referencias tanto a instrucciones como a datos cuentan en 1.- cadena de referencia.

Cargar la palabra 6144 en el registro O
Meter el registro O en la pila
Invocar un procedimiento en 5120, agregando la dirección de retomo a la pila Restar la constante inmediata 16 del apuntador a pila
Comparar el parámetro real con la constante  inmediata
Saltar si es igual a 5152

10.- Suponga que una dirección virtual de 32 bits se divide en cuatro campos, a, b, c y d. los primeros tres  se utilizan para un sistema de tablas de páginas de tres niveles. El cuarto campo, d, es la distancia. ¿El número de páginas depende de los tamaños de los cuatro campos? Si no es así, ¿Cuáles importan y cuales no?
R=importan las primeras 2 ya que ellas generaran las instrucciones a seguir; c y d generaran las instrucciones dadas por a y b.

11.-una computadora cuyos procesos tiene 1024 páginas en sus espacios de direcciones mantiene sus tablas de páginas en la memoria. El gasto extra requerido para leer una palabra de la tabla de páginas es de 500 ns. Con objeto de reducir este gasto extra, la computadora tiene un TLB, que contiene 32 pares (pagina virtual marco de pagina físico)  y puede realizar una consulta en 100 ns. ¿Qué tasa de aciertos se necesita para reducir el gasto medio a 200 ns?
R= 1024 bytes, con páginas de 4K, necesitaremos más de 1015 bytes para la tabla de páginas.
12.- el TLB del VAX no contiene un bit R. ¿Por qué?
R=Si el TLB puede contener todas las páginas de uso pesado, la traducción puede efectuarse con tanta rapidez como con las tablas de páginas normales. Sin embargo, si ocurre una falla de TLB, habrá que examinar la tabla de páginas invertida.

13.-una maquina tiene direcciones virtuales  de 48 bits y direcciones físicas de 32 bits. Las páginas son de 8K ¿Cuántas entradas debe tener la tabla de páginas?
R=sólo requiere 8192 entradas.
14.-una computadora tiene cuatro marcos de pagina. A continuación se muestran el tiempo de carga, el tiempo de ultimo acceso y los bits R y M para cada paginas(los tiempo están en tics del reloj):
Pagina          cargada      ultima ref .      R            M

0                    126              279                  0             0

1                    230              260                  1            0

2                    120              272                  1             1

3                    160              280                  1             1

a)   ¿Cuál pagina se remplazará si se usa NRU?
R= 2

b)   ¿Cuál pagina se remplazará si se usa FIFO?
R=0

c)   ¿Cuál pagina se remplazará si se usa LRU?
R=2

d)   ¿Cuál pagina se remplazará si se usa 2da oportunidad?
R=3

15.- si se emplea remplazó de paginas FIFO con 4 marcos de pagina y ocho paginas, ¿Cuántas fallas de pagina ocurrirán con la con la cadena de referencia 0172327103? Si los cuatro marcos inicialmente están vacíos?
R= le tocarían 47 marcos a cada proceso. Los cinco restantes constituirían una reserva que se usaría en caso de ocurrir fallas de página.
16.-una computadora pequeña tiene cuatro marcos de página. En el primer tic del reloj,  los bits R son 1111010, 1100 y 0001. Si se emplea el algoritmo de maduración con un contador de ocho bits, indique los valores de los cuatro contadores después del último tic.
R=Podrían requerirse 64 x 15 ms para cargar 64 páginas de 512 bytes, pero sólo 4 x 25 ms para cargar cuatro páginas de 8K.

17.- ¿Qué tiempo toma cargar un programa de 64K de un disco  cuyo  tiempo de búsqueda medio es de 30 ms, cuyo tiempo de rotación es de 20 ms y cuyas pistas contienen 32K
a) si se usan paginas de 2k?
R= 16K por 60 ms
b)si se usan paginas de 4k?
R= 8K por 15ms
Las páginas están distribuidas aleatoriamente en el disco.

18.- una de las primeras maquinas de tiempo compartido, la PDP-1, tenia una memoria de 4K palabras de 18 bits, y mantenía en memoria solo un proceso a la vez. Cuando el planificador decidía ejecutar otro proceso, el proceso que estaba en la memoria se escribía en un tambor de paginación, con 4K palabras de 18 bits alrededor de la circunferencia del tambor. El tambor podía comenzar a escribir (o leer) en cualquier palabra, no forzosamente en la palabra 0. ¿Por qué  supone que se escogió este tambor?
R= por el tiempo de acceso vendrá impuesto por el tiempo de búsqueda de la pista y el tiempo de espera del sector.

19.-una computadora proporciona a cada proceso 65 536 bytes de espacio de direcciones dividido en páginas de 4096 bytes. Cierto programa tiene un tamaño de texto de 32 768, un tamaño de datos de 16 386 bytes y un tamaño de pila de 15 870 bytes. ¿cabra este programa en el espacio de direcciones? Si el tamaño de pagina fuera de 512 bytes, ¿cabria el programa? Recuerde que una página no puede contener partes de dos segmentos distintos.
R=Cada tabla de páginas tiene entradas para 1024 marcos de página de 4K, así que una sola tabla de

Páginas maneja 4 megabytes de memoria. Un segmento de menos de 4M tendrá un directorio de páginas con una sola entrada, un apuntador a su única tabla de páginas.





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.