Intentaré comenzar lentamente, y luego armar todo esto para ti. Es como esto:
La memoria virtual, como se usa comúnmente, se refiere a "paginación". Como su nombre indica, la paginación es como un bloc de notas humano.
Cuando trabajas con sumas simples o aprendes información simple, lo haces todo en tu cabeza: solo cargas toda la información, la procesas y obtienes la respuesta. Esto es como una computadora que carga archivos desde el disco duro: carga los programas o imágenes u otra información que necesita para trabajar en su "memoria real" (o "memoria física") y trabaja en ellos con su "cerebro" ( su procesador).
Sin embargo, cuando está aprendiendo información compleja o trabajando con sumas complejas, es posible que no pueda acomodar todo eso en su cabeza a la vez. Te confundes, comienzas a reducir la velocidad, no logras mantener todo ahí a la vez y tienes que olvidar algo para recordar otra cosa.
La solución humana es usar un bloc de notas. Anotamos en las páginas todas las cosas que no podemos recordar a la vez, pero nos referimos a ellas mientras hacemos las sumas. Es posible que no podamos recordar una gran lista de cifras de ventas para el mes, pero podemos mirar las páginas, obtener la información poco a poco y procesar cada bit. Esto es como la computadora "paginando" su memoria: escribiendo páginas llenas de información, y poniéndola en "memoria virtual" para referencia posterior, y dándose cuenta de que necesita una página, y cargando esa página desde la memoria virtual a la memoria real. En Linux y Unix, el lugar donde se almacenan estas páginas se llama literalmente un "archivo de páginas", y las páginas de datos en la memoria se llaman literalmente "páginas". Los diferentes sistemas tienen diferentes nombres para estas cosas, pero el concepto general es muy similar.
Entonces, realmente, la paginación es muy simple. Todas las páginas de información no caben en la memoria, por lo que algunas páginas se colocan en el disco y se vuelven a cargar más tarde.
Ahora, donde se vuelve más complicado es que, los sistemas modernos cuentan con mapeo de memoria y protección de memoria, que generalmente es manejada por el mismo sistema de hardware en la computadora: la unidad de administración de memoria, o MMU.
En una computadora multitarea (moderna), que puede ejecutar muchos programas a la vez y cuenta con protección de memoria, cada programa generalmente está separado de otros programas que se ejecutan en el mismo sistema. De esta manera, un programa no puede alterar otro programa simplemente accediendo a su memoria: la MMU separa físicamente el espacio de direcciones de un programa del de los demás. En otras palabras, los programas del usuario no ven los programas de otros usuarios o incluso otros programas. No ven la "memoria real", ven su propia "memoria virtual".
Ahora, este concepto de aislamiento de memoria y el concepto de archivo de paginación son dos cosas conceptualmente diferentes, lo que probablemente es la razón por la que estás confundido. Sin embargo, la clave es que ambos funcionan utilizando la MMU, la unidad de administración de memoria, que divide la memoria en páginas y asigna las páginas a un espacio de dirección virtual.
Entonces, cuando un programa solicita la memoria en una determinada "dirección de memoria", lo que realmente sucede es que se buscan las páginas de memoria para ese programa y sus direcciones correspondientes (el "espacio de direcciones" del programa) y la página que corresponde a ese bloque de memoria se encuentra. Esa página puede cargarse en algún lugar de la memoria real, en cuyo caso el programa tiene acceso, o puede paginarse en un disco. Si está paginado, desencadena un "error de página": se accede al disco y la página se carga en la memoria. Por lo tanto, el programa funciona incluso cuando no hay suficiente memoria, pero se ejecuta LENTAMENTE, si tiene que usar el disco para lo que normalmente sería un acceso de memoria muy rápido.
Ahora, si no hay suficiente espacio para cargar esa página en la memoria, entonces tiene un problema. En ese caso, alguna OTRA página que ya está en la memoria debe "intercambiarse" en el disco, de modo que se pueda cargar la página del primer programa. O bien, pueden ser igualmente páginas del mismo programa. A veces, esto se ve en programas gráficos, por ejemplo, en sistemas con mucha carga, cuando parte de la imagen se carga lentamente y se dibuja rápidamente, luego la siguiente parte se carga igualmente lentamente y se dibuja rápidamente, y cuando vuelve a trabajar con la primera parte, es lento OTRA VEZ. Esto se debe a que se están cargando para trabajar, luego se cambian nuevamente, para que se pueda trabajar en otra cosa. Obviamente, esta es una forma muy lenta de trabajar, y lo que realmente necesita es más memoria REAL.