Kernel berperan penting dalam manajemen memori virtual, dimana kernel akan membentuk ruang alamat yang baru di memori virtual dalam dua kondisi:
exec(). Ketika
system call exec() dipanggil oleh proses
untuk menjalankan suatu program, maka proses
akan diberikan ruang alamat virtual yang
masih kosong. Kemudian
routine-routine
akan bekerja me-load
program dan mengisi ruang alamat ini.
fork().
Intinya menyalin secara keseluruhan ruang
alamat virtual dari proses yang ada.
Langkah-langkahnya adalah sebagai berikut:
vm_area_struct dari proses induk,
fork(), maka induk
dan anak akan berbagi halaman fisik yang sama.
Di samping itu, ada kasus khusus yang harus diperhatikan, yaitu ketika proses penyalinan dilakukan terhadap blok di memori virtual yang bersifat private, dimana blok tersebut dipakai lebih dari satu proses selain proses induk dan anak yang memang berbagi halaman yang sama dan ada proses yang hendak menulis blok tersebut. Jika ini terjadi maka akan dilakukan mekanisme Copy-On-Write, yang berarti mengubah dan memakai salinannya.