Manajemen Memori & Virtual Memory

Manajemen Memori & Virtual Memory
Pertemuan 6 • Sistem Operasi
By Alimin, M.Kom
Program Studi Sistem dan Teknologi Informasi

Manajemen Memori & Virtual Memory

By Alimin, M.Kom
Hardware RAM dan Manajemen Memori Komputer
Pertanyaan Inti: "Siapa yang menata meja kerja komputer Anda ketika puluhan aplikasi menuntut ruang memori secara bersamaan di atas kapasitas fisik yang terbatas?"
Pertemuan 6: Memory Management 1 / 11 Slide Berikutnya →
Capaian Perkuliahan

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.
Metafora Konseptual

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
Terpakai: 7.8 GB / 8.0 GB (97.5%)
Memory Pressure: Ketika meja kerja fisik penuh, komputer melambat karena sistem operasi harus memutar otak mencari ruang tambahan.
Keamanan Sistem

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*).

Hasil: Suatu program yang crash (misal tab Chrome rusak) tidak akan meruntuhkan seluruh sistem operasi komputer Anda.
Arsitektur Alokasi

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.
Perangkat Keras MMU (Memory Management Unit): Menerjemahkan alamat logis CPU (Page Number) menjadi alamat fisik RAM (Frame Address) menggunakan Page Table.
Solusi Memori Terbatas

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.

"Gudang memang menambah ruang simpan, tetapi berlari mengambil barang ke gudang selalu jauh lebih lambat daripada mengambil barang yang sudah ada di atas meja kerja."
Mekanisme Interupsi

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.

Langkah 1: CPU mengakses memori logis → MMU memeriksa Valid/Invalid Bit pada Page Table.
Langkah 2: Bit bernilai invalid → Hardware memicu interupsi PAGE FAULT ke Kernel OS.
Langkah 3: OS menahan proses (Blocked State) → Menemukan lokasi halaman di storage (*Pagefile/Swap*).
Langkah 4: Halaman disalin ke frame RAM kosong → Bit diubah ke valid → Instruksi CPU dijalankan ulang.
Optimasi Penggantian

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:

FIFO (First In First Out)

Halaman yang paling awal masuk ke RAM adalah yang pertama kali digusur. Sederhana, namun dapat menimbulkan Belady's Anomaly.

LRU (Least Recently Used)

Halaman yang paling lama tidak diakses oleh proses akan digusur. Sangat optimal mendekati prinsip lokalitas referensi (*Locality of Reference*).

Fenomena Thrashing: Kondisi kritis ketika sistem operasi menghabiskan lebih banyak waktu untuk bolak-balik menukar halaman (paging I/O) daripada mengeksekusi instruksi program, menyebabkan komputer membeku (*freeze total*).
Konteks Komputasi Modern

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:

• RAM Sistem (CPU): Menampung dataset mentah, antrean socket web, dan preprocessing gambar.
• VRAM GPU: Menampung bobot model neural network (*weights*) dan kalkulasi tensor paralel CUDA.
Jika VRAM habis, aplikasi AI akan mengalami *CUDA Out-of-Memory (OOM)*. Jika RAM sistem habis, server akan mengalami *Thrashing* parah.
GPU VRAM Server AI
Laboratorium Mandiri

9. Observasi Langsung: Windows Task Manager

Silakan tekan tombol: Ctrl + Shift + Esc → Pilih tab Performance → Pilih menu Memory.

• In use (Compressed) : Kapasitas RAM fisik yang aktif dialokasikan.
• 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.
Tugas Diskusi Kelas: Buka 5 aplikasi berat di laptop Anda. Catat berapa kapasitas *Committed Memory* yang terpakai dan cari aplikasi mana yang paling rakus mengonsumsi RAM!
Rangkuman & Penutup

10. Kesimpulan Pertemuan 6

"CPU menjalankan instruksi logika, RAM menyediakan meja kerja cepat untuk instruksi yang sedang aktif, dan Virtual Memory menjamin aplikasi tetap bisa berjalan saat batas fisik terlampaui. Semakin kompleks perangkat lunak dan arsitektur AI modern, semakin vital peran Sistem Operasi dalam menjaga agar meja kerja komputasi Anda tetap teratur dan aman dari kehancuran."
Agenda Berikutnya (Pertemuan 7): File System Architecture, Storage Management, dan I/O Optimization — Membedah bagaimana data diorganisasi secara permanen pada disk (NTFS vs ext4).