Pues no la acabo de entender, ¿alguien me la puede explicar?
"Sea un sistema de memoria virtual paginada con direcciones lógicas de 32 bits que proporcionan un espacio virtual d
2^20 (2 elevado a 20) páginas y con una memoria física de 32 MB. ¿Cuánto ocupará la tabla de marcos de página qu
emplea el sistema operativo si cada entrada de la misma ocupa 32 bits?"
32KB
Duda en la 52
- totem
- PreparaTIC XVI
- Mensajes: 108
- Registrado: 23 Jul 2004, 17:40
- Agradecido: 0
- Agradecimiento recibido: 0
RE: Duda en la 52
Esto es lo que puse yo cuando se discutió sobre aquella pregunta. Nadie me respondió nada, así que no sé hasta qué punto es correcto.
totem escribió:A ver, yo por lo que recuerdo de cuando vi esto (hace mucho) había 2 opciones:
- Tabla de páginas "convencional", una por proceso, en la que se almacena un registo por cada página virtual.
- Tabla de páginas Invertida, global para todos los procesos, en la que se almacena un registro por cada página real de memoria física.
Si suponemos el primer caso el resultado es 4MB, tan tonto como 2^20 páginas * 4B/página
Si suponemos el segundo caso el resultado es 32KB, con un cálculo un poco más largo:
Direcciones lógicas de 32 bits y de ellas se usan 20 bits para el número de página => quedan 12 bits para el offset dentro de la página => tamaño de página de 4KB. => hay 32MB/4KB = 8K páginas, que ocupará 8K páginas * 4B/página = 32KB.
Que alguien me corrija si he metido la pata en algo.
Si lo que digo es cierto creo que la pregunta es ambigua al no especificar el tipo de tabla de páginas que usa. Y por tanto podría ser impugnada.
-
- PreparaTIC 24
- Mensajes: 297
- Registrado: 23 Jul 2004, 07:57
- Agradecido: 0
- Agradecimiento recibido: 0
Re: RE: Duda en la 52
totem escribió: - Tabla de páginas Invertida, global para todos los procesos, en la que se almacena un registro por cada página real de memoria física.
Gracias por contestar.
No entiendo como funciona la tabla de páginas invertida, ¿qué se guarda en cada registro de la tabla de páginas?
- totem
- PreparaTIC XVI
- Mensajes: 108
- Registrado: 23 Jul 2004, 17:40
- Agradecido: 0
- Agradecimiento recibido: 0
RE: Duda en la 52
Pues cada Registro guardaría la Página Virtual (PID + n primeros bits de la Dirección Virtual) que corresponde a cada Página Real de memoria.
El acceso se produce por contenido, es decir: hay que buscar en la Tabla de Páginas Invertida dónde se encuentra la Página Virtual a la que el proceso quiere acceder, y la posición donde se encuentre es la que te da la Página Real de la memoria física.
Si te interesa busca "Tabla de Páginas Invertida" en google y probablemente te aclares más que con mis explicaciones.
El acceso se produce por contenido, es decir: hay que buscar en la Tabla de Páginas Invertida dónde se encuentra la Página Virtual a la que el proceso quiere acceder, y la posición donde se encuentre es la que te da la Página Real de la memoria física.
Si te interesa busca "Tabla de Páginas Invertida" en google y probablemente te aclares más que con mis explicaciones.