Anda di halaman 1dari 7

E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

Perbandingan Algoritma Pengganti Tiga Halaman: FIFO, LRU dan Optimal

Genta Rexha 1

Erand Elmazi 2

Igli Tafa 2

1 Universitas Elbasan, Fakultas Ekonomi, Departemen Pemasaran dan Teknik


2 Politeknik Universitas Tirana, Fakultas Teknologi Informasi, Jurusan Teknik Komputer
Email: gentarexha@yahoo.com

Doi: 10.5901 / ajis.2015.v4n2s2p56

Abstrak

Kecepatan proses akan dieksekusi tidak hanya bergantung pada implementasi arsitektur komputer, frekuensi clock, tetapi juga memperhatikan politik yang diikuti
algoritma dan struktur data yang diimplementasikan algoritma. Penggunaan algoritme penggantian halaman yang efisien, yang memilih halaman mana dalam
memori yang akan ditukar jika terjadi kesalahan halaman, diperlukan untuk diterapkan dalam sistem memori virtual. Banyak algoritme dikembangkan selama
bertahun-tahun untuk penggantian halaman. Setiap algoritma memiliki tujuan untuk mengurangi jumlah kesalahan halaman. Dengan kesalahan halaman yang lebih
sedikit, kami memiliki peningkatan kinerja dan kecepatan proses meningkat. Dalam makalah ini tiga algoritma (FIFO, LRU dan algoritma penggantian halaman
Optimal) akan diuji dan akan ditampilkan salah satu yang memiliki kinerja terbaik.

Kata kunci: manajemen memori, kebijakan penggantian, algoritma penggantian halaman

1. Perkenalan

Dalam sistem manajemen memori, penggantian halaman merupakan konsep utama. Ketika Kernel membuat proses dengan panggilan sistem (Tanenbaum 2008,
Soares et al. 2010), halaman harus berada di memori utama. Halaman-halaman ini ditempatkan dalam memori akan dibutuhkan oleh proses (Klues et al. 2010).
Jika kita tidak menemukan halaman di memori utama, kita akan menghadapi situasi yang disebut kesalahan halaman. Ketika terjadi kesalahan halaman, proses
perlu menemukan halaman yang menyebabkan kesalahan halaman pada disk. Jika ada ruang kosong di memori utama, ia akan ditempatkan di area ini. Jika tidak
ada ruang kosong maka perlu dilakukan penggantian halaman dengan algoritma yang diimplementasikan. Setelah itu halaman yang dihapus akan ditulis dalam
disk. Kemudian proses bisa melanjutkan pekerjaan, karena halaman yang dibutuhkan ada di memori utama dan proses bisa membacanya.

Ada banyak algoritma penggantian halaman (Tanenbaum 2008) seperti: The Optimal, The Not recent used (NRU), The Not Frequently
Used (NFU), The First-in-First-out (FIFO), The Second Chance, The Clock , The Least recent used (LRU), Aging, The Working Set, The
Working Set Clock yang tersedia dalam manajemen memori (Windows Internal Book).

Konsep penggantian halaman dapat digunakan di banyak bidang desain komputer. Dua dari kegunaan yang paling menarik dan penting adalah: cache
(Brehob et al. 2004) dan server web.

2. Karya Terkait

Ada banyak pekerjaan yang berhubungan dengan algoritma penggantian halaman (Comen et al. 2009). Banyak makalah yang membahas algoritma penggantian
halaman LRU. Di sini, kami fokus pada pekerjaan Heikki Paajanen (Paajanen 2007) tentang perbandingan algoritma penggantian halaman (Chavan et al. 2011).
Dalam tulisan ini, penulis membuat deskripsi tentang manajemen memori dan menjelaskan politik dari semua algoritma penggantian halaman yang digunakan saat
ini. Ia mengusulkan beberapa model formal untuk digunakan sebagai analisis teoritis. Dia, juga, membuat perbandingan rasio hit halaman. Karya menarik lainnya
adalah CFLRU yang merupakan peningkatan LRU untuk memori flash (Park et al. 2006). Dalam makalah ini, algoritma yang diusulkan mempertimbangkan
ketidakseimbangan biaya baca dan tulis dari memori flash saat mengganti halaman. Clean-First LRU menyimpan sejumlah halaman kotor dengan tujuan di cache
halaman untuk mengurangi jumlah operasi penulisan flash. Ini mengurangi biaya penggantian rata-rata sebesar 28,4% dalam sistem swap.

56
E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

3. Deskripsi algoritma

Pada bagian ini tiga algoritma (FIFO, LRU dan OPTIMAL) disajikan. Hasilnya menunjukkan ketika terjadi kesalahan halaman dan bagaimana mengganti (menukar)
bingkai halaman di memori dengan bingkai halaman lain yang ada di disk.

3.1 Algoritma First-in-First-out (FIFO)

Pada langkah pertama, halaman dimuat di memori utama. Jika halaman itu ada di memori, kami meneruskan di halaman lain dan n
meningkat satu (Gambar 1).

Gambar 1: Diagram alir FIFO

Ketika suatu proses membutuhkan halaman yang tidak ada di memori, terjadi kesalahan halaman. Penggantian halaman perlu dilakukan.
Halaman mana yang memilih FIFO (Lo et al 2001) untuk diganti? FIFO memilih halaman yang dimasukkan pertama di memori utama. FIFO menghapus halaman
yang lebih lama.
Pada Tabel 1 diperlihatkan cara kerja FIFO. Sebuah urutan dengan 8 jumlah halaman dan bingkai halaman dengan size = 3 dipilih.

Tabel 1: Algoritme penggantian halaman FIFO


Urutan:
2 3 4 2 1 3 7 5

Langkah 1 2 3 4 5 6 7 8 9
2 2 2 2 1 1 1 1 1
Halaman - 3 3 3 3 3 7 7 7
- - 4 4 4 4 4 5 5

Pada langkah keempat tidak terjadi penggantian apapun, karena halaman tersebut ada di memori. Pada langkah kelima, halaman 2 yang ditempatkan pertama diganti
dengan halaman 1.

57
E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

3.2 Algoritma Optimal

Pada bagian ini algoritma Optimal diperkenalkan. Pada langkah pertama, halaman dimuat dari disk ke memori utama. Berapa banyak bingkai halaman ?! Jumlah
bingkai halaman ditentukan dari kapasitas memori dan mereka dimuat untuk memanggil memori hingga penuh. Ketika terjadi kesalahan halaman, halaman perlu
ditukar (Gambar 2). Sistem operasi menukar halaman, yang penggunaan selanjutnya akan dilakukan paling jauh di masa mendatang.

Gambar 2: Diagram diagram alir yang optimal

Misalnya, halaman yang tidak akan digunakan selama 2 detik berikutnya akan ditukar dengan halaman yang tidak akan digunakan selama 0,8 detik
berikutnya.
Tabel 2 menunjukkan bagaimana algoritma Optimal bekerja. Urutan yang sama dengan 8 jumlah halaman dan frame halaman dengan size = 3 dipilih.

Meja 2: Penggantian halaman yang optimal

Urutan:
2 3 4 2 1 3 7 5

Langkah 1 2 3 4 5 6 7 8
2 2 2 2 1 1 7 5
Halaman - 3 3 3 3 3 3 3
- - 4 4 4 4 4 4

Pada langkah keempat, halaman 2 ada di memori. Pada langkah kelima halaman 2 diganti dengan halaman 1.

58
E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

3.3 Algoritma penggantian halaman LRU

Algoritma ini didasarkan pada teori probabilitas atau ide logika. Ide ini terdiri dari halaman-halaman, yang telah banyak digunakan dalam beberapa instruksi terakhir,
yang mungkin akan digunakan lagi dalam beberapa instruksi berikutnya. Halaman yang tidak digunakan untuk waktu yang lama mungkin tetap dalam kondisi ini lagi.
Ide ini menyarankan filosofi dari algoritma ini, ketika terjadi kesalahan halaman membuang (menukar) halaman, yang tidak digunakan untuk waktu yang lama.
Halaman yang di-swap dari memori adalah halaman dengan penghitung kecil. Hal ini ditunjukkan pada diagram diagram alir pada Gambar 3. Halaman, yang
instruksinya sudah lama tidak dijalankan, diganti. Untuk mengimplementasikan LRU (Kavar et al. 2013) dipilih daftar tertaut untuk menyimpan semua halaman dalam
memori, dengan halaman yang terakhir digunakan di depan dan halaman yang terakhir digunakan di bagian belakang.

