Virtueller Speicher ist eine Art der Speicherverwaltung, die ein neuer Trend in der in Computern verwendeten Technologie ist. Die Hardware (der physische Teil des Computers, wie z.B. die CPU oder Grafikkarte) führt Software aus. Diese Software benötigt Computerspeicher, um zu laufen und das zu tun, was sie tun muss. Die meisten Computer, die heute verwendet werden, können mehr als eine Sache auf einmal tun, sie führen mehr als eine Anwendung aus. Dies wird als Multiprocessing bezeichnet.

In diesem Fall teilen sich alle Programme oder Anwendungen, die zu einem Zeitpunkt auf dem Computer laufen, seine Ressourcen. Ein Computer hat nicht mehr Prozessoren oder Hauptspeicher (RAM), nur weil mehr Programme auf ihm laufen.

Virtueller Speicher ist die Vorstellung, dass die Anwendung einen Speicherblock einer bestimmten Größe sieht. Die Anwendung kann diesen Speicher nach eigenem Ermessen nutzen. Dieser Speicherblock ist virtuell in dem Sinne, dass er aus verschiedenen Teilen stammt. Ein Teil davon kann sich im Hauptspeicher des Computers befinden, einige können aber auch auf der Festplatte liegen. Die CPU hat einen speziellen Teil, die so genannte Arithmetic Logic Unit, die einige der Übersetzungen zwischen dem Anwendungsspeicher und den Systemressourcen vornimmt. Moderne Betriebssysteme erledigen ebenfalls einen Teil dieser Arbeit.

Wenn ein Programm versucht, auf einen Speicherblock zuzugreifen, der sich nicht im Systemspeicher befindet, wird dieses Programm gestoppt und der Block in den Systemspeicher geladen. Was sich in diesem Teil des Systemspeichers befand, wird auf die Festplatte geschrieben. Dies wird gewöhnlich als Paging bezeichnet.

Bestimmte Computersysteme, wie z.B. eingebettete Systeme, verwenden keinen virtuellen Speicher, da sie eine sehr schnelle oder immer gleich bleibende Reaktionszeit benötigen. Eines der Probleme besteht darin, dass es mit virtuellem Speicher schwierig ist, die Antwortzeit vorherzusagen. Eine Anwendung, die einen Teil des Arbeitsspeichers verwendet, der von der Festplatte geladen werden muss, wird eine andere Antwortzeit haben als eine, bei der dies nicht der Fall ist. Daher wird das Konzept des virtuellen Speichers in eingebetteten Systemen nicht verwendet.