- Pengertian Virtual Memori
Virtual Memori tersusun dari 2 kata yaitu virtual dan juga memori, arti dari tiap kata tersebut adalah sebagai berikut :
- Virtual
Virtual adalah suatu hal hasil komputasi yang dibuat oleh teknologi komputer yang terlihat dan tampak ada, namun tidak ada bentuk fisiknya di dunia nyata. Virtual juga bisa berarti suatu kegiatan yang dilakukan menggunakan teknolologi komputer melalui internet, dan tidak melibatkan pelaku nya secara fisik dengan pergi ke tempat lain.
- Memori
Memori dalam komputer adalah media penyimpanan data. Informasi dan data akan disimpan pada memori, memori yang digunakan dalam proses komputasi akan disimpan sementara dalam perangkat keras yaitu RAM (Random Access Memory). dan ROM (Read Only Memory) Memori ini adalah bagian vital yang dibutuhkan oleh komputer, karena menentukan performa dari komputer itu bekerja.
- Virtual Memori
Virtual Memori adalah salah satu teknik manajemen memori, teknik ini menggunakan memori sekunder yang dapat digunakan seolah-olah itu adalah bagian dari memori utama. Virtual memori adalah salah satu teknik umum yang digunakan dalam system operasi (OS) pada komputer. Memori virtual menggunakan gabungan software dan hardware dalam prakteknya agar memungkinkan komputer mengkompensasi kekurangan memori fisik, data sementara ditransfer dari RAM ke disk storage.
- Tujuan Virtual Memory
Virtual memori bertujuan untuk memndapatkan manfaat sebagai berikut :
- Berguna untuk RAM cadangan, namun tetap tidak menggantikan fungsi dari RAM itu sendiri
- Menjadi memori cadangan yang bersifat tidak permanen
- Mengoptimalkan penggunaan processor (CPU)
- Dapat menambah performa suatu sistem yang bekerja
- Memperlancar dalam menggunakan banyak aplikasi disaat yang bersamaan
- Membantu kinerja sistem operasi
- Meningkatkan ketersediaan jumlah memori dengan bekerja di luar batas ruang memori fisik
- Mengatasi kelebihan beban data di RAM
- Menyimpan data dari RAM, namun tidak dilanjutkan ke CPU
- Virtual-address Space
Dalam komputasi, virtual address space (VAS) atau ruang alamat adalah kumpulan rentang alamat virtual yang disediakan sistem operasi untuk suatu proses. Kisaran alamat virtual biasanya dimulai pada alamat rendah dan dapat diperluas ke alamat tertinggi yang diizinkan oleh set instruksi komputer dan didukung oleh implementasi ukuran pointer sistem operasi, yang dapat berupa 4 byte untuk 32-bit atau 8 byte untuk 64- sedikit versi OS. Hal ini memberikan beberapa keuntungan, salah satunya adalah keamanan melalui isolasi proses dengan asumsi setiap proses diberikan ruang alamat yang terpisah.
- Biasanya merancang ruang alamat logis untuk stack untuk memulai pada address logis Max dan bertambah secara “turun” sementara tumpukan tumbuh secara “naik”
- Memungkinkan ruang address yang jarang muncul dengan ruang yang tersisa untuk pertumbuhan, library yang terhubung secara dinamis, dll
- Library sistem dibagikan melalui pemetaan ke dalam ruang virtual address
- Memori bersama dengan memetakan halaman read-write ke dalam ruang virtual address
- Demand Paging
Demand paging adalah proses di mana data dipindahkan dari memori sekunder ke memori RAM atas dasar permintaan, yang berarti tidak semua data dapat disimpan di memori utama karena RAM memiliki ruang yang terbatas. Jadi jika CPU memerintahkan suatu proses, jika halaman itu tidak ada di RAM, maka diperlukan swapping. Ini berarti menggeser halaman yang ada dari RAM dan memasukkan kembali ke memori sekunder dan meletakkan halaman baru di RAM.
- Dapat membawa seluruh proses ke dalam memori pada satu waktu
- Atau membawa page ke dalam memori hanya pada saat dibutuhkan
- Mirip dengan sistem paging tapi dilengkapi dengan swapping
- Lazy swapper – Tidak pernah menukar suatu page ke memori kecuali page akan dibutuhkan
- Swapper yang berhubungan dengan banyak page adalah pager
- Copy-on-Write
- Copy-on-Write (COW) memungkinkan proses induk dan anak untuk awalnya berbagi page yang sama di memori
- COW memungkinkan pembuatan proses yang lebih efisien karena hanya page yang dimodifikasi yang disalin
- Secara umum, halaman bebas dialokasikan dari kumpulan halaman zero-fill-on-demand
- Page Replacement
Page replacement digunakan pada saat tidak tersedianya frame bebas tetapi perlu frame bebas untuk mengeksekusi suatu proses. Sistem harus membebaskan suatu frame yang sedang tidak digunakan. Untuk mengosongkan frame dengan cara menulis isinya untuk ruang swap dan mengubah tabel page yang mengindikasikan memori sudah tidak lagi mengandung page.
- Mencegah alokasi memori yang berlebihan dengan memodifikasi rutinitas kesalahan page untuk menyertakan penggantian page
- Menggunakan bit modifikasi (kotor) untuk mengurangi overhead dari proses trensfer page – hanya halaman termodifikasi yang dituliskan ke disk
- Penggantian halaman menyelesaikan pemisahan antara logical memory dan physical memory – Virtual memory dapat disediakan dengan lebih besar pada memori fisik yang kecil
- Alokasi Frame
Alokasi frame adalah mekanisme alokasi dimana diantara beberapa proses tetap ada sejumlah memori bebas. Walaupun ada sejumlah variasi alokasi frame bebas ke sejumlah proses, tapi strategi dasar yang jelas yaitu : sembarang frame bebas menjadi tempat alokasi proses user.
- Setiap proses membutuhkan jumlah minimum frame
- Maksimum adalah total frame dalam system
- Dua skema alokasi umum : alokasi tetap dan alokasi prioritas
- Thrashing
Kegiatan aktifitas paging dengan traffic yang tinggi disebut dengan thrashing. Sebuah proses dikatakan mengalami thrashing jika waktu lebih banyak dilakukan untuk proses paging daripada eksekusi. Menggunakan Algoritma local (priority) replacement dapat membatasi Efek thrashing.
- Jika suatu proses tidak memiliki cukup page, tingkat kesalahan halaman sangat tinggi
- Kesalahan halaman untuk mendapatkan halaman
- Mengganti frame yang ada
- Tetapi dengan cepat perlu mengganti frame kembali
- Hal ini akan menyebabkan :
- Rendahnya utilisasi CPU
- Sistem operasi akan menanggap bahwa perlu meningkatkan derajat multiprogramming
- Proses lain ditambahkan ke system