Gambar 3: Diagram alir LRU

Tabel 3 menunjukkan bagaimana algoritma LRU bekerja. Urutan yang sama dengan 8 jumlah halaman dan frame halaman dengan size = 3 dipilih.

Tabel 3: Penggantian halaman LRU

Urutan:
2 3 4 2 1 3 7 5

Langkah 1 2 3 4 5 6 7 8
2 2 2 2 2 2 7 7
Halaman - 3 3 3 1 1 1 5
- - 4 4 4 3 3 3

Pada langkah keempat tidak terjadi penggantian karena halaman tersebut ada di memori. Pada langkah kelima halaman 3, yang digunakan setidaknya, diganti
dengan halaman 1.

59
E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

4. Hasil

Jumlah kesalahan halaman dari tiga algoritma diuji (FIFO, LRU dan Optimal) dengan memasukkan jumlah halaman yang sama, urutan yang sama, dan bingkai
halaman yang sama di memori utama.

4.1 Lingkungan

Sistem operasi Windows 7 Ultimate dipilih. Dev C ++ digunakan untuk mengompilasi dan menjalankan aplikasi.

4.2 Tahap pengujian

Urutan angka acak dipilih, karena aplikasi menghasilkan urutan yang berbeda, dan tujuannya adalah untuk menguji kinerja
ketiga algoritma dengan urutan yang sama. Jadi, urutan berikut dipilih:
85625354235326256856234213754315
dan digunakan untuk masing-masing 8 halaman, 16 halaman, 24 halaman dan 32 halaman.

Gambar 5: Tangkapan layar aplikasi

Pada langkah pertama program membutuhkan jumlah halaman yang dianggap berada dalam memori utama. Setelah itu, perlu menempatkan urutan halaman. Pada
langkah berikutnya, menu akan dicetak. Pilihan bisa dibuat. Jumlah frame yang dimasukkan, itulah kapasitas memori utama. Aplikasi menunjukkan untuk setiap
langkah halaman yang saat ini ada di memori utama dan jumlah kesalahan halaman. Sebuah tabel dengan jumlah kesalahan halaman, untuk setiap algoritma,
dengan ukuran bingkai halaman = 3 dan dengan masing-masing 8 halaman, 16 halaman, 24 halaman dan 32 halaman dihasilkan.

60
E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

Tabel 4: Jumlah kesalahan halaman

Ukuran bingkai halaman = 3

Tidak ada halaman 8 16 24 32


Algoritma
FIFO 7 12 18 25
Optimal 6 8 12 18
LRU 6 9 14 20

Hasilnya juga diberikan pada Gambar 5.

Gambar 6: Hasil dari algoritma

5. Kesimpulan

Tujuan dari pekerjaan ini adalah untuk menentukan algoritma yang mewujudkan kinerja terbaik dari sistem. Algoritme penggantian halaman yang baik dapat
mengurangi kesalahan halaman, saat program dijalankan, mengurangi jumlah I / O, dan kemudian meningkatkan efisiensi sistem secara efektif. Waktu adalah titik
kritis untuk sistem. Peningkatan kinerja sistem, dengan kesalahan halaman yang lebih sedikit dibuat. Hasil optimal algoritma terbaik (Gambar 5). FIFO memiliki
kinerja terburuk. Ini memiliki lebih banyak kesalahan halaman ( merosot) ketika jumlah halaman bertambah. Banyak pengujian menunjukkan, bahwa FIFO terkadang
membuat keputusan yang salah. Ini menghapus halaman dari memori dan membawanya kembali hanya setelah dua langkah. Ini membutuhkan waktu berkali-kali,
karena ini menulis halaman dalam disk dan membawanya kembali ke memori utama dalam dua langkah. LRU adalah algoritma yang lebih baik untuk diterapkan
dalam kondisi ini. Ini jelas ditunjukkan pada Gambar 5. Jumlah kesalahan halaman untuk LRU mendekati penggantian halaman Optimal. Hasilnya lebih jelas ketika
jumlah halaman bertambah. Ada tiga masalah yang harus dihadapi. Yang pertama adalah menghasilkan urutan yang sama secara otomatis untuk tiga algoritma. Itu
tidak mungkin, karena menghasilkan tiga urutan berbeda. Masalah kedua adalah mengimplementasikan algoritma LRU dengan benar. Dan yang ketiga, Jumlah
kesalahan halaman saat kami memilih urutan dengan 32 halaman dengan 4 frame halaman di memori adalah 15 untuk optimal, 16 untuk FIFO dan 17 untuk LRU.
Jawaban ini mungkin tergantung pada urutan yang dipilih, dan ini bisa menjadi peluang di ajang terbaik FIFO.

