Virtual memory pada Windows biasa disebut sebagai swap ...



VIRTUAL MEMORY

WINDOWS

&

LINUX

VIRTUAL MEMORY PADA WINDOWS

Virtual memory pada Windows biasa disebut sebagai swap file atau paging file. Virtual Memory ini berfungsi sebagai memory tambahan untuk mendukung kinerja RAM (Random Access Memory) itu sendiri. File swap memanfaatkan kapasitas hard disk untuk menampung filefile yang bersifat sementara. Semakin banyak Anda menggunakan aplikasi secara bersamaan, file swap yang dibutuhkan juga menjadi semakin besar. Sebaliknya, semakin sedikit Anda menggunakan aplikasi secara bersamaan, semakin sedikit pula virtual memory yang digunakan. Sehingga besar kecilnya virtual memory yang dibutuhkan sangat tergantung dari cara pemakaian Anda. Walaupun begitu, kecepatan proses pada file swap ini tidaklah secepat pada memory aslinya. Hal ini dipengaruhi karena kecepatan putar hard disk itu sendiri juga tidak secepat proses pada RAM. Umumnya kapasitas minimal yang dibutuhkan oleh virtual memory sekitar 1,5 kali dari kapasitas RAM yang Anda gunakan. Sedangkan kapasitas maksimal yang dibutuhkan sekitar 2-3 kali dari kapasitas RAM Anda.

Beberapa waktu lalu saya melakukan upgrade pada RAM laptop saya. Awalnya RAM yang terpasang sebesar 512 Mb (DDR2 PC 4200) yg merupakan bawaan aslinya. Namun melihat harga RAM yg semakin murah, dan kebutuhan saya semakin banyak, maka saya memutuskan untuk mencari dan membeli RAM. Kebetulan sedang ada pameran komputer di kota saya. Kemudian mulailah saya bergerilya mengitari seluruh lokasi pameran untuk mendapatkan harga RAM yang paling murah sesuai budget saya. Dan pada akhirnya saya mendapatkan 2 buah RAM sebesar 1 Gb (DDR2 PC 5300) seharga @Rp 200.000. Setelah saya sampai dirumah RAM tersebut langsung saya pasang di laptop saya. Beberapa hari kemudian saya terfikir untuk menambah ukuran dari Virtual Memory, dikarenakan ukuran memory saya telah menjadi 2038 Mb.

Mau tau apa itu Virtual Memory atau Memori Virtual ?

Memori virtual (dalam bahasa Inggris: virtual Memory) adalah sebuah mekanisme yang digunakan oleh aplikasi untuk menggunakan sebagian dari memori sekunder seolah-olah ia menggunakannya sebagai RAM fisik yang terinstal di dalam sebuah sistem. Mekanisme ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan swap file, page file atau swap partition.

Dalam sistem operasi berbasis Windows NT, terdapat sebuah komponen yang mengatur memori virtual, yakni Virtual Memory Manager (VMM). VMM dapat memetakan alamat-alamat virtual yang dimiliki oleh sebuah proses yang berjalan ke dalam page memori fisik di dalam komputer. Dengan cara begini, setiap proses pun dapat memperoleh memori virtual yang cukup agar dapat berjalan, dan yang terpenting adalah setiap proses tidak mengganggu memori yang sedang digunakan oleh proses lainnya. VMM menangani paging antara RAM dan page file, dengan memindahkan page dengan menggunakan sebuah cara yang disebut sebagai demand paging. Hasilnya, setiap aplikasi 32-bit pun dapat mengakses memori hingga 4 gigabyte (meskipun Windows hanya membatasi proses yang berjalan dalam modus pengguna hanya sebatas 2 GB saja).

Jadi Memori Virtual ini sangat membantu RAM apabila RAM sudah tidak mampu lagi untuk melakukan tugasnya. Beberapa kasus akan terlihat jika anda melakukan banyak proses / menjalankan program secara bersamaan. Untuk mengubah nilai ukuran Virtual Memory ikuti langkah-langkah berikut :

1. Buka System Properties pada Control Panel atau melalui shortcut Windows+Pause/Break

2. Pilih tab Advanced dan pilih tombol Settings pada bagian Performance

3. Pilih tab Advanced dan pilih tombol Change pada bagian Virtual Memory

[pic]

4. Pilih Drive yg akan anda gunakan. sebaiknya pilih drive yg merupakan drive Sistem Operasi anda

5. Pilih ComboBox Custom Size kemudian masukkan nilai Initial Size dan Maximum Size. (untuk nilai yg diisikan silahkan lihat dibagian catatan dibawah)

6. Klik tombol Set. jika diminta konfirmasi maka tekan Yes

[pic]

7. Klik tombol OK

8. Restart komputer anda

9. Jika ingin performa yg lebih baik, anda sebaiknya melakukan Defragmentation pada Drive yg anda jadikan Virtual Memory diatas.

10. Selamat mencoba.

Catatan :

• Sistem Operasi yg saya gunakan adalah Windows XP SP2

• Ukuran Initial Size sebaiknya diisikan 1.5x dari ukuran RAM anda (untuk RAM 2 Gb, maka diisikan 3057 Mb). atau bisa anda lihat dibagian Recommended pada bagian Total paging file size for all drives. JANGAN isi dibawah ukuran yg diperbolehkan (Minimun Allowed pada Total paging file size for all drives)

• Ukuran Maximum Size sebaiknya diisikan 2x dari ukuran RAM anda.

• Perhatikan Space Available pada Drive anda (lingkaran hijau pada gambar di point 4-6). Jika ukuran Space Available lebih kecil dari ukuran Virtual Memory yg anda masukkan, maka secara otomatis sistem akan menggunakan ukuran Virtual Memory sesuai ukuran Space Available.

