1.
Memori Virtual
Manajemen
memori pada intinya adalah menempatkan semua bagian proses yang akan dijalankan
kedalam memori sebelum proses itu dijalankan. Untuk itu, semua bagian proses
itu harus memiliki tempat sendiri di dalam memori fisik. Tetapi tidak semua
bagian dari proses itu akan dijalankan, misalnya:
•
Pernyataan atau pilihan yang hanya akan dieksekusi pada kondisi tertentu.
Contohnya adalah: pesan-pesan error yang hanya muncul bila terjadi
kesalahan saat program dijalankan.
•
Fungsi-fungsi yang jarang digunakan.
•
Pengalokasian memori yang
lebih besar dari yang dibutuhkan. Contoh: array , list dan tabel. Pada memori berkapasitas
besar, hal-hal ini tidak akan menjadi masalah. Akan tetapi, pada memori yang
sangat terbatas, hal ini akan menurunkan optimalisasi utilitas dari
ruang memori fisik. Sebagai solusi dari masalah-masalah ini
digunakanlah konsep memori virtual.
a. Pengertian
Memori virtual adalah suatu
teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik ini
menyembunyikan aspek-aspek fisik memori dari user dengan menjadikan memori
sebagai lokasi alamat virtual berupa byte yang tidak terbatas dan menaruh beberapa
bagian dari memori virtual yang berada di memori logis. Berbeda dengan keterbatasan
yang dimiliki oleh memori fisik, memori virtual dapat menampung program dalam
skala besar, melebihi daya tampung dari memori fisik 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 computer Atlas di Universitas Manchester, Inggris.
b. Keuntungan
Sebagaimana
dikatakan di atas bahwa hanya sebagian dari program yang diletakkan di memori
fisik. Hal ini memberikan keuntungan:
•
Berkurangnya proses I/O yang dibutuhkan (lalu lintas I/O menjadi rendah).
Misalnya untuk program butuh membaca dari disk dan memasukkan dalam memory setiap kali diakses.
• Space
menjadi lebih leluasa karena berkurangnya memori fisik yang digunakan.
Contoh, untuk program 10 MB tidak seluruh bagian dimasukkan dalam memori fisik.
Pesan-pesan error hanya dimasukkan jika terjadi error.
•
Meningkatnya respon, karena 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 .
c. Implementasi
Gagasan
utama 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 fisik ( main memory )
dan sisanya diletakkan di disk. Begitu bagian yang berada di disk diperlukan,
maka bagian di memori yang tidak diperlukan akan dikeluarkan dari memori fisik
( 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
swap in ) masuk ke dalam memori fisik begitu diperlukan dan akan keluar
( swapout ) jika sedang tidak diperlukan. Dengan demikian, sistem multiprogramming
menjadi lebih efisien.
Memori
virtual dapat dilakukan melalui dua cara:
- Permintaan pemberian halaman ( demand paging ).
- Permintaan segmentasi ( demand segmentation ).
Contoh:
IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karena itu
jarang diimplementasikan.
Sumber :
http:// www.google.com
Hariyanto, Bambang, Ir., Sistem
Operasi, Penerbit Informatika, Bandung,1999
Tidak ada komentar:
Posting Komentar