Virtual
memory adalah suatu cara untuk memanajemen kebutuhan memori dengan menggunakan
memori sekunder. Bertujuan untuk memisahkan antara memori logis dan memori
fisiknya. Memori logis adalah kumpulan page
dari suatu program. Tanpa memori virtual, memori logis akan langsung dibawa ke
memori fisik (memori utama). Karena itu tugas virtual memory adalah melakukan
pemisahan sehingga hanya page yang
diperlukan masuk kedalam memori fisik (memori utama). Virtual memory biasanya
menggunakan hard disk untuk digunakan membantu memori utama.
Cara kerja virtual
memori dimplementasikan dengan menggunakan demand
paging,
emand
paging adalah sistem paging
dengan swapping seperti gambar diabawah;
Virtual memory akan
bekerja saat sistem operasi kehabisan memori utama, yang dimana sistem operasi
tersebut akan memindahkan proses yang paling terakhir dipakai atau diakses ke
dalam virtual memory sehingga terdapat ruang kosong dalam memori utama yang
dapat digunakan untuk menjalankan proses selanjutnya. Sistem operasi akan
melakukan hal ini terus menerus ketika data baru berdatangan dan memori utama
tidak mencukupi. Apabila proses yang tersimpan dalam virtual memori dibutuhkan
maka proses akan ditukar (swap)
dengan data yang terakhir kali diakses pada memori utama. Hal ini dikarenakan
sistem operasi tidak dapat menjalankan program dari virtual memori.
Untuk
membedakan antara page pada memori
dengan page pada disk digunakan
valid-invalid bit. Tabel page yang
berada pada memori diset ”valid” sedangkan untuk disk diset “invalid”.
Apabila “ invalid masuk
kedalam memori maka akan terjadi page
fault, yang menyebabkan trap pada sistem operasi. Karena hal tersebut maka
terdapat prosedur untuk menangani page
fault sebagai berikut:
1.
Sistem operasi melihat table untuk
menentukan jika acuan invalid maka proses dihentikan
2.
Jika acuan didapat invalid maka
dilakukan trap ke sistem operasi
3.
Sistem mencari frame kosong
4.
Sistem melakukan proses swapping
5. Tabel page di-reset
6.
Instruksi direstart
Page replacement
digunakan pada saat proses eksekusi memerlukan frame bebas namun tidak tersedia. Hal ini menyebabkan sistem harus
menemukan satu frame yang sedang
tidak digunakan dan membebaskannya. Misalnya dalam page fault, saat proses dibutuhkan page replacement :
Dalam virtual memori
juga terdapat thrashing, hal ini
terjadi apabila proses menghabiskan lebih banyak waktu untuk paging daripada
eksekusi. Hal ini mungkin terjadi apabila sering terjadi page fault secara terus menerus.
Nah, berikut ini versi ppt nya
Supported by:
www.is.its.ac.id
htttp://isico.info
http://sesindo.org
Tidak ada komentar:
Posting Komentar