Concurrent execution 2. Sharing access, race conditions 3. Using a simulator or an actual system, explore the consequences of shared access under different timings. Develop mechanisms to synchronize access and prove lack of conflict. Observe a deadlock and decide how to prevent it from happening.
Students gain an appreciation of problems of synchronization and race conditions .
Analysis of strategies. Preemptive and non-preemptive scheduling 2. Run various job mixes in a simulator or actual system under various kinds of scheduling, and then analyze the results. Students learn how to analyze a scheduling policy, and the effects of different scheduling policies. Description of alternative realizations of Asynchronous and parallel constructs in programming languages.