Professional Documents
Culture Documents
frame halaman
Dari contoh diatas, terdapat 15 kesalahan halaman. Algoritma FIFO
mudah untuk dipahami dan diimplementasikan. Namun
performance-nya tidak selalu bagus. Salah satu kekurangan dari
algoritma FIFO adalah kemungkinan terjadinya anomali Beladi,
dimana dalam beberapa kasus, tingkat kesalahan akan meningkat
seiring dengan peningkatan jumlah frame yang dialokasikan.
Page replacement
Pemindahan Halaman Secara Optimal
Salah satu akibat dari upaya mencegah terjadinya anomali Beladi
adalah algoritma pemindahan halaman secara optimal. Algoritma ini
memiliki tingkat kesalahan halaman terendah dibandingkan dengan
algoritma-algoritma lainnya. Algoritma ini tidak akan mengalami
anomaly Belady. Konsep utama dari algoritma ini adalah mengganti
halaman yang tidak akan digunakan untuk jangka waktu yang
paling lama. Algoritma ini menjamin kemungkinan tingkat
kesalahan terendah untuk jumlah frame yang tetap. Sebagai
contoh:
70120304230321201701777222227000040001133311
frame halaman
Dari contoh diatas, terdapat 12 kesalahan halaman. Meski pun algoritma
ini menghasilkan 12 kesalahan halaman, algoritma ini masih lebih baik
daripada algoritma FIFO, yang menghasilkan 15 kesalahan halaman.
Untuk mengimplementasikan algoritma LRU, terdapat 2 implementasi
yang dapat digunakan, yaitu dengan counter dan stack.
Alokasi Frame
Terdapat masalah dalam alokasi frame dalam penggunaan memori
virtual, masalahnya yaitu bagaimana kita membagi memori yang
bebas kepada berbagai proses yang sedang dikerjakan? Jika ada
sejumlah frame bebas dan ada dua proses, berapakah frame yang
didapatkan tiap proses?
Kasus paling mudah dari memori virtual adalah sistem satu pemakai.
Misalkan sebuah sistem mempunyai memori 128K dengan ukuran
halaman 1K, sehingga ada 128 frame. Sistem operasinya
menggunakan 35K sehingga ada 93 frame yang tersisa untuk proses
tiap user. Untuk pure demand paging, ke-93 frame tersebut akan
ditaruh pada daftar frame bebas. Ketika sebuah proses user mulai
dijalankan, akan terjadi sederetan page fault. Sebanyak 93 page fault
pertama akan mendapatkan frame dari daftar frame bebas. Saat
frame bebas sudah habis, sebuah algoritma pergantian halaman
akan digunakan untuk memilih salah satu dari 93 halaman di memori
yang diganti dengan yang ke 94, dan seterusnya. Ketika proses
selesai atau diterminasi, sembilan puluh tiga frame tersebut akan
disimpan lagi pada daftar frame bebas
Algoritma Alokasi
Cara termudah untuk membagi m frame terhadap n proses adalah
untuk memberikan bagian yang sama, sebanyak m/n frame untuk
tiap proses. Sebagai contoh ada 93 frame tersisa dan 5 proses,
maka tiap proses akanmendapatkan 18 frame. Frame yang tersisa,
sebanyak 3 buah dapat digunakan sebagai frame bebas cadangan.
Strategi ini disebut equal allocation.
Sebuah alternatif yaitu pengertian bahwa berbagai proses akan
membutuhkan jumlah memori yang berbeda. Jika ada sebuah
proses sebesar 10K dan sebuah proses basis data 127K dan hanya
kedua proses ini yang berjalan pada sistem, maka ketika ada 62
frame bebas, tidak masuk akal jika kita memberikan masing-masing
proses 31 frame. Proses pertama hanya butuh 10 frame, 21 frame
lain akan terbuang percuma.
Untuk menyelesaikan masalah ini, kita menggunakan proportional
allocation. Kita mengalokasikan memori yang tersedia kepada setiap
proses tergantung pada ukurannya.
Alokasi Global lawan Local
Faktor penting lain dalam cara-cara pengalokasian frame ke berbagai
proses adalah penggantian halaman. Dengan proses-proses yang bersaing
mendapatkan frame, kita dapat mengklasifikasikan algoritma penggantian
halaman kedalam dua kategori broad: Penggantian Global dan Penggantian
Lokal. Penggantian Global memperbolehkan sebuah proses untuk
menyeleksi sebuah frame pengganti dari himpunan semua frame, meski
pun frame tersebut sedang dialokasikan untuk beberapa proses lain; satu
proses dapat mengambil sebuah frame dari proses yang lain. Penggantian
Lokal mensyaratkan bahwa setiap proses boleh menyeleksi hanya dari
himpunan frame yang telah teralokasi pada proses itu sendiri.