Cicak Bin Kadal
Top 10 List of Week 07
Mardianto --- Jambi

Top 10 List of Week 07

  1. Race Condition, Critical Section and Semaphore
    This site gives a simple explanation about race condition, critical section, and semaphore where a race condition happens when the result of multiple thread execution in critical section differs according to the order in which the threads execute. Critical Section in a code segment where the shared variables can be accessed and Semaphore is a signalling mechanism and a thread that is waiting on a semaphore can be signalled by another thread. It’s a great short explanation about race condition, critical section and semaphore.

  2. Peterson’s Algorithm
    Peterson’s Algorithm is used to synchronize two processes.It uses two variables, a bool array flag of size 2 and an int variable turn to accomplish it. This site provides an explanation with several examples that make it easier for us to understand.

  3. Semaphore
    Semaphores are integer variables that are used to solve the critical section problem by using two atomic operations, wait and signal that are used for process synchronization. Explanation of the advantages and disadvantages of using a semaphore made me understand better

  4. Classical Problem of Synchronization
    there are 3 problems discussed by this website, Bounded Buffer (Producer-Consumer) Problem, Dining Philosophers Problem, and The Readers Writers Problem. Just check it out for more information.

  5. Mutex vs Semaphore
    A mutex provides mutual exclusion, either producer or consumer can have the key (mutex) and proceed with their work. As long as the buffer is filled by the producer, the consumer needs to wait, and vice versa. A semaphore is a generalized mutex.For more information.The general question provided is very helpful in understanding the difference well.

  6. Introduction of Deadlock
    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.

  7. Race Conditions and How to Prevent Them
    This video gives a simple explanation about race condition and how to prevent it. The animation really helps me to understand it clearly

  8. Deadlock and Starvation
    Deadlock occurs when each process holds a resource and wait for other resource held by any other process. Starvation is the problem that occurs when high priority processes keep executing and low priority processes get blocked for indefinite time. For more difference between deadlock and starvation, check this site.

  9. Deadlock Video
    This video provides a fairly simple explanation of deadlocks but provides a flow that is easy enough to understand. The visuals made things a lot clearer. Just check this video.

  10. Semaphore simplified
    Another great video. This video describes semaphores in the form of a restaurant case. A semaphore is like a guard who tracks open seats at the restaurant. He lets in customers to the restaurant only if the seats are available. If the seats are occupied, the customers (processes) will have to wait outside the restaurant.


© 2021-2021 --- Mardianto --- File Revision: 0031a---07-Mar-2021.