Algoritma Optimal Algoritma LRU Least Recently Used

6.7. Algoritma Lainnya

Sebenarnya masih banyak algoritma ganti halaman yang lain selain 3 algoritma utama yang telah dibahas sebelumnya utama bukan berarti paling sering dipakai. Berikut ini adalah 2 contoh algoritma lain yang juga cukup popular dan mudah diimplementasikan. Algoritma yang pertama adalah algoritma second chance. Algoritma second chance berdasarkan pada algoritma FIFO yang disempurnakan. Algoritma ini menggunakan tambahan berupa reference bit yang nilainya 0 atau 1. Jika dalam FIFO menggunakan stack , maka second chance menggunakan circular queue . Halaman yang baru di-load atau baru digunakan akan diberikan nilai 1 pada reference bit-nya. Halaman yang reference bit-nya bernilai 1 tidak akan langsung diganti walaupun dia berada di antrian paling bawah berbeda dengan FIFO. Urutan langkah kerja algoritma second chance adalah sebagai berikut: • Apabila terjadi page fault dan tidak ada frame yang kosong, maka akan dilakukan razia pencarian korban halaman yang reference bit-nya bernilai 0 dimulai dari bawah antrian seperti FIFO. • Setiap halaman yang tidak di- swap karena reference bit-nya bernilai 1, setiap dilewati saat razia reference bit-nya akan diset menjadi 0. • Apabila ditemukan halaman yang reference bit-nya bernilai 0, maka halaman itu yang di-swap. • Apabila sampai di ujung antrian tidak ditemukan halaman yang reference bit-nya bernilai 0, maka razia dilakukan lagi dari awal. Pada gambar di bawah ini, akan diilustrasikan algoritma second chance dan algoritma FIFO sebagai pembanding. Gambar 6.7. Algoritma Second Chance 44 Gambar 6.8. Algoritma FIFO Algoritma kedua adalah algoritma random. Algoritma random adalah algoritma yang cukup sederhana juga selain algoritma FIFO. Dalam algoritma ini, halaman yang dipilih menjadi korban dipilih secara acak. Meskipun terdengar asal, tetapi algoritma ini relatif low cost, karena tidak memerlukan stack, queue atau counter. Dibandingkan dengan FIFO, rata-rata kasus menunjukkan page fault rate algoritma random lebih rendah daripada algoritma FIFO. Sedangkan dibandingkan dengan LRU, algorima random ini lebih unggul dalam hal memory looping reference , karena algoritma random sama sekali tidak memerlukan looping. Gambar 6.9. Algoritma Random

6.8. Rangkuman

Page fault terjadi apabila terdapat halaman yang ingin diakses tetapi halaman tersebut tidak terdapat di dalam memori utama. Jika terjadi page fault dan tidak ada frame yang kosong, maka dipilih frame tumbal yang akan di-swap. Pemilihan halaman dilakukan dengan algoritma ganti halaman. Algoritma dipilih yang paling rendah page fault rate-nya dan tidak sulit untuk diimplementasikan. Contoh algoritma ganti halaman: • Algoritma FIFO • Algoritma Optimal • Algoritma LRU • Algoritma Second Chance • Algoritma Random 45