Swapping

7:27 PM
     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.

Artikel Terkait

Previous
Next Post »