La mémoire virtuelle est un moyen de gérer la mémoire qui est une tendance récente de la technologie utilisée dans les ordinateurs. Le matériel (la partie physique de l'ordinateur, comme l'unité centrale ou la carte graphique) fait fonctionner les logiciels. Ces logiciels auront besoin de la mémoire de l'ordinateur pour fonctionner et faire ce qu'ils doivent faire. La plupart des ordinateurs utilisés aujourd'hui peuvent faire plus d'une chose à la fois, ils exécutent plus d'une application. C'est ce que l'on appelle le multitraitement.
Dans ce cas, tous les programmes ou applications qui tournent sur l'ordinateur à un moment donné partagent ses ressources. Un ordinateur n'a pas plus de processeurs ou de mémoire principale (RAM) simplement parce que plus de programmes s'y exécutent.
La mémoire virtuelle est l'idée que l'application voit un bloc de mémoire d'une taille donnée. L'application peut utiliser cette mémoire comme bon lui semble. Ce bloc de mémoire est virtuel dans le sens où il provient de différentes parties. Une partie peut se trouver dans la mémoire principale de l'ordinateur, mais une autre peut aussi se trouver sur le disque. L'unité centrale comporte une partie spéciale, appelée unité arithmétique et logique, qui effectue certaines des traductions entre la mémoire de l'application et les ressources du système. Les systèmes d'exploitation modernes effectuent également une partie de ce travail.
Lorsqu'un programme tente d'accéder à un bloc de mémoire qui n'est pas dans la mémoire système, ce programme est arrêté et le bloc est chargé dans la mémoire système. Ce qui se trouvait dans cette partie de la mémoire système est écrit sur le disque. C'est ce qu'on appelle généralement la pagination.
Certains systèmes informatiques, tels que les systèmes embarqués, n'utilisent pas de mémoire virtuelle, car ils nécessitent un temps de réponse très rapide, ou qui reste toujours le même. L'un des problèmes est qu'avec la mémoire virtuelle, il est difficile de prévoir le temps de réponse. Une application qui utilise une partie de la mémoire qui doit être chargée à partir du disque aura un temps de réponse différent de celui d'une application qui n'en utilise pas. C'est pourquoi le concept de mémoire virtuelle n'est pas utilisé dans les systèmes embarqués.

