os211

Top 10 List of Week 07

  1. Critical Section Problem

    Critical Section adalah bagian dari program yang mencoba mengakses shared resources. Critical Section tidak dapat dijalankan oleh lebih dari satu proses pada saat yang bersamaan. Pada halaman ini, dibahas segala hal mengenai Critical Section Problem beserta solusi-solusinya. Isi dari halaman tersebut singkat, padat, dan jelas.

  2. Peterson’s 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.

  3. 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.

  4. Deadlock Characterization

    Deadlock terjadi pada saat dua atau lebih proses membutuhkan resource untuk menyelesaikan eksekusi mereka yang dipegang oleh proses lain. Deadlock terjadi saat empat kondisi Coffman berlaku yaitu Mutual Exclusion, Hold and Wait, No Preemption, dan Circular Wait. Pada halaman ini, keempat kondisi tersebut dijelaskan secara jelas dan disertai ilustrasi yang memperjelasnya.

  5. Deadlock Prevention And Avoidance

    Pada halaman ini, terdapat pembahasan mengenai cara-cara untuk mencegah dan menghindari deadlock. Halaman ini menjelaskannya secara terperinci dan jelas. Halaman ini juga memberikan gambaran serta contoh sehingga memudahkan dalam memahaminya.

  6. 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.

  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. Bounded Buffer Problem

    Bounded buffer problem adalah salah satu masalah klasik dalam problems of synchronization. Isi web ini awalnya membahas penjelasan problem dan gambarannya kemudian dijelaskan solusinya. Isi dari web ini jelas dan mudah dimengerti.

  9. Readers Writers Problem

    Readers writer problem juga merupakan salah satu masalah klasik dalam synchronization problem. Readers hanya bisa membaca dan boleh membaca secara bersamaan dengan readers lain. Writers bisa menulis namun pada satu waktu hanya boleh satu writers saja yang menulis. Pada web ini dijelaskan secara lengkap dan jelas dari penjelasan, contoh kasus, penyelesaian, dan implementasi kodenya.

  10. 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.