Melanjutkan dari :
http://muhammadputraaa.blogspot.com/
Untuk membedakan antara page pada memori dengan page
pada disk digunakan valid-invalid bit. Tabel page untuk page
yang berada di memori diset “valid’, sedangkan tabel page untuk page
yang tidak sedang di memori (ada pada disk) diset
“invalid”.
gambar : beberapa page tidak sedang
berada di memori
Akses ke page yang diset “invalid” menyebabkan page
fault, yang menyebabkan trap ke sistem operasi. Karena status (register,
kode kondisi, counter instruksi) dari proses ter-interrupt disimpan bila
terjadi page fault, proses dapat dimulai lagi pada tempat dan status
yang sama, kecuali page yang cocok sedang di memori dan sedang diakses.
Prosedur untuk menangani page fault, sebagai berikut :
1.
Sistem operasi melihat tabel untuk menentukan jika acuan invalid maka proses
dihentikan dan page sedang tidak berada di
memori.
2.
Jika acuan invalid dilakukan trap ke sistem operasi.
3.
Sistem mencari frame kosong
4.
Sistem melakukan proses swapping ke frame bebas.
5.
Tabel page di-reset, bit valid-invalid diset 1 atau valid
6.
instruksi di-restart.
gambar : langkah-langkah bila terjadi
page fault
Apabila tidak ditemukan frame bebas maka dilakukan
page replacement yaitu mencari beberapa page di memori yang tidak
digunakan kemudian dilakukan swap out ke backing store. Terdapat
beberapa algoritma page replacement dimana performansi algoritma
diharapkan menghasilkan jumlah page fault minimum. Beberapa page
kemungkinan dibawa ke memori beberapa kali.
Perangkat keras yang dibutuhkan untuk mendukung demand
paging sama
dengan
perangkat keras untuk sistem paging dengan swapping yaitu
• Tabel page : tabel mempunyai kemampuan
untuk memberi entry bit valid-invalid
atau nilai khusus untuk bit proteksi
• Memori sekunder : digunakan untuk
membawa page yang tidak di memori dan
biasanya adalah disk kecepatan tinggi yang
disebut swap device.
Berlanjut di blog :
Tidak ada komentar:
Posting Komentar