Permintaan Pemberian Halaman (Demand Paging)

Merupakan implementasi yang paling umum dari memori virtual.

Prinsip permintaan pemberian halaman (demand paging) hampir sama dengan sistem penomoran (paging) dengan menggunakan swapping. Perbedaannya adalah page pada permintaan pemberian halaman tidak akan pernah di-swap ke memori sampai ia benar-benar diperlukan. Untuk itu diperlukan adanya pengecekan dengan bantuan perangkat keras mengenai lokasi dari page saat ia dibutuhkan.

Permasalahan pada Page Fault

Ada tiga kemungkinan kasus yang dapat terjadi pada saat dilakukan pengecekan pada page yang dibutuhkan, yaitu:

  1. Page ada dan sudah berada di memori.

  2. Page ada tetapi belum ditaruh di memori (harus menunggu sampai dimasukkan).

  3. Page tidak ada, baik di memori mau pun di disk (invalid reference --> abort).

Saat terjadi kasus kedua dan ketiga, maka proses dinyatakan mengalami page fault.

Skema Bit Valid - Tidak Valid

Dengan meminjam konsep yang sudah pernah dijelaskan dalam Bab 9, maka dapat ditentukan page mana yang ada di dalam memori dan mana yang tidak ada di dalam memori.

Konsep itu adalah skema bit valid - tidak valid, di mana di sini pengertian "valid" berarti bahwa page legal dan berada dalam memori (kasus 1), sedangkan "tidak valid" berarti page tidak ada (kasus 3) atau page ada tapi tidak ditemui di memori (kasus 2).

Pengesetan bit:
      Bit 1 --> 
      page berada di memori
      Bit 0 --> 
      page tidak berada di   
                memori.
      (Dengan inisialisasi: semua bit 
      di-set 0).

Apabila ternyata hasil dari translasi, bit page = 0, berarti page fault terjadi.