Top 10 List of Week 05

  1. What is virtual memory?
    Materi utama yang harus saya pelajari pada minggu ke 5 ini ialah tentang Virtual Memory. Virtual Memory sendiri merupakan suatu skema alokasi penyimpanan di mana memori sekunder dapat ditangani seolah-olah itu adalah bagian dari memori utama. Selengkapnya dapat dicek di video yang tercantum pada link diatas.

  2. Virtual Address Space (Memory Management)
    Virtual Address Space atau biasa disingkat VAS merupakan suatu himpunan alamat memori virtual yang dapat digunakan. VAS untuk setiap proses yang sedang berjalan bersifat privat dan tidak dapat diakses oleh proses lain kecuali dibagikan oleh proses tersebut. Website dokumentasi Microsoft tersebut menjelaskan secara general mengenai VAS dan cara pengaturan-pengaturannya khususnya pada Windows.

  3. Copy on Write
    Copy on Write atau biasa disingkat COW merupakan sebuah teknik manajemen sumber daya yang dapat digunakan Memori Virtual untuk mengoptimasi pembuatan dan penggunaan halaman. Website tersebut memberikan penjelasan yang cukup general dan juga jelas mengenai COW disertai penggambaran COW sehingga mudah untuk dipahami.

  4. First-In First-Out (FIFO) Page Replacement Algorithm
    Minggu ini saya juga harus mempelajari beberapa Page Replacement Algorithm, salah satunya ialah First-In First-Out atau biasa disingkat FIFO. Cara kerja dari algoritma FIFO ialah dengan menyimpan semua halaman dari suatu memori di dalam sebuah queue, di mana halaman yang paling tua disimpan di depan queue. Ketika suatu halaman harus diubah, halaman yang ada di queue paling depan yang akan dihilangkan. Video tersebut menjelaskan banyak hal tentang FIFO dari cara kerjanya disertai penggambarannya.

  5. Page Fault Handling in Operating System
    Tidak hanya mempelajari tentang Virtual Memori, saya juga mempelajari tentang Page Fault pada virtual memori. Page Fault terjadi ketika program mencoba mengakses memori blok yang ternyata tidak disimpan di physical memori ataupun RAM. Page fault menghasilkan sebuah exception yang memberi tanda ke OS untuk mengambil memori blok yang ada di virtual memori. Website tersebut berisi penjelasan yang ringkas mengenai Page Fault yang mudah untuk dimengerti.

  6. Belady’s Anomaly in Page Replacement Algorithms
    Anomali Belady merupakan sebuah fenomena dimana peningkatan jumlah page frame dapat mengakibatkan penambahan jumlah page fault untuk beberapa pola akses memori tertentu. Fenomena ini biasa terjadi ketika kita menggunakan algoritma FIFO, Second Chance dan juga Random page replacement. Website tersebut berisi penjelasan yang detail dan jelas mengenai Anomali Belady.

  7. NUMA (non-uniform memory access)
    Non-Uniform Memory Access atau biasa disingkat NUMA merupakan suatu metode konfigurasi cluster mikroprosesor pada suatu sistem multiprosesing yang memungkinkan pembagian memori secara lokal yang bertujuan untuk meningkatkan kinerja dari suatu sistem. Penjelasan lebih jauh mengenai cara kerja NUMA dapat dilihat di website yang sudah dicantumkan diatas.

  8. What does Thrashing mean?
    Thrashing terjadi ketika virtual memori terus menerus bertukar data dengan data yang ada di hard disk dan mengesampingkan sebagian besar proses aplikasi yang seharusnya dilakukan untuk mempertahankan fungsionalitas dari suatu sistem operasi. Jika tidak segera ditangani, Thrashing dapat mengakibatkan kegagalan total dari suatu sistem operasi.

  9. The Least Recently Used (LRU) Page Replacement Algorithm
    Algoritma Least Recently Used atau biasa disingkat LRU merupakan sebuah algoritma Page Replacement untuk mengatasi Page Fault. Ketika Page Fault terjadi, buang page yang sudah lama tidak digunakan. Algoritma ini merupakan algoritma yang tidak murah karena harus mempertahankan sebuah linked list yang berisi setiap page dari memori tersebut.

  10. Buddy and Slab Allocator
    Buddy dan Slab Allocation adalah mekanisme manajemen memori yang ditujukan meningkatkan efisiensi alokasi memori dari suatu objek. Kedua mekanisme diatas memiliki manfaat mengurangi fragmentasi memori yang mungkin terjadi ketika alokasi memori. Penjelasan lebih lengkapnya dapat di cek di github page yang sudah saya cantumkan diatas.