How to use POSIX semaphores in C language
Cara menggunakan POSIX Semaphore dalam C, menggunakan library semaphore.h
. Berisi contoh kode, penjelasan lengkap dan petunjuk penggunaan, best practices, dan situasi di mana semaphore paling bagus digunakan.
Semaphores in Process Synchronization
Semaphore is simply a variable that is non-negative and shared between threads. This variable is used to solve the critical section problem and to achieve process synchronization in the multiprocessing environment.
Menjelaskan secara general apa itu semaphore, kegunaan, sejarah dan jenis-jenisnya.
Deadlock is a situation where a set of processes are blocked because each process is holding a resource and waiting for another resource acquired by some other process.
Menjelaskan apa itu deadlock, bagaimana bisa terjadi, berbagai situasi yang menyebabkan deadlock, dan bagaimana cara menyelesaikan permasalahan deadlock. Dari Mutual Exclusion
, Hold and Wait
, No Preemption
, dan Circular Wait
, serta contoh dari tiap klasifikasi tersebut.
Deadlock Prevention And Avoidance
Membahas dengan detail bagaimana bisa mengidentifikasi masalah yang menyebabkan deadlock, dan berbagai cara penagnanan jika terjadi deadlock. Artikel juga membahas best practices dalam membuat program agar deadlock jarang terjadi.
What is a Racwe Condition
Menjelaskan apa itu Race Condition. Link merupakan suatu thread dalam StackOverflow, namun jawaban mengandung banyak informasi mengenai race conditions, dan nuances dari berbagai kode yang bisa menimbulkan race condition.
Operating Systems | Peterson’s Algorithm
The producer consumer problem (or bounded buffer problem) describes two processes, the producer and the consumer, which share a common, fixed-size buffer used as a queue. Producer produce an item and put it into buffer. If buffer is already full then producer will have to wait for an empty block in buffer. Consumer consume an item from buffer. If buffer is already empty then consumer will have to wait for an item in buffer. Implement Peterson’s Algorithm for the two processes using shared memory such that there is mutual exclusion between them. The solution should have free from synchronization problems.
Di atas merupakan permasalahan yang membutuhkan petersons algorithm, artikel menjelaskan permasalaan secara mendalam, kemudian menampilkan kode solusi dari permasalahan tersebut. Menjelaskan peterson’s algorithm dengan jelas dan intuitif.
Dining Philosopher Problem Using Semaphores
Salah satu permasalahan yang biasa digunakan untuk menjelaskan fungsi semaphore. Menarik melihat penggunaan semaphore dalam suatu aplikasi IRL.
Cigartte Smokers Problem and other Problems
Beberapa permasalahan dalam computer science yang menginggung threadding. Mengandung Cigarette Smokers Problem, Barbershop Problems, dan Santa Clause Problem. Menarik melihat batasan semaphore dan solusi dari berbagai permasalahan tersebut.
Mutex lock for Linux Thread Synchronization
Salah satu alternatif dari Semaphore, Mutex juga menyelsaikan masalah sychronization, dimana dia berbeda dijelaskan di sini (Mutex vs Semaphore), namun artikel ini lebih menjelaskan mutex secara mendalam dan dimana aplikasi mutex bisa membantu.
Critical Section in Synchronization
When more than one processes access a same code segment that segment is known as critical section.
penting karena sangat berhhubungan dengan multithreading.