Perangkat keras komputer yang bertanggung jawab untuk mengelola sistem memori komputer disebut unit manajemen memori (MMU). Komponen ini berfungsi sebagai buffer antara CPU dan memori sistem. Fungsi yang dilakukan oleh unit manajemen memori biasanya dapat dibagi menjadi tiga area: manajemen memori perangkat keras, manajemen memori sistem operasi, dan manajemen memori aplikasi. Meskipun unit manajemen memori dapat menjadi komponen chip yang terpisah, biasanya terintegrasi ke dalam unit pemrosesan pusat (CPU).
Umumnya, perangkat keras yang terkait dengan manajemen memori mencakup memori akses acak (RAM) dan cache memori. RAM adalah kompartemen penyimpanan fisik yang terletak di hard disk. Ini adalah area penyimpanan utama komputer tempat data dibaca dan ditulis. Cache memori digunakan untuk menyimpan salinan data tertentu dari memori utama. CPU mengakses informasi ini yang disimpan dalam cache memori, yang membantu mempercepat waktu pemrosesan.
Ketika memori fisik, atau RAM, kehabisan ruang memori, komputer secara otomatis menggunakan memori virtual dari hard disk untuk menjalankan program yang diminta. Unit manajemen memori mengalokasikan memori dari sistem operasi ke berbagai aplikasi. Area alamat virtual, yang terletak di dalam unit pemrosesan pusat, terdiri dari berbagai alamat yang dibagi menjadi beberapa halaman. Halaman adalah blok penyimpanan sekunder yang ukurannya sama. Proses paging otomatis memungkinkan sistem operasi untuk memanfaatkan ruang penyimpanan yang tersebar di hard disk.
Alih-alih pengguna menerima pesan kesalahan bahwa memori tidak cukup, MMU secara otomatis menginstruksikan sistem untuk membangun memori virtual yang cukup untuk menjalankan aplikasi. Ruang memori virtual yang berdekatan dibuat dari kumpulan blok memori virtual dengan ukuran yang sama untuk menjalankan aplikasi. Fitur ini merupakan kunci utama untuk membuat proses ini bekerja secara efektif dan efisien karena sistem tidak perlu membuat satu bongkahan memori virtual untuk menangani kebutuhan program. Membuat berbagai ukuran ruang memori untuk mengakomodasi program ukuran yang berbeda menyebabkan masalah yang dikenal sebagai fragmentasi. Hal ini dapat menyebabkan kemungkinan tidak memiliki cukup ruang kosong untuk program yang lebih besar ketika total ruang yang tersedia sebenarnya cukup.
Manajemen memori aplikasi memerlukan proses pengalokasian memori yang diperlukan untuk menjalankan program dari sumber daya memori yang tersedia. Dalam sistem operasi yang lebih besar, banyak salinan dari aplikasi yang sama dapat berjalan. Unit manajemen memori sering memberikan aplikasi alamat memori yang paling sesuai dengan kebutuhannya. Lebih mudah untuk menetapkan program ini ke alamat yang sama. Selain itu, unit manajemen memori dapat mendistribusikan sumber daya memori ke program berdasarkan kebutuhan. Ketika operasi selesai, memori didaur ulang untuk digunakan di tempat lain.
Salah satu tantangan utama untuk unit manajemen memori adalah merasakan kapan data tidak lagi dibutuhkan dan dapat dibuang. Ini membebaskan memori untuk digunakan pada proses lain. Manajemen memori otomatis dan manual telah menjadi bidang studi yang terpisah karena masalah ini. Manajemen memori yang tidak efisien menghadirkan masalah utama dalam hal kinerja sistem komputer yang optimal.