DPTO. LENGUAJES Y CIENCIAS DE LA COMPUTACIÓN ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD DE MÁLAGA Asignatura: Titulación: Convocatoria: Apellidos: 1. FUNDAMENTOS DE LOS COMPUTADORES I.T.T. SISTEMAS ELECTRÓNICOS Ordinaria, 1 de Febrero de 2006 SEGUNDA PARTE Nombre: En un antiguo sistema informático se emplea un esquema de gestión de memoria virtual usando paginación por demanda. La memoria se direcciona a nivel de byte, las direcciones lógicas y físicas tienen una longitud de 24 bits y las páginas tienen un tamaño 1KB. a) (0.5 p.) ¿Cuánta memoria principal puede tener como máximo el sistema? b) (0.5 p.) ¿Cuántas entradas tendrá la tabla de páginas de un proceso? c) (0.5 p.) Indica con un esquema qué bits de la dirección lógica se dedican al número de página y cuáles al desplazamiento dentro de la página. ¿En qué página de un proceso se encuentra la dirección lógica 04813F (en hexadecimal)? En una versión anterior de la misma máquina las páginas tenían un tamaño de 256 bytes. Sea la siguiente secuencia de accesos a memoria realizada por un proceso en dicha máquina: 004834, 21F212, 31F214, 004834, 21F214, 10C129, 00483A, 31F214, 21F214, 10C129, 21AF11, 21F217, 21AF13, 31F219 d) (1 p.) Aplicar el algoritmo de reemplazo de páginas LRU (Least Recently Used) a la cadena previa de referencias, suponiendo que al proceso le han sido asignados tres marcos de página. ¿Cuántos fallos de página se han producido? 2. En una computadora gobernada por un sistema operativo multitarea existen dos recursos de E/S: un puerto USB y una tarjeta WiFi. Una operación de E/S al puerto USB dura 50 ms y a la tarjeta WiFi 70 ms. Tenemos cuatro procesos que quieren ejecutarse en dicha computadora y cuyos datos se muestran a continuación. Proceso Llegada Ráfagas A 0 CPU(40), WiFi, CPU(50), USB, CPU(100) B 40 CPU(80), USB, CPU(10), WiFi, CPU(80), WiFi, CPU(30) C 120 CPU(30), USB, CPU(50), WiFi, CPU(10) D 130 CPU(20), WiFi, CPU(30), USB, CPU(20) Nota: Los tiempos están dados en milisegundos (ms). Se pide: a) (2 p.) Realizar la planificación de los procesos usando el algoritmo Round-Robin (RR) con un quantum de 30 ms. b) (0.5 p.) Calcular el tiempo de retorno y de espera de cada proceso y el uso de la CPU. 1 Tenemos dos procesos que quieren acceder de forma exclusiva a una zona de datos compartidos. El código de los dos procesos se muestra a continuación. 3. Proceso 1 void main (int argc, char * argv[]) { while (true) { wait (sem); Proceso 2 void main (int argc, char * argv[]) { while (true) { wait (sem); /* Acceso a datos compartidos */ /* Acceso a datos compartidos */ wait(sem); signal(sem); } } } } La variable sem es una variable compartida por los dos procesos de tipo semáforo que es inicializada a 1 y que se utiliza para arbitrar el acceso a los datos compartidos. (0.5 p.) ¿Hay algún error en la implementación de los procesos? Si es así, propón una solución. 2