Multiplexing STS-1 multiple data streams, called tributaries, plays an
important role in SONET. A \(3: 1\) multiplexer multiplexes three input STS-1
tributaries onto one output STS-3 stream. This multiplexing is done byte for
byte. That is, the first three output bytes are the first bytes of tributaries
1,2, and 3 , respectively. The next three output bytes are the second bytes of
tributaries 1,2 , and 3 , respectively, and so on. Write a program that
simulates this \(3: 1\) multiplexer. Your program should consist of five
processes. The main process creates four processes, one each for the three
STS-1 tributaries and one for the multiplexer. Each tributary process reads in
an STS-1 frame from an input file as a sequence of 810 bytes. They send their
frames (byte by byte) to the multiplexer process. The multiplexer process
receives these bytes and outputs an STS-3 frame (byte by byte) by writing it
to standard output. Use pipes for communication among processes.