Sistem Operasi Virtual Memory
Sistem Operasi Virtual Memory
A. VIRTUAL MEMORY
Memori virtual adalah suatu teknik yang memisahkan antara memori logis dan
memori fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu
program. Tanpa memori virtual, memori logis akan langsung dibawa ke memori fisik
(memori utama). Disinilah memori virtual melakukan pemisahan dengan menaruh memori
logis ke secondary storage (disk sekunder) dan hanya membawa halaman yang diperlukan ke
memori utama (memori fisik). Teknik ini menempatkan keseluruhan program di disk
sekunder dan membawa halaman-halaman yang diperlukan ke memori fisik sehingga memori
utama hanya akan menyimpan sebagian alamat proses yang sering digunakan dan sebagian
lainnya akan disimpan dalam disk sekunder dan dapat diambil sesuai dengan kebutuhan. Jadi
jika proses yang sedang berjalan membutuhkan instruksi atau data yang terdapat pada suatu
halaman tertentu maka halaman tersebut akan dicari di memori utama. Jika halaman yang
diinginkan tidak ada maka akan dicari ke disk sekunder.
Virtual Memory (VM) memiliki tiga fungsi penting :
1. Sebagai perangkat cache
2. Sebagai perangkat manajemen memori
VM menyederhanakan manajemem memori dengan melakukan teknik pengalamatan yang
seragam untuk setiap proses
Pengalamatan disk, memori, cache dilakukan secara uniform
3. Sebagai perangkat untuk memproteksi memori
VM melindungi alokasi alamat setiap proses terhadap gangguan
Suatu proses tidak dapat diganggu oleh proses lain.
Proses disimpan di memori sekunder (disk). Jika proses akan dieksekusi, maka
dipindah (swap) ke memori. Menggunakan lazy swapper untuk melakukan swapping
bila page tersebut akan digunakan yang berarti sebuah page tidak pernah ditukar ke
memori kecuali page diperlukan. Jika page diperlukan, dilakukan acuan ke page
tersebut, tetapi jika acuan invalid maka dilakukan penghentian.
Untuk membedakan antara page pada memori dengan page pada disk digunakan
valid-invalid bit. Tabel page untuk page yang berada di memori diset "valid',
sedangkan tabel page untuk page yang tidak sedang di memori (ada pada disk) diset
"invalid". Seperti Gambar dibawah ini:
Apabila tidak ditemukan frame bebas makadilakukan page replacement yaitu mencari
beberapapage di memori yang tidak digunakan kemudian dilakukan swap outke backing
store. Terdapat beberapa algoritma page replacement dimana performansi algoritma
diharapkan menghasilkan jumlah page faultminimum. Beberapa page kemungkinan dibawa
ke memori beberapa kali. Perangkat keras yang dibutuhkan untukmendukung demand paging
sama dengan perangkat keras untuk sistem paging dengan swapping yaitu:
Tabel page : tabel mempunyai kemampuan untuk memberi entry bit valid-invalid atau nilai
khusus untuk bit proteksi.
Memori sekunder : digunakan untuk membawa page yang tidak di memori dan biasanya
adalah disk kecepatan tinggi yang disebut swap device.
b. Page Replacement
Page replacement diperlukan pada situasi dimana proses dieksekusi perlu frame
bebas tetapi tidak tersedia frame bebas. Sistem harus menemukan satu frame yang
sedang tidak digunakan dan membebaskannya. Untuk membebaskanframe dengan cara
menulis isinya untuk ruang swap dan mengubah tabel page (dan tabel lain) yang
menunjukkan page tidak lagi di memori.
Kebutuhan akan page replacement dapat dilihat pada Gambar dibawah ini:
Gambar. Page Replacement
.
Gambar. Contoh Page Replacement FIFO
Dulu algoritma ini di anggap cukup mengatasi pergantian page sampai pada tahun 70-
an, pada saat itu juga Belady menemukan keganjalan pada algoritma ini dan dikenal dengan
anomali Belady. Anomali Belady itu sendiri ialah keadaan dimana page fault rate meningkat
seiring dengan pertambahannya jumlah frame.
Gambar. Contoh Anomali Belady pada Algoritma FIFO
Algoritma Optimal
Algoritma optimal merupakan hasil penemuan dari Belady’s anomaly. Algoritma ini
mempunyai rata-rata page fault terendah. Algoritma optimal akan mengganti page yang tidak
akan digunakan untuk periode waktu terlama. Algoritma ini menjamin rata-rata page fault
terendah untuk jumlah frame tetap tetapi sulit implementasinya. Pengertian dari algoritma ini
sendiri yaitu algoritma yang page nya paling optimal. Untuk prinsip dari algoritma ini sangat
efisien sekali karena hanya mengganti halaman yang sudah tidak terpakai lagi dalam jangka
waktu lama sehingga page fault yang terjadi akan berkurang dan terbebas dari anomali
Belady Selain itu juga page fault dari algoritma ini memiliki rate paling tinggi dari algoritma
lainnya dari semua kasus, akan tetapi belum bisa disebut sempurna karena sulit untuk
dimengerti dan dari segi sistem pun belum tentu bisa mengetahui page untuk berikutnya
tetapi dapat disimulasikan hanya untuk suatu program. Untuk intinya gunakanlah hingga
mendekati page optimal agar bisa memanfaatkannya.
b. Linking dinamis.
Hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien
dalam hal memori fisik dan ruang disk.
Sumber :
http://ikaapriliani-education.blogspot.com/2015/11/arsitektur-komputer-bab-v.html
http://bugspin.blogspot.com/2012/07/macam-macam-algoritma-page-replacement.html