Virtual memory memisahkan memori logis dan fisik dengan menyimpan halaman yang tidak digunakan di disk sekunder. Demand paging mengambil halaman dari disk ketika dibutuhkan oleh proses, sementara copy-on-write berbagi halaman antar proses hingga salah satu proses memodifikasinya.
2. Virtual Memory
➢ Memori virtual adalah suatu teknik yang memisahkan antara memori logis
dan memori fisiknya.
➢ Memori virtual melakukan pemisahan dengan menaruh memori logis ke
secondary storage (disk sekunder) dan hanya membawa halaman yang
diperlukan ke memori utama (memori fisik).
➢ Jadi jika proses yang sedang berjalan membutuhkan instruksi atau data yang
terdapat pada suatu halaman tertentu maka halaman tersebut akan dicari di
memori utama.
➢ Jika halaman yang diinginkan tidak ada maka akan dicari ke disk sekunder.
4. Cara Menambah Virtual RAM di Windows 10
2. Klik “Pengaturan sistem tingkat lanjut”.
1. Klik kanan “This PC” dan pilih “Properties”.
5. 3. Pada tab Advanced bagian “Performance”, klik
“Settings”.
4. Setelah masuk ke Performance Option, pilih
tab “Advanced”. Pada bagian Virtual memory,
klik “Change”.
6. 5. Hilangkan tanda centang pada
“Automatically manage paging file size for all
drives”.
6. Pilih “Custom size”, lalu isikan nilai initial
size dan maximum size masing-masing
dalam satuan megabytes (MB)
Klik “Set” dan “OK”. Silahkan restart
komputer kamu dan rasakan perbedaannya.
7. Keuntungan yang diperoleh dari penyimpanan hanya sebagian
program saja pada memori fisik :
❖ Berkurangnya proses M/K yang dibutuhkan (lalu lintas M/K menjadi rendah)
❖ Ruang menjadi lebih leluasa karena berkurangnya memori fisik yang
digunakan
❖ Meningkatnya respon karena menurunnya beban M/K dan memori
❖ Bertambahnya jumlah pengguna yang dapat dilayani. Ruang memori yang
masih tersedia luas memungkinkan komputer untuk menerima lebih banyak
permintaan dari pengguna.
8. Memori virtual dapat diimplementasikan dengan dua cara:
1. Demand Paging yaitu dengan menerapkan konsep pemberian halaman pada
proses
2. Demand segmentation, lebih kompleks diterapkan ukuran segmen yang
bervariasi.
9. Demand Paging
Demand Paging atau permintaan pemberian halaman adalah salah satu
implementasi dari memori virtual yang paling umum digunakan.
Saat melakukan pengecekan pada halaman yang dibutuhkan oleh suatu proses,
terdapat tiga kemungkinan kasus yang dapat terjadi, yaitu:
● Halaman ada dan sudah langsung berada di memori utama - statusnya
adalah valid ("v" atau "1")
● Halaman ada tetapi belum berada di memori utama atau dengan kata lain
halaman masih berada di disk sekunder - statusnya adalah tidak valid/invalid
("i" atau "0")
● Halaman benar - benar tidak ada, baik di memori utama maupun di disk
sekunder (invalid reference) - statusnya adalah tidak valid/invalid ("i" atau "0")
10. Skema Bit Valid - Tidak Valid
Pengaturan bit dilakukan sebagai berikut:
● Bit = 1 berarti halaman berada di memori utama
● Bit = 0 berarti halaman tidak berada di memori utama
Apabila ternyata hasil dari mengartikan alamat melalui page table menghasilkan
bit halaman yang bernilai 0, maka akan menyebabkan terjadinya page fault .
11. Tabel Halaman dengan Skema Bit Valid - Tidak valid
A
B
C
E
D
F
G
0
1
2
3
4
5
6
4
6
9
0
1
2
3
4
5
6
Memori Logis
Page Table
Valid / invalid bit
v
i
v
i
i
v
i
A
C
1
2
3
4
5
6
7
F
8
9
10
Memori Utama (Fisik)
A B
F
D E
C
12. Penanganan Page Fault
Prosedur untuk menangani page fault adalah sebagai berikut:
● CPU mengambil (load) instruksi dari memori untuk dijalankan.
● Jika referensi alamat yang diberikan ke sistem operasi ilegal atau dengan kata lain
halaman yang ingin diakses tidak ada (tidak berada di disk), maka proses akan dihentikan.
Namun jika referensi alamatnya adalah legal maka halaman yang diinginkan akan diambil
dari disk.
● Halaman yang diinginkan akan dibawa dari disk ke memori utama (memori fisik).
● Tabel halaman akan diatur ulang lagi sesuai dengan kondisi yang baru.
● Jika tidak terdapat ruang kosong (free frame) di memori utama untuk menaruh halaman yang baru
maka dilakukan penggantian halaman dengan memilih salah satu halaman pada memori utama
untuk digantikan dengan halaman yang baru tersebut.
● Jika halaman yang digantikan tersebut sudah dimodifikasi oleh proses maka halaman tersebut harus
ditulis kembali ke disk.
● Setelah halaman yang diinginkan sudah dibawa ke memori utama (fisik) maka proses
dapat diulang kembali.
13. Langkah-Langkah dalam Menangani Page Fault
Load
Intruksi
i
Operating
System
Free Frame
1. Reference 2. Trap
6. Restart intruksi 5. Reset page
3. Page di disk
4. Membawa
missing page
14. Kinerja
Kinerja demand paging ini dapat dihitung dengan menggunakan effective access time yang
dirumuskan sebagai berikut:
effective access time = (1 - p) x ma + p x page fault time
ma adalah memory access time, umumnya berkisar antara 10 hingga 200 nanosecond.
p adalah probabilitas terjadinya page fault, yang berkisar antara 0 hingga 1.
Jika p sama dengan 0 yang berarti bahwa tidak pernah terjadi page fault, maka effective
access time akan sama dengan memory access time, dan itulah yang diharapkan.
Sedangkan jika p sama dengan 1, yang berarti bahwa semua halaman mengalami page
fault, maka effective access time-nya akan semaikin meningkat.
15. Copy-on-Write
Proses ini adalah proses untuk berbagi pakai halaman (page sharing) memori
virtual. Karena setiap proses membutuhkan halaman tersendiri, maka dibutuhkan
teknik untuk mengaturnya. Teknik yang digunakan untuk mengoptimasi
pembuatan dan penggunaan halaman adalah teknik copy-on-write, atau yang
biasa disingkat dengan COW.