The current synchronization lab [1] is too verbose and only presents some basic synchronisation scenarios and some of their implementation, but without any concrete usage scenarios. In addition, semaphores and barriers aren't included in the tasks [2]. This makes it difficult for students to design a parallel application, such as the "Parallel Firewall" assignment [3].
The following changes to the synchronization lab [2] are required to fix this issue:
- Add tasks about semaphores and barriers
- Add a task about the producer-consumer model
- Leave the tasks about atomics and TLS at the end of the lab, mostly as bonus.
[1] https://cs-pub-ro.github.io/operating-systems/Compute/lab8
[2] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/compute/synchronization/drills/tasks
[3] https://github.com/cs-pub-ro/operating-systems/tree/main/content/assignments/parallel-firewall
The current synchronization lab [1] is too verbose and only presents some basic synchronisation scenarios and some of their implementation, but without any concrete usage scenarios. In addition, semaphores and barriers aren't included in the tasks [2]. This makes it difficult for students to design a parallel application, such as the "Parallel Firewall" assignment [3].
The following changes to the synchronization lab [2] are required to fix this issue:
[1] https://cs-pub-ro.github.io/operating-systems/Compute/lab8
[2] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/compute/synchronization/drills/tasks
[3] https://github.com/cs-pub-ro/operating-systems/tree/main/content/assignments/parallel-firewall