Hola,
Los descriptores que se almacenan en cada entrada de la tabla de páginas contienen (entre otra información) un conjunto de bits que determinan la dirección de inicio del marco correspondiente. Este hecho se muestra en el diagrama de la slide 19 de la clase Administración de Memoria II. La dirección de inicio del marco es el valor f del diagrama, que como se indica a la derecha de la slide, determina la dirección de memoria de inicio del marco. Este valor se suma al desplazamiento d para completar la traducción de la dirección de memoria virtual.
Adicionalmente, el descriptor incluye bits que se utilizan con otros propósitos (por ejemplo, indicar validez, permisos, si es un frame compartido, etc.).
Vinculado con tu pregunta, te comento que, considerando que los marcos tienen un tamaño fijo (potencia de 2), en algún ejercicio se puede plantear que los marcos se referencian por un índice (que implica un orden en memoria). En ese caso, para determinar la dirección de inicio del marco solo se debe multiplicar el índice por el tamaño del marco para tener la dirección base (inicio del marco). Este esquema permite ahorrar bits del descriptor (ya que se requieren menos bits para indicar un número correlativo que para indicar direcciones de memoria) pero implica la realización de shifts adicionales para realizar la traducción de la dirección virtual.
Saludos
SN
Los descriptores que se almacenan en cada entrada de la tabla de páginas contienen (entre otra información) un conjunto de bits que determinan la dirección de inicio del marco correspondiente. Este hecho se muestra en el diagrama de la slide 19 de la clase Administración de Memoria II. La dirección de inicio del marco es el valor f del diagrama, que como se indica a la derecha de la slide, determina la dirección de memoria de inicio del marco. Este valor se suma al desplazamiento d para completar la traducción de la dirección de memoria virtual.
Adicionalmente, el descriptor incluye bits que se utilizan con otros propósitos (por ejemplo, indicar validez, permisos, si es un frame compartido, etc.).
Vinculado con tu pregunta, te comento que, considerando que los marcos tienen un tamaño fijo (potencia de 2), en algún ejercicio se puede plantear que los marcos se referencian por un índice (que implica un orden en memoria). En ese caso, para determinar la dirección de inicio del marco solo se debe multiplicar el índice por el tamaño del marco para tener la dirección base (inicio del marco). Este esquema permite ahorrar bits del descriptor (ya que se requieren menos bits para indicar un número correlativo que para indicar direcciones de memoria) pero implica la realización de shifts adicionales para realizar la traducción de la dirección virtual.
Saludos
SN