Hello please help me how to do this project in C and explain to me how it works. Thank you! :) Project objective This project develops a simple process manager. In the most basic form, the manager supports the creation and management of the data structures to represent processes. The manager also provides the basic operations invoked by processes to create and destroy processes. Description Each process is represented by a data structure called the process control block (PCB). The PCBs are simplified as follows: The necessary functions are simplified as follows: Important point: when the parent process creates a child process, all fields of the child process must be initialized, and especially the child field of the parent's PCB must be updated. In other words, when you create a new child, create a new link containing the child's index q and appends the link to the linked list which relates to the children field. Assignment Assume that PCB[0] is the only currently existing process. Write a test program that performs a series of process creations and destructions. Ex: create[0] /* create parent process */ create[1] /* creates 1st child of PCB[0] at PCB[1]*/ create[2] /* creates 2nd child of PCB[0] at PCB[2]*/ create[3] /* creates 1st child of PCB[2] at PCB[3] */ create[4] /* creates 3rd child of PCB[0] at PCB[4] */ destroy[0] /* destroys all descendent of PCB[0], which includes processes PCB[1] through PCB[4] */.