Apa itu Virtual Memory?

Virtual Memory

Konsep

Virtual memori jika kita artikan secara terpisah adalah, virtual mempunyai arti maya/tidak
nyata. Sedangkan memori bisa berarti sebagai penyimpanan. Jadi, jika kita gabung
pengertiannya, virtual memori adalah suatu penyimpanan data sementara yang disimpan
dalam bentuk memori maya. Memori virtual ini biasanya bisa berukuran beberapa kali lipat
lebih besar dibandingkan dengan memori utama atau memori fisik. Jadi bila programmer
memiliki memori fisik yang kecil, bisa menggunakan memori virtual ini.

Alasan memakai virtual memory :

Jika komputer menjalankan sistem operasi windows atau sejenisnya membutuhkan lebih
banyak RAM/memori daripada RAM yang terpasang pada system, makai ia menggunakan
sebagian kecil dari hard drive untuk tujuan ini. Misalkan ada situasi computer kita tidak
memiliki ruang pada memori fisik, maka ia menulis beberapa hal yang perlu diingat ke dalam
file swap dan itu sebagai memori virtual.

Kelebihan menggunakan virtual memori :

  • Jumlah pengguna yang bisa dilayani bertambah
  • Respon meningkat, hal itu dikarenakan beban input dan output menurun
  • Penggunaan memori fisik menjadi berkurang, sehingga ruang memori fisik menjadi
    lebih lega
  • Proses input dan output menjadi rendah

Demand Paging

  • Proses ada pada memori sekunder dan halaman dimuat hanya berdasar permintaan
    tidak di awal.
  • Sebuah CPU membutuhkan page di dalam main memori
  • Jika halaman tidak ada dalam memori utama maka bisa dinamakan dengan page fault
  • Jika page fault terjadi, maka CPU akan mengirim control program menuju system
    operasi untuk mengembalikan page yang dibutuhkan ke dalam memori.

Page Fault

  • Page fault terjadi jika kebutuhan page tidak ada di dalam memori
  • Page fault bisa ditangani oleh system operasi:
    – Invalid reference → abort
    – Tidak ada memori utama → load the page

Paging

  • Misal Virtual Memori berukuran 64 KB, dan memori fisiknya hanya 32 KB
  • Ukuran programnya bisa 64 KB
  • Urutan pagenya di memori fisik belum tentu samadengan yang ada di virtual memori
  • Urutan pagenya di memori fisik belum tentu samadengan yang ada di virtual memori

Page Replacement Algorithm (PRA)

  • Page replacement algorithm adalah algoritma untuk memilih page mana yang akan
    diganti, apabila nantinya akan terjadi page replacement.
  • PRA ini memiliki tujuan supaya jumlah page fault menjadi sekecil mungkin
  • Terdapat bebarapa jenis algoritma, diantaranya adalah sebagai berikut:
    1. First In First Out (FIFO)
    2. Least Recently Used Algorithm
    3. Second Change Algorithm
    4. Optimal Algorithm
  1. FIFO : Page yang dialokasikan lebih awal akan direplace lebih awal
  2. Optimal Algorithm
    • Replace page yang tidak akan digunakan untuk jangka waktu yang lama
    • Page fault terendah dari semua algoritma page replacement
    • Tidak ada anomaly belady
    • Ideal, tapi sulit diaplikasikan
    • Hanya berguna untuk mengukur performa algoritma yang lainnya
  3. Least Recently Used
    • Mengganti page yang sudah tidak berguna untuk periode waktu yang terlama
    • Lebih realistis dibandingkan sebelumnya karena menggunakan informasi
    sebelumnya
    • Ada 12 page fault
    • Lebih baik dari FIFO, akan tetapi belum pasti optimal
    • Ada 2 cara impelementasi LRU: LRU dengan counter, dan dengan stack

Implementasi LRU

LRU dengan Counter
➢ Setiap page yang masuk mempunyai counter
➢ Setiap saat suatu page diferensi, copy clock menuju dalam counter
➢ Mencari page yang akan diganti menurut nilai counternya

LRU dengan Stack
➢ Gunakan stack yang berisi page number
➢ Jika suatu page diferensi, pindah ke stack paling atas
➢ Tidak perlu searching

Algoritma Alokasi

  • Alokasinya sama
  • Misal 200 frame dan 10 proses, berikan 20 page untuk setiap proses
  • Misal 200 frame dan 10 proses, berikan 20 page untuk setiap proses

kendalanya :

  • Setiap proses memiliki ukuran yang berbeda-beda
  • Yang dapat dialokasikan menjadi lebih banyak

Proposional Allokasi

  • Mengalokasikan menurut ukuran proses itu sendiri

Priority Allkokasi

Menggunakan skema alokasi proporsional, tetapo menggunakan prioritas, bukan ukuran

Misal terjadi P, menggenerate page fault maka terdapat 2 kemungkinan, yaitu :

  • Lokal Replacement : memilih salah satu frame miliknya untuk ditukar
  • Global replacement : memilih framenya proses lain dan prioritas lebih rendah untuk
    ditukar

 

Leave a Reply

Your email address will not be published.

* Kode Akses Komentar:

* Tuliskan kode akses komentar diatas: