os211

My Week-7 Top 10 List

1. The Critical Section Problem

Pada website ini penjelasan yang singkat dan mudah dipahami mengenai critical section problem dan bagaimana solusi mengatasinya. Dijelaskan bahwa critical section merupakan bagian dari program yang mencoba mengakses shared resource. Critical section tidak dapat mengakses lebih dari satu proses pada waktu yang sama. Dalam hal ini proses synchronization diperlukan untuk menjaga kekonsistensian data.

2. What is Semaphore?

Semaphore adalah variabel yang non-negatif dan dishare di antara threads. Semaphore merupakan mekanisme untuk proses synchronization, dimana menggunakan operasi wait dan signal. Pada website ini diberikan contoh mengenai semaphore untuk memudahkan kita memahami.

3. Introduction to Deadlock

Deadlock adalah situasi yang terjadi ketika process apa pun memasuki status menunggu karena waiting process yang lain sedang menahan resource yang diminta. Pada website ini diberikan penjelasan yang lengkap mengenai pengertian deadlock, deadlock detection, deadlock prevention, serta keuntungan dan kerugian menggunakan deadlock method.

4. Peterson’s Algorithm in Process Synchronization

Peterson’s Algorithm digunakan untuk menyinkronkan dua proses. Peterson’s Algorithm menggunakan dua variabel, sebuah bool array flag dengan panjang 2 dan variabel turn. Pada website ini terdapat contoh code untuk membantu kita memahami peterson’s algorithm.

5. Race Condition

Race condition merupakan situasi yang tidak diinginkan yang terjadi ketika sebuah perangkat atau sistem mencoba melakukan dua operasi atau lebih pada waktu yang sama, tetapi karena sifat dari perangkat atau sistem tersebut, operasi tersebut harus dilakukan dalam urutan yang benar agar dapat dilakukan dengan benar. Pada website ini juga dijelaskan bagaimana cara mencegah race condition.

6. Inter Process Communication

Artikel ini menjelaskan secara lengkap mengenai Inter Process Communication. Inter Process Communication merupakan mekanisme yang memungkinkan proses untuk berkomunikasi satu sama lain dan menyinkronkan tindakannya. Komunikasi antara proses ini dapat dilihat sebagai metode kerjasama di antaranya. Proses dapat berkomunikasi satu sama lain melalui shared memory dan message passing.

7. Bounded Buffer Problem

Bounded Buffer Problem, yang juga disebut producer consumer problem, merupakan salah satu masalah klasik sinkronisasi, dimana sebuah finite buffer pool digunakan untuk bertukar pesan antara proses produsen dan konsumen. Salah satu solusi untuk masalah ini adalah dengan menggunakan semaphores.

8. Difference between Mutex and Semaphore

Website ini memberikan penjelasan yang cukup jelas mengenai perbedaan Mutex dan Semaphore. Salah satu perbedaan antara keduanya adalah Mutex menggunakan locking mechanism yaitu jika suatu proses ingin menggunakan suatu resource maka ia akan mengunci sumber daya, menggunakannya, dan kemudian melepaskannya. Namun di sisi lain, semaphore menggunakan signal mechanism dimana method wait dan signal digunakan untuk menunjukkan apakah suatu proses melepaskan sumber daya atau mengambil sumber daya.

9. The Dining Philosophers Problem

The Dining Philosophers Problem merupakan masalah sinkronisasi klasik yang mengatakan bahwa lima Philosophers duduk mengelilingi meja bundar dan tugas mereka adalah berpikir dan makan secara bergantian. The Dining Philosophers mendemonstrasikan kelas besar dari masalah conncurrency control sehingga ini merupakan masalah sinkronisasi klasik. Pada artikel ini terdapat ilustrasi untuk membantu kita memahami dan juga solusi untuk mengatasi masalah ini.

10. Readers Writers Problem

Readers writers problem berkaitan dengan objek seperti file yang digunakan bersama antara beberapa proses, dimana digunakan untuk mengatur sinkronisasi agar tidak ada masalah dengan data objek. Dalam hal ini, writer harus mendapatkan akses eksklusif ke suatu objek yaitu ketika writer mengakses objek tersebut, tidak ada reader atau writer lain yang dapat mengaksesnya. Namun, banyak reader dapat mengakses objek tersebut pada saat yang bersamaan.