Program 1 - P/V and message system

The first step in building the overall system is to build the base communication and locking system. The programs will be written in threads. At the thread level you need to use the thread multix to provide locking for mutual exclusion. On top of this write P and V and provide a semaphore locking system. From there on you can use either the multix or the semaphore for locking, but since most of the system is a queuing system, you will normally want to use your semaphore.

The locking and messaging system that will be used by the rest of the operating system is send/receive messaging.

Note the messages can be of any length. This goes from zero bytes to a full file.