EJERCICIOS DE MEMORIA: 1) Un sistema realiza una gestión de memoria virtual mediante paginación por demanda, con la memoria dividida en cinco marcos de 512 posiciones cada uno. En un momento determinado, se encuentran en el sistema tres procesos, cada uno de ellos con el siguiente esquema de memoria lógica Proceso A Proceso B Proceso C A1 B1 C1 A2 B2 C2 A3 B3 C3 B4 C4 C5 Durante la ejecución de dichos procesos, se produce la siguiente secuencia de accesos a páginas, que dan lugar a la ocupación de memoria que se muestra: A1 A1 A2 B1 B2 B3 C1 C2 C3 C2 A2 A1 A2 B4 B1 C5 C4 t0 A1 A1 A2 A2 A2 A2 A2 A2 A2 A2 A2 A1 A2 A2 A2 A2 A2 t1 B1 B1 B3 B3 B3 B3 B3 B3 B3 B3 B3 B1 B1 B1 t2 B2 B2 B2 B2 B2 B2 B2 B2 B2 B4 B4 B4 B4 t3 C1 C1 C3 C3 C3 C3 C3 C3 C3 C5 C5 t4 C2 C2 C2 C2 C2 C2 C2 C2 C2 C4 Qué algoritmo y qué estrategia de sustitución de páginas se ha utilizado. Justificar la respuesta indicando porqué no pueden ser ninguno de los otros algoritmos estudiados 2) En un sistema de gestión de memoria virtual mediante paginación por demanda se tiene un tamaño de página de 512 posiciones, una memoria virtual de 16 páginas (numeradas de 0 a 15) y una memoria física de 4 tramas (numeradas de 0 a 3). El contenido actual de la memoria libre para usuario es: Trama Contenido 0 Página 4 1 Página 9 2 Página 5 3 Página 1 a) Mostrar el contenido de la tabla de páginas b) Idem tras generar cada una de las siguientes direcciones lógicas (suponiendo que el algoritmo óptimo para el reemplazo de páginas): 0458H 066DH 0801H 026EH 0AD8H c) En la situación final del punto b) obtener las direcciones físicas equivalentes a las siguientes direcciones lógicas: 065CH 0353H 0A8CH d) Qué ocurre al referenciar la dirección lógica 0532H?
3) Tenemos un computador cuyo esquema de administración de memoria es segmentación paginada con paginación por demanda y se utiliza una política de reemplazo de páginas local. Sabemos que un proceso tiene los siguientes segmentos: Segmento 0 Segmento 1 Segmento 2 Segmento 3 Segmento 4 Pagina 0 Página 0 Página 0 Página 0 Página 0 Página 1 Página 1 Página 1 Página 1 Página 1 Página 2 Página 2 Página 2 Página 2 Página 2 Página 3 Página 3 Página 3 Página 4 Página 4 Página 5 Además, partiendo de un estado inicial en el que no tenía ninguna página cargada en memoria, ha generado las siguientes direcciones lógicas y como resultado de ellas sabemos las direcciones físicas con las que finalmente se ha accedido a memoria. Direcciones Lógicas Tipo Acceso Direcciones Físicas 00043H E 5243H 80AFCH L 70FCH 606B4H L 58B4H 60464H L 7064H 80693H E 5893H a) Cuántos marcos de memoria han sido asignados al proceso y cuáles son?. Cuál es el tamaño del marco de memoria?. Cuál es el número máximo de páginas que puede tener un segmento?. Cuál es el número de posiciones máximo que puede tener la memoria?. Justificar las respuestas. b) Dadas las siguientes direcciones lógicas que genera posteriormente el proceso, y suponiendo que se utiliza un algoritmo de reemplazo de páginas con bits de referenciado y modificado. Indicar las direcciones físicas a las que se accede. Direcciones Lógicas 40764H 0018CH 806DCH 202C3H 815C7H Tipo Acceso L E L E E NOTA: El sistema operativo pone periódicamente los bits de referenciado de todas las páginas a cero: Cada cuatro accesos a memoria y justo después del cuarto.
4) Tenemos un computador que utiliza un esquema de administración de memoria de paginación por demanda. El número máximo de páginas de un proceso es de 64, el número de marcos de memoria de 16 y el tamaño de la palabra en memoria de 16 bits. Dada una secuencia de direcciones lógicas generadas por un proceso, se conoce el estado de la tabla de páginas del proceso después de cada acceso a memoria, siendo el que figura a continuación. El bit V/I es el bit de válido inválido, el bit R es el de referenciado y el bit M el de modificado. También se indica la dirección física a la que se ha accedido como consecuencia de la dirección lógica usada. 1) Página V/I R M 2) Página V/I R M 0 3h v 0 1 0 3h v 0 1 1 I 1 i 2 I 2 Ah v 1 1 3 5h v 0 0 3 5h v 0 0 4 I 4 i 5 Ah v 0 0 5 i 6 I 6 i 7 Fh v 1 0 7 Fh v 1 0 Dirección Física: 1EF1h Dirección Física: 1554h 3) Página V/I R M 4) Página V/I R M 0 3h v 0 1 0 3h v 0 1 2 Ah v 1 1 2 Ah v 1 1 3 i 3 i 4 5h v 1 0 4 5h v 1 0 7 Fh v 1 0 7 Fh v 1 0 Dirección Física: 0A33h Dirección Física: 15BAh 5) Página V/I R M 6) Página V/I R M 0 3h v 0 1 0 3h v 1 1 2 Ah v 1 1 2 Ah v 1 1 3 i 3 i 4 5h v 1 1 4 5h v 1 1 7 Fh v 1 0 7 Fh v 1 0 Dirección Física: 0B6Bh Dirección Física: 0635h 7) Página V/I R M 8) Página V/I R M 0 3h v 1 1 0 3h v 1 1 2 Ah v 1 1 2 Ah v 1 1 3 Fh v 1 0 3 i 4 5h v 1 1 4 5h v 1 1 7 i 7 Fh v 1 0 Dirección Física: 1E66h Dirección Física: 1FC7h a) Calcular las direcciones lógicas de memoria que se han utilizado e indicar qué tipo de acceso se ha realizado a memoria, de lectura, de escritura, o es posible que haya sido cualquiera de los dos.
b) Cuál es el tamaño máximo que puede tener un proceso en este sistema?, cuál es el tamaño de la memoria del ordenador?, cuál es el tamaño de las páginas?, Y de los marcos?. c) Es posible que se haya empleado el algoritmo óptimo para reemplazar páginas?. Justificar la respuesta. d) Es posible que se haya empleado el algoritmo que utiliza los bits de referenciado y modificado para reemplazar páginas?. Justificar la respuesta. En la situación 1), qué pagina llevaba más tiempo cargada en memoria, la 3 ó la 5. 5) En un determinado sistema informático se utiliza un esquema de paginación por demanda. El número máximo de páginas de un proceso es de 64, el número de marcos de memoria de sistema 16 y el tamaño de la palabra en memoria es de 16 bits. Para un determinado proceso se conoce la siguiente información. Su número de páginas es de 5, su tamaño de 70Kbytes, en un determinado momento la configuración de su tabla de páginas es la dada por la figura 1) y en dicho momento se sabe que la fragmentación interna del proceso es de 10Kbytes. A partir de dicha situación 1), el proceso genera una serie de direcciones lógicas. Para cada dirección lógica se sabe el número de página utilizado por el proceso y la dirección física con la que finalmente se accedió a memoria 2)-8). Se pide: 1) Página V/I R M 0 3h V 0 1 1 I 2 I 3 I 4 Fh V 0 0 2) Página: 3, DF: 2AA0h 6) Página: 4, DF: 2A49h 3) Página: 1, DF: 893h 7) Página: 2, DF: FCFh 4) Página: 2, DF: DC6h 8) Página: 3, DF: 3C9Fh 5) Página: 0, DF: 3384h a) Calcular las direcciones lógicas que ha utilizado el proceso. b) Dibujar el estado de la tabla de páginas después de cada acceso a memoria. c) Cuál es el tamaño máximo que puede tener un proceso en este sistema?, Cuál es el tamaño de las páginas?, Y de los marcos?. 6) Tenemos un computador que utiliza un sistema de administración de memoria de paginación por demanda. El número de páginas de un proceso es de 64, el número de marcos de memoria de 16 y el tamaño de la palabra de memoria de un byte. Dada una secuencia de direcciones lógicas generadas por un proceso A, se sabe que el estado de la tabla de páginas del proceso después de cada acceso a memoria es el que figura a continuación. También se indica la dirección física de memoria a la que se ha accedido, como consecuencia de la dirección lógica usada (inicialmente el proceso no tiene ninguna página cargada en memoria). 1) Página Nº 2) Página Nº 0 i 0 Ah v 2 i 2 i 3 i 3 i 4 i 4 i 5 5h v 5 5h v 7 i 7 i 1) Dirección Física: 280h 2) Dirección Física 52Ch
3) Página Nº 4) Página Nº 0 Ah v 0 Ah v 1 Ch v 1 Ch v 2 i 2 i 3 i 3 5h v 4 i 4 i 5 5h v 5 i 7 i 7 i 3) Dirección Física: 671h 4) Dirección Física: 2AEh 5) Página Nº 6) Página Nº 0 Ah v 0 i 1 Ch v 1 Ch v 2 i 2 i 3 5h v 3 5h v 4 i 4 i 7 i 7 Ah v 5) Dirección Física: 655h 6) Dirección Física: 527h 7) Página Nº 0 i 1 Ch v 2 i 3 i 4 5h v 5 i 6 i 7 Ah v 7) Dirección Física: 2E1h a) Calcular en hexadecimal las direcciones lógicas que han sido generadas por el proceso. b) Cuál es el tamaño de las páginas, marcos y de la memoria lógica del ordenador?. Cuáles son los algoritmos de reemplazo de páginas que pueden haberse empleado?. 7) Describir detalladamente como funcionan los siguientes algoritmos de reemplazo de páginas para administración de memoria virtual. 1.- Algoritmo FIFO. 2.- Algoritmo Óptimo. 3.- Algoritmo de la Segunda Oportunidad. 4.- Algoritmo usando bits de referenciado y modificado.
b) Supongamos que tenemos un proceso para el que se han asignado tres marcos de memoria, que inicialmente no tiene ninguna página cargada en memoria, y que realiza los siguientes accesos a páginas en los que se especifica si es para escritura o lectura: Página 7 1 2 3 4 1 7 Tipo de Acceso E. L. L. E. L. E. L. E.: L.: Significa acceso para escritura. Significa acceso para lectura. Indicar cuales son las páginas que tendrá el proceso cargadas en memoria después de cada acceso, para los cuatro casos de algoritmos de reemplazo de páginas del apartado a). Suponiendo que el sistema operativo pone a cero los bits de referenciado de todas las páginas cada cuatro accesos a memoria del proceso. (Justo después del cuarto pone los bits de referenciado a cero). NOTA: En el caso 4, (algoritmo usando bits de referenciado y modificado), si hay casos en los que no se puede elegir una sola página, usa FIFO para decidir entre las páginas candidatas. 8) Se tiene un sistema de gestión de memoria virtual con paginación por demanda con 2Kbytes de memoria central y con un tamaño de página de 512 bytes. En un momento determinado se tienen tres procesos en el sistema Pa, Pb y Pc. Si se produce la siguiente secuencia de direccionamientos lógicos: 1) Pa, 1023 7) Pb, 0224 2) Pa, 0783 8) Pc, 3848 3) Pc, 1089 9) Pc, 0098 4) Pb, 2450 10) Pa, 0678 5) Pa, 1025 11) Pc, 2900 6) Pc, 0024 12) Pc, 1250 Obtener el diagrama de ocupación de memoria central, suponiendo un algoritmo de reemplazo de página óptimo, en los siguientes casos: a. Utilizando una política de reemplazo global. b. Utilizando una política de reemplazo local. 9) Un computador posee una memoria central de 2 Mbytes. El sistema operativo utiliza 640 Kb de la parte baja de dicha memoria. El resto de memoria es distribuida entre diversos procesos que se ejecutan utilizando un esquema de segmentación paginada con paginación por demanda. Cada proceso puede tener un máximo de 8 segmentos con un máximo de 64 páginas cada uno. Las páginas son de 32 kb. Los procesos A, B, y C presentan la siguiente segmentación: A B C Segmento Tamaño Tamaño Tamaño 0 70 Kb 110 Kb 82 Kb 1 18 Kb 56 Kb 40 Kb 60 Kb 22 Kb Durante la ejecución de dichos procesos, se produce la siguiente secuencia de accesos a páginas, que dan lugar a la ocupación de memoria que se muestra. Las referencias se indican según la siguiente sintaxis (proceso, segmento, página): Referencias nº trama (C,1,1) (C,2,0) (A,0,1) (A,0,2) (B,0,1) (C,1,0) (A,1,0) 2B (A,0,1) (A,0,1) (A,0,1) (A,0,1) (A,1,0) 2D (A,0,2) (A,0,2) (A,0,2) (A,0,2) 1C (B,0,1) (B,0,1) (B,0,1) 1D 0E (C,1,1) (C,1,1) (C,1,1) (C,1,1) (C,1,1) (C,1,0) (C,1,0) 0F (C,2,0) (C,2,0) (C,2,0) (C,2,0) (C,2,0) (C,2,0)
Referencias nº trama (A,0,2) (B,0,2) (B,0,3) (B,0,1) (A,2,0) (A,0,2) 2B (A,1,0) (A,1,0) (A,1,0) (A,1,0) (A,2,0) (A,2,0) 2D (A,0,2) (A,0,2) (A,0,2) (A,0,2) (A,0,2) (A,0,2) 1C (B,0,1) (B,0,1) (B,0,1) (B,0,1) (B,0,1) (B,0,1) 1D (B,0,2) (B,0,3) (B,0,3) (B,0,3) (B,0,3) 0E (C,1,0) (C,1,0) (C,1,0) (C,1,0) (C,1,0) (C,1,0) 0F (C,2,0) (C,2,0) (C,2,0) (C,2,0) (C,2,0) (C,2,0) a) qué estrategia de sustitución de páginas se ha utilizado? Justificar la respuesta indicando porque no pueden ser ninguno de los otros algoritmos estudiados. b) Indicar el estado de las tablas de páginas de cada proceso al final de dicha secuencia de referencias. Cuál es la fragmentación externa e interna que existe en ese momento? c) Calcular las direcciones lógicas generadas por el proceso A cuando se acceden a las direcciones físicas que se indican y que provocan que la tabla de páginas para dicho proceso quede en la situación mostrada tras cada acceso (se parte de la situación que se muestra en la primera tabla de páginas). Tabla de páginas inicial Nº Bit Bit de 2D h 0 0= no presente 2B h 1 1=presente 2B h 0 2D h 0 2D h 1 2B h 0 Nº Bit Nº Bit 2D h 0 2D h 0 2B h 0 2B h 1 2B h 0 2B h 0 2B h 1 2B h 1 2D h 1 2D h 0 2B h 0 2D h 1 1) Dirección Física: 1594BF h 2) Dirección Física 1683AE h Nº Bit Nº Bit 2B h 1 2B h 1 2B h 0 2B h 0 2B h 0 2D h 1 2B h 0 2B h 0 2D h 0 2D h 0 2D h 1 2D h 0 3) Dirección Física: 15BC31 H 4) Dirección Física 168D77 h