Top 10 List of Week 07

  1. Peterson’solution
    Peterson’s solution adalah sebuah algoritma konkurensi yang digunakan pada dua process dalam berbagi resource, sehingga tidak terjadi konflik pada saat pengaksesan data. Peterson’solution ini umumnya digunakan pada proses sinkronisasi. Pada website ini banyak membahas flow dari peterson’solution. Penjelasaannya sangat lengkap, bahkan disertai contoh kode yang mudah untuk dipahami.

  2. Difference between Mutex Locks and Semaphore
    Mutex adalah suatu object pada sistem operasi yang hanya memberikan izin kepada hanya satu process untuk mengakses resource dalam satu waktu tertentu. Mutex merupakan salah satu solusi dari synchronization. Selain Mutex salah satu solusi dari synchronization adalah Semaphore. Website ini membahas perbedaan pada Mutex dan Sempahore. Penjelasannya sangat lengkap dan menarik, karena sebelum menjelaskan perbedaan website ini memberikan pengenalan mengenai synchronization, apa itu semaphore dan Mutex.

  3. Classical Problem in Synchronization
    Meskipun synchronization bisa menjadi solusi dari permasalahan race condition, tapi synchronization juga memiliki kekurangan yang dapat menimbulkan masalah. Terdapat 3 jenis permasalahan classic pada proses synchronization, diantaranya bounded buffer, dining philosopher, dan the readers writer. Pada website ini membahas mengenai masing-masing dari permasalahan tersebut. Penjelasannya singkat dan mudah dipahami oleh pembaca.

  4. What is spinlocks
    Spinlocks merupakan implementasi dari lock yang menyebabkan suatu thread berhenti sementara pada loop sambil mengecek apakah lock tersebut tersedia. Spinlock biasanya digunakan untuk menghindari adanya overhead karena proses rescheduling sistem operasi atau context switching. Pada video ini diberikan penjelasan mengenai spinlocks secara lengkap. Penjelasannya sangat lengkap dan juga disertai dengan contoh.

  5. Deadlocks
    Deadlocks merupakan suatu kondisi dimana 2 proses atau lebih saling menunggu process lain untuk melepaskan resource yang sedang dipakai. Deadlock umumnya terjadi ketika banyak proses mengakses sumber yang sama namun sumber tersebut hanya mengizinkan satu process, sehingga process yang lainnya harus menunggu. Pada website ini banyak membahas mengenai deadlock mulai dari contoh-contoh deadlock, cara mencegah deadlock, dan cara mendeteksi deadlock.

  6. Race Condition
    Race condition merupakan suatu kondisi dimana behavior dari program bergantung pada timing dari suatu thread. Race condition merupakan masalah yang biasanya muncul dari multi threading. Website ini membahas mengenai Race Condition dan juga contoh-contoh kasus Race condition yang biasanya terjadi. Penjelasannya sangat lengkap dan mudah dipahami.

  7. Transactional Memory
    Transactional Memory merupakan sebuah proses atomic dari operasi memory read-write. Pada website ini banyak membahas mengenai transactional memory mulai dari keuntungan transactional memory dan contohnya. Penjelasannya singkat dan mudah untuk dipahami.

  8. Banker’s algorithm
    Banker’s algorithm merupakan algoritma yang digunakan untuk mencegah deadlock. Algoritma ini juga berfungsi agar sistem operasi dapat berbagi resource. Meskipun dapat mencegah deaclock algoritma ini memiliki kelebihan dan kekurangan. Pada website ini, banyak membahas mengenai algoritma ini mulai dari kelebihan dan kekurangan dan flow dari program ini. Penjelasannya sangat singkat tapi mudah untuk dipahami.

  9. Resource allocation graph
    Resource allocation graph adalah salah satu cara untuk merepresentasikan state dari suatu sistem. Banyak menyimpan informasi yang berhubungan dengan proses dan resource. Pada website ini pembahasan resource allocation graph dimulai dari komponen-komponen , jenis vertices, dan disertai juga dengan contoh resource allocation graph. Penjelasan pada contohnya sangat jelas, bahkan disertai dengan visualisasi gambar.

  10. Detection algorithm
    Detection algorithm merupakan algoritma yang digunakan untuk mendeteksi adanya deadlock. Algoritma ini memanfaatkan graph untuk mengecek adanya deadlock state. Pada website ini, banyak membahas mengenai deadlock detection algorithm seperti tahap-tahap pada algoritma ini. Pembahasannya sangat singkat tapi sangat mudah dipahami.