GNU/Linux >> Tutoriales Linux >  >> Linux

¿Diferencia entre página virtual y marco de página?

La memoria física está organizada en MARCOS DE PÁGINA. El tamaño de un marco de página es una potencia de 2 en bytes y varía entre sistemas.

La memoria lógica está organizada en PÁGINAS. El tamaño de la página coincide con un marco de página.

Una dirección lógica se divide en un selector de página y un desplazamiento en la página.

Las páginas lógicas se asignan a marcos de página mediante tablas de página. La estructura de una tabla de páginas varía entre los sistemas. El selector de páginas de una dirección lógica sirve como índice en una tabla de páginas.

En la mayoría de los sistemas, las tablas de páginas pueden especificar direcciones lógicas válidas que no tienen un marco de página asociado. Este es un sistema de memoria virtual. Si una aplicación intenta acceder a dicha página, activa una excepción de falla de página. El controlador de errores de página del sistema operativo debe asignar un marco de página físico, cargar el marco de página utilizando datos del almacenamiento secundario, actualizar la tabla de páginas para asignar la página lógica al marco de página físico recién asignado y, finalmente, reiniciar la instrucción que provocó el error.

El sistema operativo gestiona las tablas de páginas. La CPU (de forma transparente para la aplicación) traduce marcos de página lógicos en marcos de página físicos utilizando la tabla de páginas.


El marco de página es una propiedad física de la memoria principal. Considerando que, la página virtual es... virtual.

frame 0  frame 1  frame 2  frame 3  frame 4
----------------------------------------------
|        |        |        |        |        |
|        |        |        |        |        |
---------------------------------------------- Main Memory

Una página (o página de memoria, o página virtual, o página lógica) es un bloque contiguo de memoria virtual de longitud fija.

Un marco (o marco de memoria, o página física, o marco de página) es un bloque de RAM de longitud fija (es decir, memoria física, existe, como en "físico". La memoria virtual se inventa para que nuestras matemáticas funcionen de manera adecuada y eficiente para administrar la memoria de forma segura).

Tenga en cuenta que es posible que el marco no sea contiguo, pero la página sí lo será. Queremos que el proceso, el sistema operativo, se ocupe de las direcciones consecutivas, ya que facilita todo. Deje que un chip de hardware dedicado (la MMU) corresponda la dirección virtual con la dirección física adecuada y viceversa.

Las direcciones virtuales son utilizadas por el proceso, mientras que las direcciones físicas son utilizadas por el hardware, es decir. la CPU (colocando la dirección en su bus de direcciones para solicitar un acceso a la memoria) y el subsistema RAM (MMU, tablas de páginas, etc.). los espacios se configuran en forma de direcciones virtuales. Cuando los procesa el procesador, se asignan nuevamente a las ubicaciones físicas disponibles en la memoria, ya sea RAM o HDD, con la ayuda de la MMU.

PD:no apruebo el uso del término marco de página. Es probable que te des cuenta de que es la fuente de confusiones. Cíñete a "página" y "marco", dos palabras muy simples con un significado claro.


Linux
  1. ¿Diferencia entre Shell de inicio de sesión y Shell sin inicio de sesión?

  2. ¿Diferencia entre 2>&-, 2>/dev/null, |&, &>/dev/null y>/dev/null 2>&1?

  3. ¿Cuál es la diferencia entre Sudo Su y Sudo Su?

  4. ¿Diferencia entre tubería y expansión de comando?

  5. ¿Diferencia entre el usuario de Sudo y el usuario raíz?

Explicación de la diferencia entre apt y apt-get

¿La diferencia entre Nss y Pam?

Diferencia entre GNUWin32 y cygwin

diferencia entre netstat y ss en linux?

Diferencia entre ${} y $() en Bash

diferencia entre cgroups y espacios de nombres