Advanced Memory Management, Hierarki Penyimpanan, dan Optimasi I/O
1. Piramida Hierarki Memori: Mengapa Memori Dibuat Bertingkat? ▾
Kecepatan komputasi prosesor (CPU) bertumbuh jauh lebih pesat dibandingkan kecepatan transfer media penyimpanan. Untuk mengatasi Memory Wall, arsitektur komputer modern menerapkan prinsip hierarki: semakin dekat ke CPU, memori semakin cepat, berkapasitas lebih kecil, dan berbiaya lebih mahal.
- Register CPU (< 1 ns): Berada langsung di dalam prosesor, beroperasi pada frekuensi inti CPU.
- Cache L1, L2, L3 (SRAM) (1 – 10 ns): Menjaga instruksi dan data terdekat agar CPU tidak menganggur (*idle*).
- Main Memory (DRAM / RAM) (~50 – 100 ns): Meja kerja utama aplikasi yang berjalan.
- NVMe SSD / Storage (> 10.000 ns): Penyimpanan permanen berkapasitas terabyte.
2. Translasi Alamat Cepat: Peran TLB (Translation Lookaside Buffer) ▾
Pada materi Pertemuan 6, kita telah mempelajari bahwa pemetaan Virtual Page menuju Physical Frame memerlukan pembacaan Page Table di RAM. Jika setiap instruksi CPU membutuhkan pembacaan Page Table terlebih dahulu, kinerja memori akan berkurang hingga 50%. Solusinya adalah perangkat keras TLB (Translation Lookaside Buffer).
Nomor halaman ditemukan di memori cache TLB. Alamat frame fisik diperoleh secara instan tanpa perlu mengakses RAM sama sekali (< 1 ns).
Halaman tidak tercatat di TLB. Hardware melakukan penelusuran tabel halaman (*Page Table Walk*) ke RAM, lalu memperbarui data TLB.
3. Alokasi Memori Dinamis: Fragmentasi Internal vs Eksternal ▾
Saat program meminta alokasi ruang memori dinamis di heap (misal melalui perintah malloc() di C atau instansiasi objek di Java/Python), Kernel OS harus mencari celah blok memori bebas (*free hole*) yang efisien.
Terjadi jika blok memori yang dialokasikan (misal frame 4 KB) lebih besar daripada kebutuhan data aktual proses (misal hanya butuh 1 KB). Sisa 3 KB terbuang sia-sia di dalam blok tersebut.
Total kapasitas memori kosong di sistem sebenarnya mencukupi, namun lokasinya terpencar-pencar dalam ukuran kecil sehingga proses baru yang meminta blok kontinu tidak dapat dimuat.
• Best-Fit: Mencari celah terkecil yang cukup menampung proses (meminimalkan sisa ruang celah).
• Worst-Fit: Memilih celah kosong terbesar di memori agar sisa pecahannya tetap cukup besar.
4. Page Cache dan Buffer Cache: Mengapa RAM Tampak Penuh di OS? ▾
Mahasiswa sering bertanya: "Mengapa di Task Manager Windows atau perintah `free -m` di Linux, sisa RAM fisik yang benar-benar kosong (*free*) sangat sedikit padahal komputer baru dinyalakan?" Jawabannya adalah pemanfaatan Page Cache.
"RAM yang tidak terpakai adalah RAM yang terbuang percuma (Free RAM is Wasted RAM)."
Kernel OS meminjam ruang RAM yang sedang menganggur untuk menyimpan berkas yang baru saja dibaca dari SSD. Jika aplikasi Anda kelak meminta data yang sama, berkas diambil langsung dari RAM dalam hitungan nanodetik. Jika aplikasi berat mendadak membutuhkan RAM tambahan, kernel akan langsung membersihkan Page Cache tersebut secara instan.
5. Tantangan Memori AI & Big Data: Heterogeneous Memory (RAM vs VRAM) ▾
Dalam era kecerdasan buatan (AI) dan pemrosesan model bahasa besar (*Large Language Models* / LLM), memori tidak lagi bersifat tunggal melainkan heterogen (terpisah antara RAM host CPU dan VRAM akselerator GPU):
Bandwidth ~50–100 GB/s. Menampung sistem operasi, runtime PyTorch/TensorFlow, dan antrean data mentah dari jaringan.
Bandwidth mencapai 1.000–3.000 GB/s. Wajib menampung bobot model neural network (*weights*) dan kalkulasi paralel CUDA cores.
6. Refleksi & Bahan Diskusi Menuju Pertemuan 8 (UTS) ▾
Pertemuan 7 adalah materi penutup sebelum pelaksanaan Ujian Tengah Semester (UTS) di Pertemuan 8. Diskusikan tiga pertanyaan sintesis berikut:
- Mengapa translasi alamat memori fisik pada arsitektur 64-bit mutlak memerlukan dukungan hardware MMU dan TLB, dan apa dampaknya jika translasi tersebut ditangani 100% oleh software kernel?
- Bagaimana hubungan langsung antara *thrashing* pada manajemen memori dengan algoritma *CPU Scheduling* yang dipelajari pada Pertemuan 3?
- Pada 2 jurnal penelitian yang telah Anda pilih untuk tugas pra-UTS, teknologi memori atau arsitektur penjadwalan apa yang menjadi fokus penyelesaian masalahnya?