Comencemos con el escenario en el que tenemos un programa que es más grande que la RAM disponible.
Digamos que la RAM es de 64 KB y el tamaño del programa es de aproximadamente … 500 KB.
Ahora para evaluar todo el programa (estoy hablando de un ejecutable aquí, donde el código fuente ya se ha convertido en código de ensamblaje, con todos los elementos de enlace y carga necesarios para ejecutar el programa en la RAM), el programa debe ser presente en la RAM.
- VMware o VirtualBox, ¿cuál es mejor para 4 GB de RAM y un procesador Core i5?
- Cuál es la mejor computadora portátil que puedo obtener con Rs. 50k? Estoy en la universidad, y las especificaciones que quiero son un i5 con 8GB de RAM, gráficos de 2GB y un disco duro de 1TB.
- ¿Cómo subvolumen la RAM de mi computadora portátil? ¿Mejorará eso la duración de la batería?
- ¿Cómo podría aumentarse la 'RAM' del cerebro humano?
- ¿Por qué requerimos RAM?
Pero el problema es que el programa es mucho más grande que la RAM. ¿Entonces? ¿Solución? Cargue el programa en partes del HDD, evalúe en partes, almacene el resultado, luego cargue la siguiente parte del HDD, evalúelo, etc., hasta que se ejecute todo el programa. En este ejemplo, se deben cargar 500 KB de programa en aproximadamente … 500/64 ~ 8 partes.
1] Esto se llama SWAP. Cuando no hay suficiente espacio en la RAM para ejecutar todo el programa, el sistema operativo debe realizar repetidamente llamadas al HDD para cargar partes posteriores del programa en la RAM para que la CPU lo ejecute. (Aquí el HDD funciona como memoria virtual … es decir, al programador se le da la ilusión como si tuviera cantidades ilimitadas de RAM para ejecutar su programa … El HDD es tan grande que puede considerarse ilimitado).
2] Sin embargo, eso es solo una parte de la historia.
En el entorno multitarea de hoy, el sistema operativo mantiene partes de muchos programas en la RAM en todo momento, para que la CPU pueda recorrer muchos programas sin problemas. Aquí me refiero principalmente a los servicios en segundo plano del sistema operativo y a un escenario en el que tiene un navegador, un reproductor multimedia, un documento de Word, etc. Todo abierto al mismo tiempo.
Para esto, es mejor cargar pequeños servicios en su totalidad y programas más grandes en partes, para que la experiencia general pueda ser mejor en el hardware ya mejor.