joji
Operating Systems 2021-1 (OS211)
frsardhf --- jkt

Top 10 Links Related to W07

This week, we are learning Synchronization.

  1. Intro to Synchronization and Spinlock (article)
    Lets start this week with Introduction to Synchronization in the medium link above, Spinlock Implementations and Alternatives are explained in detail with pictures to help us visualize them. Only 15 mins read! 😊

  2. Critical Section Problem (article)
    Essentially, there are 4 sections of a program. But in the above article, only Critical Section are described because it has the main role in Process Synchronizations. There are also a summary at the end, so make sure take note of them.

  3. Classical problems of Synchronizations with Semaphore solution (article)
    Some examples of Classical problems with binary semaphores or mutex locks as actual implementations. For more details of each classical problem, you can view the linked articles in the article above.

  4. Synchronization in Java (article)
    Related to Synchronization, What is Synchronization in Java and why we use them? you can read them in the link above. There are also some examples of Java synchronized method.

  5. Synchronization Hardware (article)
    Basically, it is hardware-based to resolve Critical Section problem which wasnt covered in detail in the previous link (2).

  6. Deadlock in Java Multithreading (article)
    Continuing Synchronization in Java (4), A Java multithreaded program may suffer from the deadlock condition because the synchronized keyword causes the executing thread to block while waiting for the lock, or monitor, associated with the specified object.

  7. Race Condition (article)
    A race condition occurs when processes have concurrent access to shared data and the final result depends on the particular order in which concurrent accesses occur. Race conditions also can result in corrupted values of shared data.

  8. Strategies for handling Deadlock (article)
    There are 4 strategies actually which is Deadlock Ignorance, Deadlock Prevention, Deadlock Avoidance, as well as Deadlock Detection and Recovery. More details on the above article.

  9. How to prevent Race Conditions? (video)
    Race Conditions was covered in (7), but how do we prevent them? Dekker’s Algorithm offers a way to ensure that programs can only access the shared data one at a time, you can watch more details in the above video.

  10. Spinlock vs Semaphore (article)
    You can read the forum above to understand the differences of the two. 👍

Thats it for this week’s top ten links, see you next week!