CS475 Program 0 Write a C program using light-weight threads with three light- weight processes. These will be referred to as R (the reader), F (the filling processing) and W (the writer). Process R will read lines from standard input and copy them to named pipe P1. Process F will read lines from named pipe P1. The input will be words, one word per line. The filler will build an output line by filling each of the words to the end of a buffer line until adding a new word would cause there to be more than 70 characters in the line. The line would then be written to F's output, and the buffer set to the next word. F's output will be written to named pipe P2. Process W will read lines from named pipe P2 and copy lines to standard output. Processes R, F and W will treat a line starting with the character "$" as an EOF (end-of-file) indication. Each of R, F and W will have trace messages that list each line read and written by that process. i.e.: process F read line-->a process F wrote line -->a These trace lines are to be turned on by including a line #define TraceMsg !-----! P1 !-----! P2 !-----! --------->! R !--------->! F !---------->! W !----------> standard !-----! !-----! !-----! standard input output RULES: This first program is to be written by individuals. After this program you are to form groups, and the rest of the programming project will be done as part of a group. The light-weight threads are available only on plains and the new SUN cluster. We will be using the SUN cluster. You will need to get an account number just for the cluster.