OSLab: Module 4 - Semaphores and Critical Regions


Background

Module 4 demonstrates semaphores and critical regions. Submodule Busywait shows how wait() and signal() can be implemented as `busy waits'; Intel support for hardware atomic implementation of wait() is illustrated in this submodule.

Submodule Queues implements counting semaphores as part of the kernel from Module 3. An example of the producer-consumer problem is implemented in this submodule.

Complete descriptions of each test file (M4xx.C), can be found inside the files as well as the makefile.

Processes in Module 4 use the process registration tools and kernel developed in Module 3.