Implement the set of message system calls as a user-level library, using regular files, named pipes, and
Question:
Implement the set of message system calls as a user-level library, using regular files, named pipes, and locking primitives. When creating a message queue, create a control file that records status of the queue; the file should be protected with file locks or other convenient mechanisms. When sending a message of a given type, create a named pipe for all messages of that type if such a file does not already exist, and write the data (with a prepended byte count) to the named pipe. The control file should correlate the type number with the name of the named pipe. When reading messages, the control file directs the process to the correct named pipe. Compare this scheme to the implementation described in the chapter for performance, code complexity, functionality.