[Examen Julio 2015] Problema 2)

[Examen Julio 2015] Problema 2)

de Mathias Ignacio Nieres Moreira -
Número de respuestas: 2

La letra del problema es


En la parte 2 de este problema piden:

Determine el espacio virtual utilizado y la memoria residente en bytes para el proceso según las tablas de paginas presentadas en la figura, como solución dicen que:

El proceso tiene en total 8 páginas de memoria asignadas, por lo tanto ocupa 8 x 4 KB = 32 KB de memoria virtual. De esas 8 páginas solo 4 tienen marcos asignados, por lo tanto el proceso ocupa 4 x 4 KB = 16 KB de memoria física.

De la solución planteada no entiendo como se obtienen la cantidad de páginas asignadas, agradezco si alguién me lo puede explicar.

En la parte 4 piden:

Indique que sucede si el proceso realiza la operación M(3, 3, 33). Como solución dicen:

El proceso intenta acceder a un espacio de memoria no asignado. El sistema operativo debe terminar el proceso con un error de acceso a memoria.

De la solución no entiendo por que debe terminar el proceso con un error, entiendo que el espacio de memoria aún no esté asignado pero la dirección es parte de la memoria virtual del proceso ¿no se debería pedir una nueva página y acceder a ella inmediatamente? como se hace en la parte 5 de este mismo problema, agradezco si alguién me lo puede explicar.

Desde ya muchas gracias por las aclaraciones.

Saludos.


En respuesta a Mathias Ignacio Nieres Moreira

Re: [Examen Julio 2015] Problema 2)

de Rodrigo Gallardo -

Buenas Mathias,

Parte 2)

Como se observa en las tablas de paginas de segundo nivel, hay 8 entradas en total, solo que 4 tienen el bit de validez prendido y otras 4 el bit de validez apagado. Que estas ultimas 4 tengan el bit de validez apagado, quiere decir que dichas paginas no estan cargadas en memoria fisica, pero sin embargo pertenecen al espacio de direccionamiento virtual del proceso (no como las dos entradas de a tabla de pagina de primer nivel que tienen las direcciones 0x00). Por lo tanto, en cuanto a memoria virtual, el proceso tiene 8 paginas asignadas, aunque en todo momento en memoria fisica solo podra tener 4 de ellas cargadas (ya que solo tiene asignados 4 frames en memoria).


Parte 4)

La explicacion que le podria encontrar a esto, es que las entradas de la tabla de pagina de primer nivel esten numeras de 0 a 3 desde arriba hacia abajo (siendo las entradas 0 y 1 las que tienen direcciones validas y las entradas 2 y 3 las que tienen direcciones invalidas). Por lo tanto el proceso estaria intentando acceder a la entrada 3 de la tabla de primer nivel, la cual es un espacio de memoria virtual no asginado al proceso, y por lo tanto deberia retornar con un error.


Espero sea de ayuda. Saludos!