Examen de Arquitectura de Computadores
Examen del primer parcial
Ingeniería de Telecomunicación
25 de junio de 2002
Normas
El examen consta de dos partes:
PARTEPRIMERA(50 % de la calificación final)
15 preguntas tipo test (+ 1/respuesta acertada, -0,33/respuesta errónea)
10 preguntas de verdadero/falso (+1/respuesta acertada, -1/respuesta errónea)
No se puede utilizar ningún tipo de documentación en esta parte
Se dispondrá de 20 minutos para esta parte
Se contestará a esta parte en la hoja de repuestas entregada PARTESEGUNDA(50 % de la calificación final)
Dos ejercicios prácticos con varios apartados
Apartados no se valoran por igual
Se dispondrá de 1 hora y 30 minutos para esta parte
Se contestará a cada problema en hojas separadas que deberán entre-garse numeradas y con el nombre y apellidos en todas las hojas
En esta parte se permitirá el uso de cualquier tipo de documenta-ción exceptuando material con copyright fotocopiado (libros, manua-les, textos, etc.)
Cada ejercicio se entregará por separado
No está permitido escribir en color rojo
Se valorará/penalizará la claridad y limpieza de la solución entregada
La publicación de las calificaciones se hará a través de la página webatc1.aut.uah.es/~arqui
el día 15 de julio de 2002, y en el tablón de la asignatura durante los dos días siguientes.
Examen de Arquitectura de Computadores
Parte de Teoría, PRIMER PARCIAL
Test
Indique cuál es la respuesta correcta. Cada respuesta acertada suma 1 punto. Cada respuesta errónea resta 0,33 puntos. Sólo hay una respuesta válida
1. Sea una caché asociativa por conjuntos de 8 vías con una longitud de línea de caché de 64 bytes. Si el tamaño de la caché es de 256 Kbytes y ésta es accedida con direcciones físicas de 48 bits, ¿el número de bits empleado para localizar el conjunto es de?
(a) 9. (b) 8. (c) 7. (d) 6.
2. En el caso anterior, ¿cuántos bits se reservan para el tag?
(a) 33. (b) 49. (c) 17.
(d) No se puede saber.
3. En un sistema con una organización jerárquica de la memoria, al aumentar la localidad de los programas:
(a) Éstos se ejecutan más rápidamente (b) Éstos se ejecutan más lentamente
(c) La velocidad de ejecución ni aumenta ni disminuye
(d) La jerarquización y la localidad son aspectos no relacionados y los re-sultados son imprevisibles
4. Sea un sistema con un espacio de direccionamiento virtual de 32 bits y con un tamaño de página de 512 bytes, si cada entrada en la tabla de páginas es de 16 bits y la tabla de páginas no está paginada, el tamaño máximo de la tabla de páginas es de:
5. Si basándonos en el caso anterior, cada entrada en la tabla de páginas tiene 2 bits para presencia y derechos de acceso, el direccionamiento físico está limitado a:
(a) 8 Mbytes. (b) 4 Gbytes. (c) 32 Mbytes
(d) No se puede determinar
6. Cada entrada en la tabla de segmentos del PENTIUMII ocupa: (a) 4 bytes.
(b) 8 bytes. (c) 16 bytes.
(d) Ninguna de las anteriores 7. W2K y Linux se parecen en que ambos:
(a) Emplean un enfoque de diseño monolítico (b) Utilizan 32 colas para definir prioridades (c) Son sistemas propietarios
(d) Incluyen el sistema gráfico en el núcleo del sistema operativo
8. Cuál de las siguientes operaciones no es llevada a cabo por la rutinatick()de 4.3 BSD:
(a) Actualizar la fecha. (b) Manejarcallouts. (c) Manejar alarmas
(d) Validar los parámetros de las llamadas al sistema
9. La planificación de los hilos en el espacio de usuario es llevada a cabo por:
(a) El núcleo del sistema operativo
(b) Una biblioteca que se ejecuta en modo supervisor (c) Una biblioteca que se ejecuta en modo usuario
(d) Los propios hilos son los que establecen los mecanismos de planifica-ción
10. Cuando en W2K un hilo es requisado por un hilo de mayor prioridad, éste:
(a) Incrementa su prioridad (b) Decrementa su prioridad
(c) Mantiene su prioridad y se coloca a la cabeza de la cola correspondien-te
11. El IRQL asociado a hilos de tiempo real en W2K vale:
(a) 0. (b) 1. (c) 2. (d) 3.
12. Los TLB almacenan pares del tipo:
(a) Dirección virtual - Dirección lógica (b) Dirección virtual - Número de segmento (c) Número de página - Número de marco (d) Dirección virtual - Línea de caché
13. Las abstracciones ofrecidas por el sistema operativo LINUXson las siguientes: (a) Archivos y procesos
(b) Objetos
(c) Archivos y objetos persistentes (d) Todas las anteriores
14. Si un proceso llega en el instante 5 y finaliza en el instante 15:
(a) Su tiempo de retorno es de 10 (b) Su grado de uso de CPU es de 66 % (c) Su tiempo medio de respuesta es de 15 (d) Su tiempo de espera es de 5
15. Las bibliotecas dinámicas compartidas:
(a) Hacen que los programas se ejecuten más rápidamente (b) Hacen que las imágenes ejecutables sean más pequeñas (c) Hacen que se ahorre memoria
Verdadero o falso
Indique si las siguientes afirmaciones son verdaderas (V) o falsas (F). Cada res-puesta acertada suma 1 punto. Cada resres-puesta errónea resta 1 punto.
16 La segmentación del PENTIUMII no se puede desactivar.
17 WIN2K emplea un sistema de planificación basado en prioridades está-ticas y con desalojo.
18 Una instrucción de salto debe ser privilegiada porque puede apuntar a una zona de código perteneciente al sistema operativo.
19 El empleo de cachés separadas para datos y direcciones mejora el ren-dimiento del sistema, pero complica la labor del programador de aplicaciones.
20 Una de las responsabilidades del micronúcleo es proporcionar los me-canismos básicos de comunicación entre procesos.
21 El planificador de uso de CPU en WIN2K sólo es válido para sistemas monoprocesador.
22 Las prioridades de los procesos en VMS van de 0 a 31.
23 El código de las llamadas al sistema (i.e. llamadaopen() o similar) siempre se ejecutan en modo supervisor, independientemente del enfoque de di-seño
24 En LINUXy WIN2K todos los procesos o tareas tienen proyectado en sus espacios de direccionamiento virtual la zona de memoria utilizada por el núcleo
Examen de Arquitectura de Computadores
Primer problema, PRIMER PARCIAL
Se está trabajando en el diseño del planificador de tareas del sistema operativo Ka-machOS. En la etapa de diseño se opta por emplear un algoritmo de tipo SJF (Shortest Job First). Dicho algoritmo funciona según los siguientes requisitos:
Para realizar las predicciones oportunas se emplea la expresión:
τn 1 tnα
1 ατn
donde:
τn 1 es la duración estimada de la siguiente ráfaga de CPU
tn es la duración de la última ráfaga de CPU
τn es la duración estimada que se predijo para la anterior ráfaga de CPU
α es una constante de ajuste cuyo valor es 05
El sistema operativo mantiene una estructura denominada task_struct que contiene una entrada por cada proceso que exista en el sistema. En cada entrada se mantiene, entre otras cosas, los valores relacionados con la planificación de dicho proceso, es decir, los valores deτn 1, tnyτnpara cada proceso.
El planificador sólo se ejecuta cuando un proceso abandona la CPU. En ese mo-mento se actualizan sólo los valores de planificación del proceso que deja la CPU
Para dar de alta un nuevo proceso en la task_struct existe una llamada al sistema denominadafork(). Esta llamada devuelve 0 al proceso hijo y elPID
del proceso creado al padre. Cuando se crea el nuevo proceso los valores de planificación que aparecen en su entrada en latask_structson una copia literal de los valores de τn 1, tnyτnque su padre tenga en el momento de ejecutar
fork(). Es importante resaltar que una operaciónfork()no supone un cambio de contexto del proceso que la invoca
El sistema mantiene una cola de procesos preparados para ejecución. Si aparece un proceso en dicha cola y no hay ningún proceso en ejecución, el proceso pasa inmediatamente a ejecución
Para comprobar el funcionamiento del planificador se emplea el siguiente programa de prueba:
T a r e a T1
2 {
CPU ( 3 ) ; IO ( D1 , 2 ) ; CPU ( 2 ) ; IO ( D1 , 2 ) ; CPU ( 1 ) ; IO ( D1 , 1 ) ;
4 CPU ( 2 ) ;
6 CPU ( 3 ) ; e l s e 8 CPU ( 3 ) ; } 10 T a r e a T2 { 12 CPU ( 4 ) ; IO ( D1 , 1 ) ; CPU ( 3 ) ; i f (FORK ( ) ==0) 14 CPU ( 1 ) ; IO ( D1 , 2 ) ; CPU ( 3 ) ; e l s e 16 CPU ( 1 ) ; IO ( D1 , 5 ) ; CPU ( 4 ) ; IO ( D1 , 5 ) ; }
El programa de pruebas emplea dos funciones cuyo funcionamiento es el siguiente:
CPU(n) es una ráfaga de CPU de n u t
IO(D,n) es una operación de entrada/salida sobre el dispositivo D que tendrá una
du-ración de n u t
A efectos de resolución de problemas, se considera que el tiempo que la CPU emplea en ejecutar instrucciones de comparación, así como el tiempo empleado en la ejecución de la llamada al sistemafork()es cero.
En el instante cero, latask_structcontiene los siguientes valores:
1. Complete la tabla dada como plantilla con los valores resultantes de ejecutar el código del programa de pruebas. Se consignarán valores sólo en los instantes en los que se ejecute el planificador y serán el resultado de la aplicación del algoritmo de planificación sobre los valores existentes en latask_struct
Examen de Arquitectura de Computadores
Segundo problema, PRIMER PARCIAL
Considere un sistema de gestión de memoria que emplea una caché accedida por direcciones físicas combinado con un esquema de paginación con un tamaño de página de 4 Kbytes. Dicho sistema tiene 16 Mbytes de memoria física y un tamaño de caché de 64 Kbytes. Suponiendo que la línea de caché es de 64 bytes y que la caché es de correspondencia directa, determine:
1. ¿Podrían dos posiciones de memoria del mismo marco competir por la misma línea de caché? Razone la respuesta
2. Si es posible, ¿cuántos marcos pueden ser asignados como máximo a un proceso de modo que se garantice que no existe competencia por ninguna línea de caché? Razone la respuesta
3. Si el proceso tiene asignado el marco 0, ¿qué marcos compiten por líneas de caché con el marco citado?