6. Pekerjaan Masa Depan

LRU menjadi algoritme terbaik untuk penerapan penggantian halaman, tetapi memiliki beberapa kelemahan. Dalam algoritme yang digunakan, LRU menyimpan daftar
tertaut dari semua halaman dalam memori, di mana, halaman yang terakhir digunakan ditempatkan di depan, dan halaman yang paling terakhir digunakan
ditempatkan di belakang. Daftar ini harus diperbarui pada setiap referensi memori. Ini termasuk menemukan halaman dalam daftar, menghapusnya, dan kemudian
memindahkannya ke depan. Ini adalah operasi yang sangat memakan waktu. Di masa mendatang, kami akan mencari cara lain untuk mengimplementasikan LRU.
Kinerja LRU akan diuji dengan struktur data yang berbeda dari algoritma untuk menentukan mana yang terbaik. Kemudian cache LRU akan diimplementasikan.

61
E-ISSN 2281-4612 Jurnal Akademik Studi Interdisipliner Vol 4 No 2 S2

ISSN 2281-3993 Agustus 2015


Penerbitan MCSER, Roma-Italia

Referensi

Brehob M. Wagner S. Torng E. Enbody R. (2004). Penggantian optimal Apakah NP-hard untuk cache tidak standar. Transaksi IEEE aktif
Komputer. Vol. 53. No. 1. hal 73-76
Cormen TH Leiserson CE Rivest RL Stein C. (2009). Pengantar algoritma. edisi ketiga. MIT pers
Chavan A. Nayak KR Vora KD Purohit MD Chawan PM (2011). Perbandingan algoritma penggantian halaman. IACSIT
Jurnal Internasional Teknik dan Teknologi. Vol. 3. No. 2
Kavar CC Parmar SS (2013). Analisis kinerja algoritma penggantian halaman LRU. Jurnal Internasional Teknik
Riset dan Aplikasi (IJERA) Vol. 3. Edisi 1. pp.2070-2076
Klues K. Rhoden B. Zhu Y. Waterman A. Brewer E. (2010). Proses dan manajemen sumber daya dalam OS banyak inti yang dapat diskalakan.
HotPar10. Berkeley. CA
Lo CT Srisa-An W. Chang JM (2001). Sebuah studi tentang performa penggantian halaman di heap pengumpulan sampah. Jurnal Sistem dan
Perangkat lunak. masalah 3. Vol. 58. hlm. 235 - 245

Paajanen H. (2007). Penggantian halaman dalam manajemen memori sistem operasi. Tesis Master di Teknologi Informasi.
Universitas Jyväskylä
Park Seon-yeong Jung D.Kang Jeong-uk Kim Jin-soo Lee J. (2006). Cflru: algoritma pengganti untuk memori flash. Prosiding
konferensi internasional tahun 2006 tentang Penyusun. Arsitektur
Tanenbaum AS (2008). Sistem Operasi Modern. Pearson Edisi Internasional. bagian 3
Soares L. Stuum M. (2010). FlexSC: Penjadwalan panggilan sistem yang fleksibel dengan panggilan sistem tanpa pengecualian. Prosiding USENIX ke-9
konferensi tentang desain sistem Operasi dan implementasi buku Windows
Internals. edisi kelima. Manajemen memori ( bab 9)

62

Anda mungkin juga menyukai