Hello, I encounter with some problems in a programming assignment. I major in Electrical,not quite familiar with CS programming yet. Can you help? I can send you my codes also for you to modify. The related course is Operating Systems.1. Write two simple C programs that communicate with each other via shared memory. The first program receiver.c runs in an infinite loop receiving alpha numeric strings as input from the user one line at a time. After reading one line from the standard input, this program sends this information to the other program. The sharing of data between the two processes should take place via shared memory.The second program processor.c creates an output file digits.out and waits for user input to be sent by the receiver program. As soon as one line is received from the receiver, it counts the number of digits in that line and dumps the digit count along with the original line in the digits.out file. This program also runs in an infinite loop.Please submit a zip file labeled as Assignment1_Yourname.zip. It should include a PDF file with explanation of what your code does (this is optional if your code is self explanatory with comments) and two C source files – receiver.c and processor.c.2.(I am still trying) Modify the program in such a way that the two programs can be run on different machines. The program receiver.c will now be the client program that will interact with the user. Call it client.c. The processor.c will be the backend program – call it server.c. The client and server programs have the same functionality as described in question 1 except that they should use a different communication mechanism that will allow them to be run on different machines. Find out which communication mechanism can be used and use that in your program. Please submit a zip file labeled as Assignment2_Yourname.zip. It should include a PDF file with explanation of what your code does (this is optional if your code is self explanatory with comments) and two C source files – client.c and server.c.