The Problem With Semaphores

Semaphores work. But programmers still need to code carefully to ensure mutual exclusion and that synchronisation operate correctly.

Language Constructs

The problem with semaphores is that they are too low level in nature: they are similar to doing mutual exclusion and synchronisation in assembly language using goto's! They have no structure. They are also damnably hard to prove correct and near to impossible to test!

What is needed are high-level language constructs that enforce the necessary discipline. The two main contenders for this job are:

In Multiprogramming system, there is the DEADLOCK. A process which indicates waiting for an event that will never occur.  

        

    Go back to page 13                           Go to page 15 of 17                    

    Designed by: Harriet B. Nyakaana