Cicak Bin Kadal
Top 10 List of Week 05
Steven --- North Jakarta

Top 10 List of Week 05

  1. Paging in OS, definitions, and algorithms
    Sebuah playlist yang lengkap berisi 9 video tentang Paging, serta istilah dan algoritma di sekitarnya. Saya yakin anda sudah mempelajari tentang paging secara dasar di W04, namun saya akan berikan beberapa important facts dari video ini yang saya dapatkan yaitu tiap Process akan memiliki page table sendiri, Address di CPU dan RAM itu ternyata berbeda formatnya dan dibagi ke dua bagian yaitu offset dan number (ada di video menit 8:40), serta sedikit info saja yang menurut saya terlewatkan yaitu Page Replacement Algorithm itu sebuah algoritma untuk memetakan page mana yang dikeluarkan dari memory untuk sementara waktu apabila space diperlukan untuk keperluan lainnya. Mengapa dipilih link ini?: Playlist sifatnya sangat lengkap materinya apabila anda berniat mempelajari memory management lebih lanjut.

  2. Page Fault in 2 minutes
    Video singkat untuk memvisualisasikan Page Fault, dari anda lihat di link sebelumnya, Page Replacement Algorithm itu ada hubungannya dengan Page Fault namun apa hubungannya? Bila kita lihat kembali Page Fault terjadi apabila data di virtual memory yang kita petakan ke RAM itu tidak ada di RAM (sudah dipindah ke dalam memory) dan dari situ, data dari RAM dipindah ke disk itu karena RAM sudah penuh, dan kalau sudah penuh apabila kita mau menambahkan data ke dalam RAM lagi untuk disimpan kita harus mengosongkan sebuah page, nah dan dari page itulah kita gunakan Page Replacement Algorithm untuk mencari page untuk dikosongkan. Oh juga throwback ke POK karena Page Fault itu dihitung sebagai Interrupt oleh OS Mengapa dipilih link ini?: Video sifatnya singkat padat namun juga jelas, serta disertai visualisasi yang baik, walaupun saya tidak rekomendasi anda belajar dari sini saja.

  3. Demand Paging vs. Pre-Paging system
    Sebuah artikel yang menjelaskan perbedaan dua sistem paging dengan visualisasi yang cukup baik. Dari video yang telah kita lihat sebelumnya, ternyata yang dijelaskan adalah sistem Demand Paging dimana sistemnya memory hanya akan dikosongkan jika dan hanya jika ada permintaan dari CPU untuk membebaskan memory. Sedangkan untuk Pre-paging kita throwback lagi ke POK tentang Cache dimana OS akan juga melakukan pembebasan page lainnya dahulu untuk memprediksi apabila akan dibutuhkan juga page lainnya, namun pastinya ada kelemahan seperti cache yaitu akan lebih lambat bila ternyata setelah kita pre-page address 0x0005 malahan kita harus mengakses data yang tadinya ada di memory 0x0005 malah sekarang ada di dalam disk akibat prepage. Mengapa dipilih link ini?: Topik yang out of the box, karena saya hanya melihat sistem demand paging di kebanyakan penjelasan memory management. Serta visualisasi yang baik.

  4. What is an Operating System Kernel?
    Selama ini kita sudah belajar memory management, dan segala hal OS lainnya. Namun saya berpikir apakah OS berjalan sebagai kombinasi gerbang logika? atau bagaimana? Ternyata di dalam OS ada program yang pertama kali wajib dijalankan dan akan hidup hingga shutdown computer bernama Kernel yang salah satu tugasnya adalah memory management, namun juga ada Device management, Interrupt handling, dan Process management. Juga info penting bahwa ada memory yang sifatnya protected dari OS untuk kernel sendiri bernama kernel space, sedangkan untuk aplikasi yang kita gunakan sehari-hari itu ada di User space. Mengapa dipilih link ini?: Penjelasan yang sangat mendetil tentang kernel dan bisa dihubungkan dengan memory management.

  5. Why does Google Chrome use alot of memory?
    Kita sering mendengar istilah dan meme kalau Google Chrome itu memakan banyak sekali memory, mengapa hal itu bisa terjadi ya? Ternyata teknologi yang canggih itu memiliki drawback juga. Yaitu chrome memiliki sistem sandboxing untuk tiap tab browser yang anda buka, chrome akan membuat semacam isolation untuk tiap tab masing-masing dengan tujuan apabila tab anda tiba2 crash maka hanya tab itu saja yang crash, tab lain aman, namun ada drawback karena di tiap sandbox/isolated system itu harus diberikan fitur chrome masing-masing yang berarti more memory usage. Juga ada flashback yang cukup menarik tentang caching dan prepaging tentang system Chrome melakukan Prerendering pages Mengapa dipilih link ini?: Topik yang cukup menarik dan kurang informasi telah disampaikan di dalam video ini, juga anda bisa membayang-bayangkan mengapa memory management di high-level itu terkadang mengalami hambatan karena keinginan akan suatu fitur

  6. Page Replacement Algorithm with Problems and Solutions
    Saya sarankan anda untuk benar-benar membaca artikel ini secara seksama apabila anda tertarik untuk mempraktekkan algoritma Page Replacement secara real life, di artikel ini terdapat 5 algoritma page replacement yang paling umum yaitu FIFO, LIFO, LRU (Least Recently Used), Optimal, dan Random. Dimana saya yakin anda sudah mengenal FIFO dan LIFO di mata kuliah Struktur Data & Algoritma. Walaupun terdapat 5 jenis, jenis Optimal itu sebenarnya tidak mungkin diimplementasikan, mungkin mulai dari definisi dimana algoritma ini akan memasukkan page yang tidak akan digunakan oleh CPU dalam waktu terlama nantinya, sudah jelas tidak mungkin diimplementasikan karena bagaimana? yang benar saja kita harus membuat AI untuk memory management yang sifatnya harus sangat cepat sedangkan AI sendiri membutuhkan hardware yang canggih untuk berfungsi secara optimal. Mengapa dipilih link ini?: Throwback ke materi cache POK dimana kita sifatnya mengsimulasikan jalannya komputer dengan soal-soal di artikel ini. Serta pembahasan yang cukup baik tentang Optimal Page Replacement Algorithm.

  7. Local vs. Global allocation policies
    Sebuah pertanyaan muncul dari saya, apabila kita ingin mereplace suatu block apakah kita sesuai dengan algoritma saja? atau ada batasan lagi? Ternyata ada sistem global dan local, bayangkan local sebagai apabila process 1 memerlukan load page ke dalam RAM namun sedang penuh, maka yang boleh disimpan ke disk untuk membuat ruang kosong harus juga berasal dari process yang sama, sedangkan untuk global boleh berasal dari process yang berbeda untuk dikosongkan memory-nya. Mengapa dipilih link ini?: Penjelasan yang straightforward yang disertai ilustrasi isi memory. Juga disertai penjelasan mengenai advantage dan disadvantage yang logis.

  8. Thrashing in Operating System
    Thrashing dalam Bahasa Inggris berarti “menghajar”, yang cukup logis istilahnya digunakan di dalam OS, karena istilah ini digunakan pada saat OS sedang “dihajar” banyak sekali permintaan page replacement akibat page fault yang banyak sekali terjadi yang menyebabkan penurunan kinerja mesin. Dan ternyata ada hubungan yang cukup jelas bahwa global page replacement tidak tepat untuk mengatasi thrashing, yang lengkapnya anda bisa baca di artikel berikut. Mengapa dipilih link ini?: Artikel sifatnya problem dan available solutions yang menantang kita untuk berpikir juga dengan bad solutions yang disediakan serta alasannya.

  9. Moore’s law decline and why we are not prepared
    Throwback ke materi pertama POK tentang Moore’s law yang mengatakan jumlah transistor dalam chip silicon akan mengganda jumlahnya tiap tahunnya karena perkembangan teknologi. Namun bila anda GSGS anda akan melihat banyak sekali artikel yang mengatakan bahwa Moore’s law mengalami penurunan (bukan tidak valid lagi melainkan mulai menurun validitasnya). Mengapa hal itu bisa terjadi? dimulai dari sifat kegunaan komputer yang mulai terspesialisasi dari HP, Game console, dan juga AI hardware. Jika anda bandingkan dulunya personal computer ya untuk semua hal, tidak ada smartphone, console game yang sudah bisa dikatakan secanggih komputer, namun dikarenakan spesialisasi membutuhkan teknologi yang lebih spesifik seperti graphical unit processor di hardware AI dan game console, keinginan untuk membuat processor yang bisa mengikuto Moore’s law juga berkurang. Namun apa hubungannya dengan memory management? Ada faktor lain juga dimana semakin canggihnya teknologi programming, seperti struktur data baru, memory management algorithms, dkk. Maka semakin juga tidak diperlukan adanya processor yang lebih cepat, menyebabkan inovasi yang 1 penemuannya menjadi kontradiksi untuk inovasi satunya lagi. Mengapa dipilih link ini?: Sebuah topik yang menarik untuk dibaca dan dikorelasikan dengan memory management serta trend teknologi saat ini.

  10. What is NUMA?
    Numa numa yei, bukan lagu yang terkenal dari Romania, melainkan “Non-Uniform Memory Access” Namun kita harus balik melihat sejarah dimana dulunya processor sifatnya Uniform dengan semua processor bisa mengakses semua memory di sistem jadi tidak perlu perantara, dari CPU langsung ke memory yang ditujukan melalui 1 buah bus. Namun seiring berkembangnya zaman dan naiknya gap kecepatan antara main memory dan processor, kita menghadapi masalah dimana memory harus langsung disambungkan ke CPU yang melaksanakan tugas karena saking cepatnya CPU tersebut. Oleh karena itu di sistem NUMA sebuah CPU yang ingin menuliskan ke memory lain harus lewat CPU lain. Ada juga teknologi NUMA Node dimana tiap node ada beberapa CPU dan 1 memory Mengapa dipilih link ini?: Dari beberapa artikel tentang NUMA saya rasa artikel ini paling menarik karena disertai juga sejarah dan alasan mengapa NUMA hadir daripada hanya sekilas definisi saja.


© 2021-2021 --- Steven --- File Revision: 0027---27-Feb-2021.