Sebuah
proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap)
sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan
eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang
cukup untuk meletakkan copy dari semua memory image untuk semua user,
sistem juga harus menyediakan akses langsung ke memory image tersebut.
Contohnya, sebuah lingkungan multiprogramming dengan penjadwalan CPU
menggunakan algoritma round-robin. Pada saat waktu kuantum berakhir,
manajer memori akan memulai untuk menukar proses yang baru selesai keluar dan
menukar proses lain ke dalam memori yang dibebaskan seperti pada gambar berikut
ini.
Pada
waktu berjalan, penjadwal CPU (CPU scheduler) akan mengalokasikan
sejumlah waktu untuk proses yang lain di memori. Ketika masing-masing proses
menyelesaikan waktu kuantum-nya, akan ditukar dengan proses yang lain.
Kebijakan penukaran juga dapat digunakan pada algoritma penjadwalan berbasis
prioritas. Jika proses mempunyai prioritas lebih tinggi datang dan meminta
layanan, memori akan swap out proses dengan prioritas lebih rendah
sehingga proses dengan prioritas lebih tinggi dapat di-load dan
dieksekusi. Umumnya sebuah proses yang di-swap out akan menukar kembali
ke ruang memori yang sama dengan sebelumnya. Jika proses pengikatan dilakukan
pada saat load-time, maka proses tidak dapat dipindah ke lokasi yang
berbeda.
Apabila CPU scheduler memutuskan
untuk mengeksekusi proses, maka sistem operasi akan memanggil dispatcher.
Dispatcher memeriksa untuk melihat apakah proses selanjutnya pada ready
queue ada di memori. Jika tidak dan tidak terdapat cukup memori bebas, maka
dispatcher swap out sebuah proses yang ada di memori dan swap in proses
tersebut. Kemudian reload register ke keadaan normal. Teknik swapping
yang sudah dimodifikasi ditemui pada beberapa sistem misalnya Linux, UNIX dan
Windows. Pada sistem operasi linux Untuk melakukan pengecekan sisa dan kapasitas
RAM kita baik phisycall maupun swap nya gunakan perintah : free –m.
EmoticonEmoticon