Question
C programming. Please don't use any previous chegg solutions, provide an original answer. Please provide the code for the program file (.c), and the code
C programming. Please don't use any previous chegg solutions, provide an original answer. Please provide the code for the program file (.c), and the code for any input files created for testing purposes. Please include commenting with your code.
An operating system's pid manager is responsible for managing process identifiers. When a process is first created, it is assigned a unique pid by the pid manager. The pid is returned to the pid manager when the process completes execution, and the manager may later reassign this pid. What is most important here is to recognize that process identifiers must be unique; no two active processes can have the same pid.
Use the following constants to identify the range of possible pid values (for testing these values may be changed, your code must be able to deal with the changes):
#define MIN_PID 300 #define MAX_PID 5000
You must use a linked list.
Implement the following API for obtaining and releasing a pid:
int allocate_map(void) - Creates and initializes a data structure for representing pids; returns 1 if unsuccessful, 1 if successful.
(Hint: review what is meant by an empty linked list. The solution here is trivial, dont over think)
int allocate_pid(void) - Allocates and returns a pid; returns 1 if unable to allocate a pid (all pids are in use) void release_pid(int pid) - Releases a pid
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started