Question: Implement two versions ( Version 1 and Version 2 ) of a process creation hierarchy in the C programming language. Assume the existence of a
Implement two versions Version and Version of a process creation hierarchy in the C programming language. Assume the existence of a simplified Process Control Block PCB data structure represented as an array of size n The PCBs contain information about parentchild relationships, and two approaches are explored: one using linked lists and another avoiding linked lists. Version Using Linked Lists PCBs have two fields: parent index of the process's creator and a linked list of child processes Functions create and destroyhandle process creation and destruction using linked lists. The necessary functions are simplified as follows: createp represents the create function executed by process PCBp The function creates a new child process PCBq of process PCBp by performing the following tasks: allocate a free PCB record the parent's index pin PCB initialize the list of children of PCBas empty create a new link containing the child's index q and appends the link to the linked list of PCBp destroyp represents the destroy function executed by process PCBp The function recursively destroys all descendent processes child grandchild etc. of process PCBpby performing the following tasks: destroyrecursively destroy all progenies free PCB deallocate the element from the linked list for each element on the linked list of children of PCBp Version Avoiding Linked Lists: PCBs have four integer fields: parentchild younger sibling, and older sibling Functions createand destroy manage process creation and destruction without using linked lists. The fields are:
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
