Algoritma - Algoritma Penggantian Page
Postingan kali saya akan memaparkan mengenai macam - macam algoritma penggantian halaman.
- Algoritma Penggantian Page Acak
Pada algoritma ini setiap kali terjadi page fault penggantian page nya di pilih dengan cara acak. Dan teknik ini tidak memerlukan informasi apapun untuk menentukan page yang di ganti tersebut. Itu karena semua page di memori utamanya mempunyai bobot yang sama sehingga tidak ada kriteria tertentu untuk di pilih.
Karena teknik ini mengganti page dengan cara acak dan bebas, maka bisa saja page yang sedang diacu (page yang seharusya tidak di ganti) pun dapat di pilih, sehingga menimbulkan rate terjadinya page fault yang sangat tinggi.
- Algoritma Penggantian Page Optimal
Algoritma ini di sebut juga sebagai Algoritma utopia (ideal tanpa dapat di jadikan kenyataan), mengapa demikian? Sebab algoritma ini tak mungkin di buat prosedur yang dapat mengetahui peluang pemakaian suatu page kembali di masa datang.
Mekanisme dari algoritma ini adalah dengan mengumpulkan dan memakai informasi untuk menentukan page yang di ganti sehingga mendekati optimal. Dasar dari algoritma ini yakni memilih page yang berpeluang dapat di pakai kembali di masa yang akan datang yang paling kecil. Maksudnya memakai kembali page yang kemungkinan kecil tidak dapat di gunakan lagi, otimalisasi page.
Algoritma ini penting untuk kajian teoritis sebagai pembanding bagi algoritma-algoritma penggatian page yang lain.
- Algoritma Penggantian Page NRU (Not-recently Used)
Bit R : referenced (menyatakan page yang sedang diacu)
Bit R = 0 berarti sedang diacu
Bit R = 1 berarti tidak sedang diacu
Bit M : modified (menyatakan page telah dimodifikasi)
Bit M = 1 berarti dimodifikasi
Bit M = 0 berarti tidak dimodifikasi
Sehingga, page-page dapat dikelompokan menjadi 4 kelas page, yaitu:
- Kelas 0 (R=0, M=0) : tidak sedang diacu dan belum dimodifikasi
- Kelas 1 (R=0, M=1) : tidak sedang diacu tapi telah dimodifikasi
- Kelas 2 (R=1, M=0) : sedang diacu tapi belum dimodifikasi
- Kelas 3 (R=1, M=1) : sedang diacu dan sudah dimodifikasi
Berdasarkan pembagian kelas tersebut diatas, maka untuk pemilihan page pengganti dilihat dari kelas yang bernomor paling rendah, tapi apabila terdapat page-page di kelas tersebut pemilihan dilakukan secara acak. Dan apabila kelas tersebut kosong maka dipilih page dikelas yang paling tinggi, begitupun seterusnya.
Inti dari algoritma ini adalah mengasumsikan kelas-kelas bernomor lebih rendah akan baru akan di gunakan kembalil dalamwaktu relatif lama.
- Algoritma Penggantian Page FIFO (First-In, First-Out)
Cara kerja algoritma ini simple, seperti halnya dengan antrian tak berprioritas. Dimana page yang masuk lebih dulu maka akan keluar lebih dulu juga. Oleh karena algoritma ini menggunakan struktur data stack, yaitu jika tidak ada frame yang kosong pada saat terjadi page fault maka frame yang berada pada stack paling bawah akan dipilih.
Algoritma ini dapat memindahkan page yang sering digunakan berdasarkan informasi mengenai lamanya berada di memori. Dan bisa saja page itu selalu berada di memori karena selalu digunakan.
- Algoritma Penggantian Page Modifikasi dari Algoritma FIFO
Ada 2 variasi FIFO, yakni:
- Algoritma penggantian page kesempatan kedua (second chance page replacement agorithm)
- Algoritma penggantian clock page (clock page replacement algorithm)
Kedua algoritma ini adalah sama, hanya berbeda pada implementasinya, jika second chance menggunakan senarai lurus tidak sirkular, sedangkan clock page menggunakan senarai sirkular.
- Algoritma Penggantian Page LRU (Least Recently Used)
Itulah beberapa point tentang algoritma penggantian page,
hmm,, mudah-mudahan bermanfaat ya,,,
Terima Kasih Sudah Membaca,, ^_^