Manajemen Memori & Virtual Memory
1. Tujuan Pembelajaran
- Memahami peran Sistem Operasi sebagai manajer alokasi memori fisik (RAM).
- Memahami konsep isolasi dan perlindungan ruang memori (Memory Protection).
- Membedakan arsitektur pemetaan memori: Paging vs Segmentation.
- Menguasai mekanisme Virtual Memory dan penanganan Page Fault.
- Menganalisis fenomena Thrashing dan algoritma penggantian halaman (FIFO & LRU).
- Memahami disparitas antara sistem memori RAM vs VRAM GPU pada beban kerja AI.
2. RAM Sebagai Meja Kerja
Bayangkan laptop Anda memiliki kapasitas 8 GB RAM. Saat Anda membuka banyak program, ruang meja terisi cepat:
| Aplikasi Aktif | Konsumsi Memori |
|---|---|
| Windows Kernel & Services | 2.2 GB |
| Google Chrome (Banyak Tab) | 2.4 GB |
| VS Code & Extensions | 1.2 GB |
| Python Runtime (Script AI) | 1.4 GB |
| MySQL & Background Tools | 0.6 GB |
3. Memory Protection & Isolasi
Salah satu tugas paling vital dari Sistem Operasi adalah memastikan bahwa setiap aplikasi memiliki batas ruang memori tersendiri (Isolated Address Space).
🛡️ Base & Limit Registers
Hardware CPU menyediakan register penanda: Base (titik awal memori proses) dan Limit (panjang jatah memori). Akses di luar batas akan langsung dicegat.
💥 Segmentation Fault
Jika Process B mencoba membaca/mengubah data milik Process A (misal: saldo bank atau token auth), OS langsung menghentikan paksa Process B dengan sinyal crash (*Access Violation*).
4. Paging vs Segmentation
Sistem operasi modern tidak menempatkan program secara utuh menyambung di RAM, melainkan memotongnya ke dalam unit-unit teratur:
Paging (Ukuran Tetap)
- Memori logis dipecah menjadi blok berukuran tetap yang disebut Page (standar x86/x64: 4 KB).
- Memori fisik (RAM) dipecah menjadi slot berukuran sama yang disebut Frame.
- Menghilangkan *external fragmentation*.
Segmentation (Ukuran Dinamis)
- Memori dipotong sesuai struktur logis modul program: Segment Code, Data, Heap, dan Stack.
- Ukuran setiap segmen bervariasi sesuai kebutuhan eksekusi.
5. Virtual Memory & Ruang Gudang
Virtual Memory adalah teknik yang memungkinkan komputer menjalankan proses dengan kebutuhan memori melebihi kapasitas RAM fisik yang tersedia, menggunakan sebagian ruang media penyimpanan (SSD/HDD).
Manfaat: Ruang Tak Terbatas
Program berukuran besar (misal game atau model AI 12 GB) tetap bisa dibuka di komputer dengan RAM 8 GB tanpa langsung terjadi penolakan sistem.
Biaya: Penurunan Kecepatan
Kecepatan akses RAM fisik (nanodetik) ribuan kali lipat lebih gesit dibandingkan SSD/HDD (mikrodetik). Paging berlebih akan memperlambat komputer.
6. Siklus Penanganan Page Fault
Page Fault bukanlah eror kerusakan program, melainkan hardware trap/interrupt yang dipicu oleh MMU saat halaman yang diminta CPU sedang tidak berada di frame RAM fisik.
7. Algoritma Page Replacement & Thrashing
Jika tidak ada frame RAM yang kosong saat terjadi page fault, OS harus mengorbankan satu halaman untuk dibuang (*swap out*) menggunakan algoritma penggantian:
Halaman yang paling awal masuk ke RAM adalah yang pertama kali digusur. Sederhana, namun dapat menimbulkan Belady's Anomaly.
Halaman yang paling lama tidak diakses oleh proses akan digusur. Sangat optimal mendekati prinsip lokalitas referensi (*Locality of Reference*).
8. Tantangan Memori pada Server AI
Pada kasus inferensi atau training AI (misal deteksi penyakit daun oleh 100 pengguna simultan), ada dua subsistem memori yang bekerja:
• VRAM GPU: Menampung bobot model neural network (*weights*) dan kalkulasi tensor paralel CUDA.
9. Observasi Langsung: Windows Task Manager
Silakan tekan tombol: Ctrl + Shift + Esc → Pilih tab Performance → Pilih menu Memory.
• Committed : RAM fisik + Pagefile yang telah dijanjikan oleh kernel.
• Paged pool : Memori kernel yang dapat dipindahkan ke storage.
• Non-paged pool : Memori kritis kernel yang HARUS selalu berada di RAM.