Top 10 List of Week 07

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

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

  1. Introduction of Deadlock in Operating System

    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.

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

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

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

  1. Dining Philosopher Problem Using Semaphores
    Salah satu permasalahan yang biasa digunakan untuk menjelaskan fungsi semaphore. Menarik melihat penggunaan semaphore dalam suatu aplikasi IRL.

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

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

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

HOME