Tester for synchronisation problems
Tester for synchronisation problems
Background
The modules " Operating Systems 1
" and
" Operating Systems 2
" deal with synchronisation problems that are to be solved using various synchronisation concepts (semaphores, monitors, rendezvous concept, messages). Proving that such a synchronisation problem has been solved correctly is usually very difficult and requires a mathematical proof. Proving that a solution is incorrect, on the other hand, is usually easier, as the construction of a single counterexample is sufficient. Nonetheless, this is sometimes very time-consuming and tedious, especially in tutorials, as a large number of different potential solutions are generated and the tutors first have to familiarise themselves with each attempted solution. Experience in recent years has shown that (unfortunately) most attempted solutions are incorrect and that it is often possible to construct a sequence in which the synchronisation problem is not solved correctly.