Memori Virtual PADA LINUX

Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan:

1. Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama diantara sejumlah proses yang aktif. Agar dapat memanfaatkan prosesor dan fasilitas M/K secara efisien, maka diinginkan memori yang dapat menampung sebanyak mungkin proses.

2. Upaya agar programmer atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.

Linux memanfaatkan memori virtual untuk mendukung kinerja sistem. Sebagai sistem operasi multiprogramming, memori virtual dapat meningkatkan efisiensi sistem. Sementara proses menunggu bagiannya di- swap in ke memori, menunggu selesainya operasi M/K dan proses di-block, jatah waktu prosesor dapat diberikan ke proses-proses lain.

Sistem memori virtual Linux berperan dalam mengatur beberapa hal:

1. Mengatur ruang alamat supaya dapat dilihat oleh tiap proses.

2. Membentuk halaman-halaman yang dibutuhkan.

3. Mengatur lokasi halaman-halaman tersebut dari disk ke memori fisik atau sebaliknya, yang biasa disebut swapping.

Sistem memori virtual Linux juga mengatur dua view berkaitan dengan ruang alamat:

1. Logical View.  Mendeskripsikan instruksi-instruksi yang diterima oleh sistem memori virtual mengenai susunan ruang alamat.

2. Physical View.  Berupa entri-entri tabel halaman, dimana entri-entrinya akan menentukan apakah halaman itu berada di memori fisik yang sedang dipakai untuk proses atau masih berada di disk yang berarti belum dipakai.

Blok Memori Virtual

Berkaitan dengan blok memori virtual, maka memori virtual dalam Linux memiliki karakteristik:

1. Backing Store untuk blok.  Backing store mendeskripsikan tempat asal halaman pada disk. Kebanyakan blok dalam memori virtual berasal dari suatu berkas pada disk atau kosong (nothing). Blok dengan backing store yang kosong biasa disebut "demand zero memory" yang merupakan tipe paling sederhana dari memori virtual.

2. Reaksi blok dalam melakukan write.  Pemetaan dari suatu blok ke dalam ruang alamat proses dapat bersifat private atau shared. Jika ada proses yang akan menulis blok yang bersifat private, maka akan dilakukan mekanisme Copy-On-Write atau dengan menulis salinannya.

Umur Memori Virtual

Kernel berperan penting dalam manajemen memori virtual, dimana kernel akan membentuk ruang alamat yang baru di memori virtual dalam dua kondisi:

1. Proses menjalankan suatu program dengan system call exec(). Ketika system call exec() dipanggil oleh proses untuk menjalankan suatu program, maka proses akan diberikan ruang alamat virtual yang masih kosong. Kemudian routine-routine akan bekerja me-load program dan mengisi ruang alamat ini.

2. Pembentukan proses baru dengan system call fork(). Intinya menyalin secara keseluruhan ruang alamat virtual dari proses yang ada. Langkah-langkahnya adalah sebagai berikut:

a. kernel menyalin descriptor vm_area_struct dari proses induk,

b. kernel membentuk tabel halaman untuk proses anak,

c. kernel menyalin isi tabel halaman proses induk ke proses anak,

d. setelah fork(), maka induk dan anak akan berbagi halaman fisik yang sama.

Di samping itu, ada kasus khusus yang harus diperhatikan, yaitu ketika proses penyalinan dilakukan terhadap blok di memori virtual yang bersifat private, dimana blok tersebut dipakai lebih dari satu proses selain proses induk dan anak yang memang berbagi halaman yang sama dan ada proses yang hendak menulis blok tersebut. Jika ini terjadi maka akan dilakukan mekanisme Copy-On-Write, yang berarti mengubah dan memakai salinannya.

Swap

Keterbatasan memori fisik mengharuskan Linux mengatur halaman-halaman mana saja yang harus diletakkan di dalam memori fisik atau swap-in dan juga halaman-halaman yang harus dikeluarkan dari memori fisik atau swap-out.

Paging system dari memori virtual dapat dibagi menjadi dua:

1. The pageout-policy algorithm .  Menentukan halaman-halaman mana saja yang di swap-out dari memori fisik. Pageout-policy algorithm menggunakan algoritma clock dalam menentukan halaman mana yang harus di swap-out. Dalam Linux, multipass clock digunakan, setiap satu kali pass dari clock, age dari suatu halaman akan disesuaikan. Makin sering suatu halaman di akses, makin tinggi age-nya, tapi age dari suatu halaman berkurang setiap satu kali pass.

2. The paging mechanism.  Menentukan halaman-halaman mana saja yang harus dibawa kembali ke dalam memori. Halaman-halaman ini pernah berada dalam memori sebelumnya.

Berikut adalah ilustrasi untuk algoritma clock. Di dalam memori virtual terdapat page 1, 2 dan 3 dengan pointer last-used di page 3. Flag use akan bernilai 1 jika page tersebut digunakan, sedangkan use akan bernilai 0 jika page tersebut dilewati pointer namun tidak digunakan.

Ketika ada permintaan page 4, sedangkan tidak ada page 4 dalam memori virtual sehingga terjadi page fault, maka page 4 akan dimasukkan ke tempat yang masih kosong, pointer akan menunjuk ke page 4, dan use diubah menjadi 1. Saat datang permintaan page 3, pointer akan mencari page tersebut, sekaligus mengubah flag use menjadi 0 jika page tersebut hanya dilewati, tetapi tidak digunakan.

Ketika ada permintaan untuk page 9, maka terjadi page fault karena page 9 tidak ada dalam memori virtual. Kemudian pointer akan mencari page yang nilai use-nya = 0, yaitu page 2. Hal yang serupa terulang ketika ada permintaan untuk page 5. Sehingga page 4 di swapped-out, dan nilai use dari page 3 diubah menjadi 0.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download