Ejercicio de gestión de memoria. Puntuación: 2.5 puntos sobre 10 Tiempo estimado de realización: 30 minutos. En un experimento realizado con el sistema operativo Minix, la memoria se encuentra en el estado que seguidamente se describe. 1. La memoria disponible para procesos empieza en la dirección (dato decimal) 24576. 2. La memoria disponible para procesos termina en la dirección (dato decimal) 1048575 (el primer byte de memoria tiene la dirección 0). 3. En el instante t = 0 del experimento, existen en memoria un conjunto de procesos que ocupan en la misma espacios según se detalla seguidamente (tal y como se registra en la tabla de descriptores del gestor de memoria de Minix). 4. Cada “click” de memoria tiene un tamaño de 4 KBytes (4096 bytes). Proceso A Código Datos Pila Dirección virtual 0 0 5 Dirección física 6 6 11 Longitud 0 4 2 Proceso B Código Datos Pila Dirección virtual 0 0 4 Dirección física 40 41 45 Longitud 1 3 1 Proceso C Código Datos Pila Dirección virtual 0 0 10 Dirección física 80 80 90 Longitud 0 5 2 Proceso D Código Datos Pila Dirección virtual 0 0 8 Dirección física 40 92 100 Longitud 1 3 1 Proceso E Código Datos Pila Dirección virtual 0 0 24 Dirección física 136 136 160 Longitud 0 20 4 Se pide que responda a las siguientes cuestiones: 1. Indique una posible configuración del array “hole”, en el instante t = 0, relativa a los huecos disponibles de memoria según se deduce de la situación planteada. 2. En el instante t = 10 desaparece el proceso C. Indique cuál es la información que contendrá el array “hole”, relativa a los huecos disponibles, después de efectuarse este cambio. 3. En el instante t = 20 desaparece el proceso D. Indique cuál es la información que contendrá el array “hole”, relativa a los huecos disponibles, después de efectuarse este cambio. 4. En el instante t = 30 se crea un proceso con las mismas necesidades de espacio que tenía el proceso D. ¿Qué ubicación en la memoria le asignará el sistema? Nota 1. Para cada uno de los casos planteado utilice flechas para indicar a quien señalan los punteros h_next, hole_head y free_slots. Nota 2. En la primera configuración quedará un elemento del array “hole” sin utilizar. Considere que dicho elemento es el único sin utilizar del mencionado array. Haga que el puntero “free_slots” le señale. Dicha cadena (la que comienza en “free slots”) es posible que deba modificarse en los escenarios posteriores (t = 10, t = 20, t = 30). Nota 3. Si un elemento del array “hole” es el último de una cadena, deberá asignarse el valor NIL_HOLE a su puntero h_next.