Top 10 List of Week 07

  1. Synchronization
    Proses synchronization adalah sebuah proses yang ditujukan untuk menghandle problem yang ada ketika melakukan berbagai macam process executions. Process sendiri dibagi menjadi dua tipe, yaitu independent process dan cooperative process.

  2. What is race condition?
    Race condition adalah sebuah situasi yang terjadi ketika device atau system mencoba untuk melakukan dua atau lebih operasi dalams satu waktu. Tetapi, hal tersebut harus dilakukan secara “proper sequence” agar mendapatkan hasil yang benar.

  3. Critical Section Problem
    Critical section adalah sebuah bagian dari program yang mencoba untuk mengakses shared resources. Critical section tidak bisa mengeksekusi lebih dari satu proses dalam satu waktu, sehingga critical section problem adalah sebuah design protokol yang mencegah terjadi race condition.

  4. What is Deadlock?
    Deadlock adalah kondisi ketika sebuah set proses terblock, dikarenakan setiap process menggunakan sebuah resource dan menunggu resource lainnya yang dihasilkan oleh proses lainnya.

  5. What is Semaphore?
    Semaphore adalah variable integer yang digunakan untuk men-solve critical section problem dengan menggunakan dua operasi atomic. Operasi tersebut adalah wait dan signal.

  6. Semaphore’s advantage and disadvantage
    Keuntungan dari menggunakan semaphore adalah tidak adanya resource yang terbuang dikarenakan tidak ada process yang berada dalam kondisi “waiting”. Disadvantagenya adalah dalam programming menggunakan semaphore sedikit sulit.

  7. What is mutex?
    Sama halnya seperti semaphore, mutex juga digunakan sebagai solusi dalam menghandle concurrent programming. Contoh penggunaan mutex adalah mengakses printer dan camera (multiple processes accessing a common resource)

  8. Mutex vs Semaphore
    Saya sempat agak bingung mengenai perbedaan mutex dan semaphore jika hanya dilihat dari definisinya. Salah satu perbedannya menurut website ini adalah bahwa mutex menggunakan locking mechanism dan semaphore menggunakan signalling mechanism.

  9. Deadlock Prevention
    Ternyaata deadlock dapat dicegah dalam situasi tertentu. Dalam artikel ini, pencegahan deadlock terdiri dari 3 cara, yaitu lock ordering, lock timeout, deadlock detection.

  10. Recover from Deadlock
    Deadlock dapat direcover dengan beberapa cara. Dalam artikel ini disebutkan bahwa deadlock dapat direcover dengan dua cara, yaitu process termination dan resource preemption.