Rabu, 08 Februari 2012

Apa itu Virtual memory?

Virtual memory adalah fitur dari sebuah sistem operasi yang memungkinkan proses untuk menggunakan ruang alamat memori (RAM) yang terbebas dari proses lain yang berjalan dalam sistem yang sama, dan menggunakan ruang yang lebih besar space RAM yang sebenarnya di PC Anda. Sistem Operasi memindahkan beberapa isi dari RAM ke disk, dengan overhead yang kecil atau bahkan tidak ada.

Pada sistem yang menggunakan Virtual memory, memori fisik dibagi ke dalam halaman berukuran sama. Alamat memori juga dibagi ke dalam halaman logis dari ukuran yang sama. Ketika sebuah proses referensi alamat memori, manajer memori mengambil dari disk halaman yang termasuk alamat direferensikan, dan menempatkannya di halaman kosong di fisik RAM. Referensi berikutnya dalam halaman logis yang diarahkan ke halaman fisik. Ketika proses referensi alamat dari halaman lain logis, akan diambil ke page fisik kosong dan menjadi sasaran dari referensi yang sama berikutnya.

Jika sistem tidak memiliki halaman fisik yang bebas, maka swap manajer memori halaman logis ke daerah swap - biasanya paging file pada disk (pada Windows
XP: pagefile.sys), dan salinan (swap in) halaman logis yang diminta ke dalam halaman fisik yang kosong. Halaman keluar mungkin milik proses yang berbeda. Ada banyak strategi untuk memilih yang halaman adalah untuk bertukar keluar. (Salah satunya adalah LRU: halaman Least Recently Used swap keluar.) Jika halaman yang bertukar keluar dan kemudian direferensikan, itu bertukar kembali, dari daerah swap, pada halaman yang lain.

Virtual memory memungkinkan setiap proses untuk bertindak sebagai ruang memori secara keseluruhan di dalam sistem itu sendiri, karena alamat yang ia gunakan untuk referensi memori dijabarkan oleh mekanisme memori virtual menjadi alamat yang berbeda di memori fisik. Hal ini memungkinkan proses yang berbeda untuk menggunakan alamat memori yang sama - manajer memori akan menerjemahkan referensi ke alamat memori yang sama oleh dua proses yang berbeda menjadi alamat fisik yang berbeda. Satu proses umumnya tidak memiliki cara untuk mengakses memori dari proses lain. Sebuah proses dapat menggunakan ruang alamat yang lebih besar daripada memori fisik yang tersedia, dan setiap referensi untuk alamat akan diterjemahkan ke alamat fisik yang ada. Terikat pada jumlah memori yang proses sebenarnya dapat mengatasi adalah ukuran area swap, yang mungkin lebih kecil daripada ruang dialamatkan. (Sebuah proses dapat memiliki ruang alamat 4GB belum benar-benar menggunakan hanya 2GB, dan ini dapat berjalan pada mesin dengan pagefile 2GB.)

6 komentar:

    Followers

    Blog Partners