The objective of this exercise is to implement several multi-process versions of an application that calculates the number of occurrences of words in a set of input files using the MapReduce paradigm. The versions to be implemented are the following: 1b. Multi-process application where child processes execute different Linux commands. 2a. Multi-process application where child processes sequentially execute the different MapReduce stages, communicating via files. 2b. Multi-process application where child processes concurrently execute the Map and Reduce stages, communicating via files. 3a. Multi-process application where child processes concurrently execute the Map and Reduce stages, communicating via stdin and stdout. 3b. Multi-process application where child processes concurrently execute the Map and Reduce stages, communicating via pipes and sending binary data.