Memori Virtual adalah cara mengelola memori yang merupakan tren teknologi terkini yang digunakan dalam komputer. Perangkat keras (bagian fisik komputer, seperti CPU atau kartu grafis) menjalankan perangkat lunak. Perangkat lunak ini akan membutuhkan memori komputer untuk berjalan, dan melakukan apa yang perlu dilakukannya. Sebagian besar komputer yang digunakan saat ini dapat melakukan lebih dari satu hal pada satu waktu, mereka menjalankan lebih dari satu aplikasi. Hal ini dikenal sebagai multiprocessing.

Dalam hal ini, semua program atau aplikasi yang berjalan di komputer pada suatu waktu berbagi sumber dayanya. Komputer tidak memiliki lebih banyak prosesor atau memori utama (RAM) hanya karena lebih banyak program yang berjalan di dalamnya.

Memori virtual adalah gagasan bahwa aplikasi melihat blok memori dengan ukuran tertentu. Aplikasi dapat menggunakan memori ini sesuai keinginannya. Blok memori ini bersifat virtual dalam arti bahwa ia berasal dari bagian yang berbeda. Sebagian mungkin berada di memori utama komputer, tetapi sebagian juga mungkin berada di disk. CPU memiliki bagian khusus, yang disebut Arithmetic Logic Unit yang melakukan beberapa terjemahan antara memori aplikasi dan sumber daya sistem. Sistem operasi modern juga melakukan sebagian dari pekerjaan ini.

Apabila suatu program mencoba mengakses blok memori yang tidak berada dalam memori sistem, program itu dihentikan, dan blok itu dimuat ke dalam memori sistem. Apa yang ada di bagian memori sistem itu ditulis ke disk. Ini biasanya disebut paging.

Sistem komputer tertentu, seperti sistem embedded, tidak menggunakan memori virtual, karena mereka memerlukan waktu respons yang sangat cepat, atau yang selalu tetap sama. Salah satu masalahnya adalah bahwa dengan memori virtual, sulit untuk memprediksi waktu respons. Aplikasi yang menggunakan sebagian memori yang perlu di-load dari disk akan memiliki waktu respons yang berbeda dengan yang tidak. Oleh karena itu, konsep memori virtual tidak digunakan dalam sistem embedded.