Teknik Komputer - Virtual Memory

virtual memory
Virtual Memory - Mari kita lanjutkan lagi pembahasan teknik komputer yang kemarin, yang telah membahas mengenai Teknologi Memori dan sekarang kita akan mempelajari mengenai Virtual Memory, yuk langsung aja kita simak dan pelajari.

Komputer modern memanfaatkan suatu fitur yang dikenal dengan nama demand paging. Hal ini sudah dilakukan pada sejak Intel microprosesor 386. Chip tersebut dapat melakukan pencarian isi dari memori saat isi tersebut berpindah dari disk dan memori solid state 4K blok. Mikroprosesor mendaftarkan address terhadap data tersebut di dalam blok, dan address tersebut akan tetap ada dimanapun data tersebut disimpan.
Selama bertahun-tahun, pelaksanaan manajemen memori pada intinya adalah dengan menempatkan semua bagian proses yang akan dijalankan ke dalam memori sebelum proses dapat mulai dieksekusi.
Dengan demikian semua bagian proses tersebut harus memiliki alokasi sendiri di dalam memori fisik. Pada kenyataannya tidak semua bagian dari program tersebut akan diproses, misalnya:
  1. Ada pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi tertentu dipenuhi.
  2. Terdapat fungsi-fungsi yang jarang digunakan.
  3. Pengalokasian memori yang lebih besar dari yang sebenarnya dibutuhkan.
Pada memori berkapasitas besar, hal-hal di atas tidak akan menjadi masalah. Namun pada memori dengan kapasitas yang sangat terbatas, hal diatas akan menurunkan optimalisasi utilitas dari ruang memori fisik (memori utama).
Setiap program yang dijalankan harus berada di memori. Memori merupakan suatu tempat penyimpanan utama (primary storage) yang bersifat sementara. Ukuran memori yang terbatas dapat menimbulkan masalah bagaimana menempatkan program yang berukuran yang lebih besar dari ukuran memori fisik (memori utama) dan masalah penerapan multiprogramming yang membutuhkan tempat yang lebih besar di memori.

Virtual memory adalah suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Memori logis merupakan kumpulan keseluruhan halaman dari suatu program. Tanpa virtual memory, memori logis akan langsung dibawa ke memori fisik (memori utama). Disinilah virtual memory 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


Pada gambar ditunjukkan ruang sebuah virtual memory yang dibagi menjadi bagian-bagian yang sama dan diidentifikasikan dengan nomor virtual pages. Memori fisik dibagi menjadi page frames yang berukuran sama dan diidentifikasikan dengan nomor page frames. Bingkai (frame) menyimpan data dari halaman. Dengan kata lain virtual memory memetakan nomor virtual pages ke nomor page frames. Mapping (pemetaan) menyebabkan halaman virtual hanya dapat mempunyai satu lokasi alamat fisik.

Dalam sistem paging, jika sebuah ruang diperlukan untuk proses dan halaman yang bersangkutan tidak sedang digunakan, maka halaman dari proses akan mengalami paged out (disimpan ke dalam disk) atau swap out, memori akan kosong untuk halaman aktif yang lain. Halaman yang dipindah dari disk ke memori ketika diperlukan dinamakan paged in (dikembalikan ke memori) atau swap in. Ketika sebuah item dapat mengalami paging, maka item tersebut termasuk dalam item yang menempati ruang virtual, yang diakses dengan alamat virtual dan ruangan yang ada dialokasikan untuk informasi pemetaan.
Sistem operasi mengalokasikan alamat suatu item hanya ketika item tersebut mengalami paging in. Keuntungan yang diperoleh dari penyimpanan hanya sebagian program saja pada memori fisik adalah:
  1. Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah)
  2. Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan
  3. Meningkatnya respon karena menurunnya beban I/O dan memori
  4. Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan protocol untuk menerima lebih banyak permintaan dari pengguna.
Teknik virtual memory akan memudahkan pekerjaan seorang programmer ketika besar data dan programnya melampaui kapasitas memori utama. Contohnya: 10 program dengan ukuran 2 MB dapat berjalan di memori berkapasitas 4 MB. Tiap program dialokasikan 256 Kbyte dan bagianbagian proses (swap in) masuk ke dalam memori fisik begitu diperlukan dan akan keluar (swap out) jika sedang tidak diperlukan.
Prinsip dari virtual memory adalah bahwa “Kecepatan maksimum ekseskusi proses di virtual memory dapat sama, tetapi tidak akan pernah melampaui kecepatan eksekusi proses yang sama di sistem yang tidak menggunakan virtual memory”.


Oke sekian dulu belajar kita kali ini mengenai Virtual Memory, kita akan lanjutkan lagi pembahasan teknik komputer besok, jadi terus ikuti update artikel dari blog ini dengan cara subscribe dan follow blog teknik komputer ini, dan jika sobat tidak mau kehilangan halaman ini sobat bisa bookmark dengan cara tekan Ctrl dan tombol D secara bersamaan di keyboard sobat, oke segini dulu dan semoga bermanfaat.