Algoritma FIFO First In First Out
6.4. Algoritma Optimal
Algoritma ini adalah algoritma yang paling optimal sesuai namanya. Prinsip dari algoritma ini adalah mengganti halaman yang tidak akan terpakai lagi dalam waktu lama, sehingga efisiensi pergantian halaman meningkat page fault yang terjadi berkurang dan terbebas dari anomali Belady. Algoritma ini memiliki page fault rate paling rendah di antara semua algoritma di semua kasus. Akan tetapi, optimal belum berarti sempurna karena algoritma ini ternyata sangat sulit untuk diterapkan. Sistem tidak dapat mengetahui halaman-halaman mana saja yang akan digunakan berikutnya. Gambar 6.4. Algoritma Optimal6.5. Algoritma LRU Least Recently Used
Dikarenakan algoritma optimal sangat sulit dalam pengimplementasiannya, maka dibuatlah algoritma lain yang performance-nya mendekati algoritma optimal dengan sedikit cost yang lebih besar. Algoritma ini mengganti halaman yang paling lama tidak dibutuhkan. Asumsinya, halaman yang sudah lama tidak digunakan sudah tidak dibutuhkan lagi dan kemungkinan besar, halaman yang baru di-load akan digunakan kembali. Sama seperti algoritma optimal, algoritma LRU tidak mengalami anomali Belady. Algoritma ini memakai linked list untuk mendata halaman mana yang paling lama tidak terpakai. Linked list inilah yang membuat cost membesar, karena harus meng-update linked list tiap saat ada halaman yang di akses. Halaman yang berada di linked list paling depan adalah halaman yang baru saja digunakan. Semakin lama tidak dipakai, halaman akan berada semakin belakang dan di posisi terakhir adalah halaman yang paling lama tidak digunakan dan siap untuk di-swap. Gambar 6.5. Algoritma LRU 426.6. Implementasi LRU
Ada beberapa cara untuk mengimplementasikan algoritma LRU. Tetapi, yang cukup terkenal ada 2, yaitu counter dan stack. Contoh algoritma di atas menggunakan stack. Counter . Cara ini dilakukan dengan menggunakan counter atau logical clock. Setiap halaman memiliki nilai yang pada awalnya diinisialisasi dengan 0. Ketika mengakses ke suatu halaman baru, nilai pada clock di halaman tersebut akan bertambah 1. Semakin sering halaman itu diakses, semakin besar pula nilai counter-nya dan sebaliknya. Untuk melakukan hal itu dibutuhkan extra write ke memori. Selain berisi halaman-halaman yang sedang di-load, memori juga berisi tentang counter masing-masing halaman. Halaman yang diganti adalah halaman yang memiliki nilai clock terkecil, yaitu halaman yang paling jarang diakses. Kekurangan dari cara ini adalah memerlukan dukungan tambahan counter pada hardware. Stack. Cara ini dilakukan dengan menggunakan stack yang menandakan halaman-halaman yang berada di memori. Setiap kali suatu halaman diakses, akan diletakkan di bagian paling atas stack. Apabila ada halaman yang perlu diganti, maka halaman yang berada di bagian paling bawah stack akan diganti sehingga setiap kali halaman baru diakses tidak perlu mencari kembali halaman yang akan diganti. Dibandingkan pengimplementasian dengan counter, cost untuk mengimplementasikan algoritma LRU dengan menggunakan stack akan lebih mahal karena seluruh isi stack harus di-update setiap kali mengakses halaman, sedangkan dengan counter, yang dirubah hanya counter halaman yang sedang diakses, tidak perlu mengubah counter dari semua halaman yang ada. Gambar 6.6. Algoritma LRU dengan Stack 436.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 44Parts
» SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Memori Calon Revisi 5.0 Kapan?
» Pendahuluan Konsep Dasar Memori
» Proteksi Perangkat Keras Konsep Dasar Memori
» Address Binding Ruang Alamat Logika dan Fisik
» Pemuatan Dinamis Linking Dinamis Pustaka Bersama
» Rangkuman Konsep Dasar Memori
» Pendahuluan Swap Alokasi Memori
» Pemetaan Memori Alokasi Memori
» Partisi Memori Alokasi Memori
» First Fit. Memory manager akan mencari sepanjang daftar yang berisi besarnya ukuran memori
» Next Fit. Algoritma ini hampir sama persis dengan first fit, kecuali next fit meneruskan proses
» Best Fit. Best fit mencari dari keseluruhan daftar kecuali jika daftar tersebut telah terurut
» Worst Fit. Worst fit akan mencari lubang terbesar. Sebagaimana best fit kita harus mencari dari
» Fragmentasi Eksternal. Dalam kasus first fit dan juga best fit sebagaimana yang telah
» Metode Dasar Pemberian Halaman
» Dukungan Perangkat Keras Pemberian Halaman
» Tabel Halaman Bertingkat Pemberian Halaman
» Pendahuluan Arsitektur Intel Pentium
» Segmentasi Arsitektur Intel Pentium
» Segmentasi Pentium Arsitektur Intel Pentium
» Penghalaman Penghalaman Linux Rangkuman
» Demand Paging Memori Virtual
» Penanganan Page Fault Memori Virtual
» Dasar Penggantian Halaman Memori Virtual
» Pendahuluan Algoritma Ganti Halaman
» Reference String Algoritma Ganti Halaman
» Algoritma FIFO First In First Out
» Algoritma Optimal Algoritma LRU Least Recently Used
» Implementasi LRU Algoritma Ganti Halaman
» Algoritma Lainnya Algoritma Ganti Halaman
» Rangkuman Algoritma Ganti Halaman
» Pendahuluan Strategi Alokasi Bingkai
» Jumlah Bingkai Strategi Alokasi Bingkai
» Strategi Alokasi Bingkai Strategi Alokasi Bingkai
» Algoritma Priority Allocation . Algoritma priority allocation merupakan algoritma
» Penggantian Global. Penggantian secara global memperbolehkan suatu proses mencari bingkai
» Pendahuluan Sistem Buddy Seputar Alokasi Bingkai
» Alokasi Slab Seputar Alokasi Bingkai
» Prepaging Ukuran Halaman Seputar Alokasi Bingkai
» Penguncian MK Seputar Alokasi Bingkai
» Windows XP Rangkuman Seputar Alokasi Bingkai
» The paging mechanism. Menentukan halaman-halaman mana saja yang harus dibawa kembali
» Perangkat Keras MK Sistem MK
» Perangkat karakter. SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Komponen Elektronis. Komponen Elektronis disebut juga dengan controller perangkat.
» Control. Register ini ditulis oleh CPU untuk memulai perintah atau untuk mengganti modus
» Memory mapped . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Sequensial atau random-access . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Synchronous atau asyinchronous . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Sharable atau dedicated . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Speed of operation . SistemOperasi-4.X-2. 5372KB Mar 29 2010 05:04:06 AM
» Pendahuluan Subsistem MK Kernel
» Penjadwalan MK Subsistem MK Kernel
» Penyimpanan Masal Dapat berbagi perangkat secara adil diantara banyak proses yang ingin mengakses
» Access Right . Tiap proses membuka berkas dalam access mode . Informasi ini disimpan pada
» Akses sekuensial. Akses ini merupakan yang paling sederhana dan paling umum digunakan.
» Akses langsung relative access . Sebuah berkas dibuat dari rekaman-rekaman logical yang
» Tipe-tipe akses. Kebutuhan untuk mengamankan berkas berhubungan langsung dengan
» Operasi Direktori Struktur Direktori
» Membuat berkas. Saat sebuah berkas baru dibuat, maka sebuah entri akan ditambahkan ke
» Menghapus berkas. Ketika suatu berkas tidak dibutuhkan lagi, maka berkas tersebut bisa
» Menampilkan isi direktori. Menampilkan seluruh atau sebagian daftar berkas-berkas yang ada
» Mengubah nama berkas. Nama suatu berkas merepresentasikan isi berkas terhadap pengguna.
» Akses sistem berkas. Pengguna bisa mengakses setiap direktori dan setiap berkas yang berada
» Update direktori. Karena sebagian atribut dari berkas disimpan dalam direktori, maka
» Direktori Bertingkat Struktur Direktori
» Direktori Berstruktur Pohon Struktur Direktori
» Pendahuluan Sistem Berkas FHS
» Pendahuluan Struktur Sistem Berkas
» File Control Block Implementasi Sistem Berkas
» Partisi Sistem ROOT Implementasi Sistem Berkas
» Alokasi Berkesinambungan . 2. Alokasi Link .
» Linked Scheme . Untuk suatu berkas, blok indeks normalnya adalah satu blok. Untuk berkas
» Pendahuluan Aneka Aspek Sistem Berkas
» Kinerja Aneka Aspek Sistem Berkas
» Linked Allocation. Hampir sama seperti contiguous allocation , metode ini dapat langsung
» Indexed Allocation. : Metode ini menyimpan index blok di memori. Jika index blok yang dicari
» Efisiensi Aneka Aspek Sistem Berkas
» NFS Aneka Aspek Sistem Berkas
» Mount NFS Aneka Aspek Sistem Berkas
» Protokol NFS Aneka Aspek Sistem Berkas
» Rangkuman Aneka Aspek Sistem Berkas
» Pendahuluan Struktur Disk Media Disk
» Pemilihan Algoritma Penjadwalan Media Disk
» Pendahuluan Sistem Penyimpanan Masal
» Format Sistem Penyimpanan Masal
» Boot Sistem Penyimpanan Masal
» Bad Block Swap Sistem Penyimpanan Masal
» RAID Pemilihan Tingkatan RAID
» Penyimpanan Tersier Sistem Penyimpanan Masal
» Dye-Polimer disk. Dye-polimer merekam data dengan membuat bumpgelombang disk dilapisi
» Kecepatan . Kecepatan dari penyimpanan tersier memiliki dua aspek: benwidth dan latency,
» Kehandalan. Removable magnetic disk tidak begitu dapat diandalkan dibandingkan dengan
» Pendahuluan Sistem Berkas Linux
» Locked. Transaksi tidak lagi menerima operasi atomic update, dan belum semua atomic update
» Flush. Semua atomic update yang terdapat dalam suatu transaksi telah selesai, sehingga
» Commit. Sistem akan menulis commit record yang menandakan penulisan ke jurnal telah
» Finished. Transaksi dan commit record telah selesai ditulis ke jurnal.
» Topik Lanjutan Berkas yang namanya adalah string .
» Kendali Aplikasi Application Control . Untuk memperkecil dan mendeteksi operasi-operasi
» Keheterogenan perangkatmultiplisitas perangkat. Suatu sistem terdistribusi dapat dibangun
» Keterbukaan. Setiap perangkat memiliki antarmuka interface yang di-publish ke komponen
» Concurrency of components. Pengaksesan suatu komponensumber daya secara bersamaan
» Transparansi. Bagi pemakai, keberadaan berbagai perangkat multiplisitas perangkat dalam
» Computation Migration. Terkadang, kita ingin mentransfer komputasi, bukan data. Pendekatan
» Process Migration. Ketika sebuah proses dieksekusi, proses tersebut tidak selalu dieksekusi di
» Naming and name resolution. Bagaimana dua buah proses menempatkanmemposisikan satu
» Dengan remote service. Permintaan akses data dikirimkan ke server. Server melakukan akses ke
» Pendahuluan Waktu Nyata dan Multimedia
» Kernel Waktu Nyata Waktu Nyata dan Multimedia
» Penjadwalan Berdasarkan Prioritas Waktu Nyata dan Multimedia
» Kernel Preemptif Waktu Nyata dan Multimedia
» Pengurangan Latensi Waktu Nyata dan Multimedia
» Penjadwalan Proses Waktu Nyata dan Multimedia
» Penjadwalan Disk Manajemen Berkas
» Manajemen Jaringan Waktu Nyata dan Multimedia
» UniMulticasting Waktu Nyata dan Multimedia
» Streaming Protocol Waktu Nyata dan Multimedia
» Kompresi Waktu Nyata dan Multimedia
» Rangkuman Waktu Nyata dan Multimedia
» Pendahuluan Perancangan dan Pemeliharaan
» Merancang Antarmuka. Dalam merancang antarmuka ada beberapa tahapan yang harus
Show more