Hidup Untuk Berbagi

Seputar Memory Virtual

seputar memory virtual

Selama bertahun-tahun, pelaksanaan berbagai strategi managemen memori yang ada menuntut keseluruhan bagian proses berada di memori sebelum proses dapat mulai dieksekusi. Dengan kata lain, semua bagian proses harus memiliki alokasi sendiri pada memori fisiknya.

Pada nyatanya tidak semua bagian dari program tersebut akan diproses, misalnya:

1.Terdapat pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi tertentu dipenuhi. Apabila kondisi tersebut tidak dipenuhi, maka pilihan tersebut tak akan pernah dieksekusi/ diproses. Contoh dari pilihan itu adalah: pesan-pesan error yang hanya akan muncul bila terjadi kesalahan dalam eksekusi program.
2.Terdapat fungsi-fungsi yang jarang digunakan, bahkan sampai lebih dari 100x pemakaian.
3.Terdapat pealokasian memori lebih besar dari yang sebenarnya dibutuhkan. Contoh pada: array, list, dan tabel.

Hal-hal di atas telah menurunkan optimalitasi utilitas dari ruang memori fisik. Pada memori berkapasitas besar, hal ini mungkin tidak menjadi masalah. Akan tetapi, bagaimana jika memori yang disediakan terbatas?

Salah satu cara untuk mengatasinya adalah dengan overlay dan dynamic loading . Namun hal ini menimbulkan masalah baru karena implementasinya yang rumit dan penulisan program yang akan memakan te mpat di memori. Tujuan semula untuk menghemat memori bisa jadi malah tidak tercapai apabila program untuk overlay dan dynamic loading . malah lebih besar daripada program yang sebenarnya ingin dieksekusi.
Maka sebagai solusi untuk masalah-masalah ini digunakanlah konsep memori virtual.

Pengertian

Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu ikut masuk ke dalam memori.
Berbeda dengan keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam skala besar, melebihi daya tampung dari memori utama yang tersedia.

Prinsip dari memori virtual yang patut diingat adalah bahwa: “Kecepatan maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan eksekusi proses yang sama di sistem tanpa menggunakan memori virtual.”

Konsep memori virtual pertama kali dikemukakan Fotheringham pada tahun 1961 pada sistem komputer Atlas di Universitas Manchester, Inggris (Hariyanto, Bambang : 2001).

Fungsi Virtual Memory

ialah untuk mengoptimalkan kinerja dari komputer, dengan tambahan memory, maka kemungkinan terjadi crash sangat kecil sekali.
Ukuran dari paging file biasanya berbeda – beda. Untuk ukuran paging file linux ialah 2 kali lipat dari memory aslinya. Misalkan kita memakai memory berkapasitas 512 MB, maka ukuran paging filenya yaitu 1 GB. Walaupun tidak harus 2 GB, tapi untuk memaksimalkan kinerja maka sebaiknya 2 kali lipatnya.

Keuntungan

Sebagaimana dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori. Hal ini berakibat pada:

•Berkurangnya I/O yang dibutuhkan (lalu lintas I/O menjadi rendah). Misal, untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
•Berkurangnya memori yang dibutuhkan (space menjadi lebih leluasa). Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori. Pesan-pesan error hanya dimasukkan jika terjadi error.
•Meningkatnya respon, sebagai konsekuensi dari menurunnya beban I/O dan memori.
•Bertambahnya jumlah user yang dapat dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk menerima lebih banyak permintaan dari user.

Implementasi

Gagasan dari memori virtual adalah ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan di memori utama (main memory) dan sisanya ditaruh di disk. Begitu bagian di disk diperlukan, maka bagian di memori yang tidak diperlukan akan disingkirkan (swap-out) dan diganti (swap-in) oleh bagian disk yang diperlukan itu.

Memori virtual diimplementasikan dalam sistem multiprogramming. Misalnya: 10 program dengan ukuran 2 Mb dapat berjalan di memori berkapasitas 4 Mb. Tiap program dialokasikan 256 KByte dan bagian-bagian proses di-swap masuk dan keluar memori begitu diperlukan. Dengan demikian, sistem multiprogramming menjadi lebih efisien.
Memori virtual dapat dilakukan melalui dua cara:

1.Permintaan pemberian halaman (demand paging).
2.Permintaan segmentasi (demand segmentation). Contoh: IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karenanya jarang diimplementasikan.

Tulisan / Artikel diatas saya ambil dari berbagai sumber untuk tugas perkuliahan saya dan semoga bermanfaat bagi teman-teman yang sedang sibuk-sibuknya mencari referensi tentang memori virtual, semoga dapat membantu.🙂

One response

  1. Ping-balik: Tips & Tricks Sahur Agar Puasa Tidak Lemas « TECHNOLOGY CYBER

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s