WELLCOME TO MY WORLD

terimakasih kepada pengunjung yang bersedia mampir di blog saya........................
selamat menjelajah........

Kamis, 03 Juni 2010

DEMAND PAGING

Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan. Daripada melakukan swapping, keseluruhan proses ke dalam memori utama, digunakanlah yang disebut lazy swapper yaitu tidak pernah menukar sebuah halaman ke dalam memori utama kecuali halaman tersebut diperlukan. Keuntungan yang diperoleh dengan menggunakan demand paging sama dengan keuntungan pada memori virtual.
Saat melakukan pengecekan pada halaman yang dibutuhkan oleh suatu proses, terdapat tiga kemungkinan kasus yang dapat terjadi, yaitu:
Halaman ada dan sudah langsung berada di memori utama - statusnya adalah valid ("v" atau "1")
Halaman ada tetapi belum berada di memori utama atau dengan kata lain halaman masih berada di disk sekunder - statusnya adalah tidak valid/invalid ("i" atau "0")
Halaman benar - benar tidak ada, baik di memori utama maupun di disk sekunder (invalid reference) - statusnya adalah tidak valid/invalid ("i" atau "0")
Ketika kasus kedua dan ketiga terjadi, maka proses dinyatakan mengalami kesalahan halaman (page fault). Selanjutnya proses tersebut akan dijebak ke dalam sistem operasi oleh perangkat keras.

Skema Bit Valid - Tidak Valid
Dalam menentukan halaman mana yang ada di dalam memori utama dan halaman mana yang tidak ada di dalam memori utama, diperlukan suatu konsep, yaitu skema bit valid - tidak valid. Kondisi valid berarti bahwa halaman yang dibutuhkan itu legal dan berada di dalam memori utama (kasus pertama). Sementara tidak valid/invalid adalah kondisi dimana halaman tidak ada di memori utama namun ada di disk sekunder (kasus kedua) atau halaman memang benar-benar tidak ada baik di memori utama maupun disk sekunder (kasus ketiga).
Pengaturan bit dilakukan sebagai berikut:
Bit = 1 berarti halaman berada di memori utama
Bit = 0 berarti halaman tidak berada di memori utama
Apabila ternyata hasil dari mengartikan alamat melalui page table menghasilkan bit halaman yang bernilai 0, maka akan menyebabkan terjadinya page fault .
Page fault adalah interupsi yang terjadi ketika halaman yang diminta/dibutuhkan oleh suatu proses tidak berada di memori utama. Proses yang sedang berjalan akan mengakses page table (tabel halaman) untuk mendapatkan referensi halaman yang diinginkan. Page fault dapat diketahui/dideteksi dari penggunaan skema bit valid-tidak valid ini. Bagian inilah yang menandakan terjadinya suatu permintaan pemberian halaman .
Jika suatu proses mencoba untuk mengakses suatu halaman dengan bit yang di-set tidak valid maka page fault akan terjadi. Proses akan dihentikan sementara halaman yang diminta/dibutuhkan dicari didalam disk.

Tidak ada komentar: