๐ฏ Capaian Pembelajaran
Setelah mempelajari materi ini, mahasiswa diharapkan mampu:
- Memahami konsep virtual memory
- Menjelaskan mekanisme demand paging
- Menganalisis page replacement algorithm
- Memahami fenomena thrashing
- Mengaitkan virtual memory dengan performa sistem
1. ๐ง Konsep Dasar Virtual Memory
1.1 Pengertian
Virtual Memory adalah teknik yang memungkinkan sistem operasi menjalankan program seolah-olah memiliki memori lebih besar dari RAM fisik.
๐ผ๏ธ Ilustrasi Virtual Memory
7
๐ง Narasi:
Ketika RAM penuh:
- OS memindahkan sebagian data ke disk (swap)
- Program tetap berjalan tanpa error
๐ Virtual memory menciptakan ilusi โmemori tak terbatasโ
2. ๐ฏ Tujuan Virtual Memory
- Mengatasi keterbatasan RAM
- Mendukung multitasking
- Meningkatkan efisiensi penggunaan memori
- Menjalankan program besar
3. ๐ Konsep Address Space
3.1 Logical Address
Alamat yang digunakan oleh program
3.2 Physical Address
Alamat di memori nyata (RAM)
๐ผ๏ธ Address Mapping
7
๐ง Narasi:
Mapping dilakukan oleh:
โก MMU (Memory Management Unit)
4. ๐ฆ Demand Paging
4.1 Pengertian
Hanya memuat page yang dibutuhkan ke memori.
๐ผ๏ธ Demand Paging
7
4.2 Page Fault
Terjadi ketika page tidak ada di memori.
๐ Proses:
- CPU meminta page
- Page tidak ada โ page fault
- OS mengambil dari disk
- Memasukkan ke RAM
๐ง Narasi:
Demand paging meningkatkan efisiensi karena:
- Tidak semua program dimuat sekaligus
5. โ๏ธ Page Replacement Algorithm
Ketika memori penuh, OS harus memilih page yang diganti.
5.1 FIFO (First In First Out)
๐ผ๏ธ FIFO
6
๐ง Konsep:
Page yang masuk pertama โ keluar pertama
โ Kelebihan:
- Sederhana
โ Kekurangan:
- Tidak optimal
5.2 LRU (Least Recently Used)
๐ผ๏ธ LRU
6
๐ง Konsep:
Page yang paling lama tidak digunakan โ diganti
โ Kelebihan:
- Lebih optimal
โ Kekurangan:
- Kompleks
5.3 Optimal Algorithm
๐ผ๏ธ Optimal
6
๐ง Konsep:
Mengganti page yang paling lama tidak akan digunakan
โ Catatan:
Tidak bisa diimplementasikan secara nyata (butuh prediksi masa depan)
6. โ ๏ธ Thrashing
6.1 Pengertian
Thrashing adalah kondisi di mana sistem terlalu sering melakukan paging sehingga performa menurun drastis.
๐ผ๏ธ Thrashing Diagram
5
๐ง Narasi:
- CPU sibuk memindahkan page
- Proses tidak berjalan optimal
Penyebab:
- Terlalu banyak proses
- Memori terlalu kecil
7. ๐ Perbandingan Algoritma
| Algoritma | Kelebihan | Kekurangan |
|---|---|---|
| FIFO | Sederhana | Tidak efisien |
| LRU | Lebih baik | Kompleks |
| Optimal | Paling optimal | Tidak realistis |
8. ๐ Hubungan Virtual Memory dengan Sistem
- Mendukung multitasking
- Meningkatkan efisiensi RAM
- Memungkinkan program besar berjalan
9. ๐ป Studi Kasus
Kasus:
Mahasiswa membuka:
- Browser
- VS Code
- Zoom
๐ Analisis:
- RAM tidak cukup โ OS gunakan swap
- Paging aktif
- Jika berlebihan โ thrashing
10. ๐งช Contoh Sederhana
Reference string:
7 0 1 2 0 3 0 4
๐ Digunakan untuk:
- Menghitung page fault
11. ๐ Latihan
- Apa itu virtual memory?
- Jelaskan demand paging!
- Apa itu page fault?
- Bandingkan FIFO dan LRU!
- Apa itu thrashing?
๐ฏ Kesimpulan
- Virtual memory memperluas kapasitas memori
- Demand paging meningkatkan efisiensi
- Page replacement penting untuk performa
- Thrashing harus dihindari
๐ Pengembangan Materi Selanjutnya
โก File System
โก I/O Management
โก Security