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. Process identifiers must be unique; no two active processes may have the same pid.
Use the following constants to identify the range of possible pid values:
#define MIN_PID 300
#define MAX_PID 5000
You may use any data structure of your choice to represent the availability of process identifiers. One strategy is to adopt what Linux has done and use a bitmap in which a value of 0 at position i indicates that a process id of value i is available and a value of 1 indicates that the process id is currently in use.
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 and 1 if successful
int allocate_pid(void) – Allocates and returns a pid; returns -1 if if unable to allocate a pid (all pids are in use)
void release_pid(int_pid) – Releases a pid.
**Just simplify the attached code, take away the threads and mutex locks. And test the program then send me the source file and the output screen shot.
I will be glad to help you with your project of solving PID manager. Please let me know your requirement in detail. So that I come up with the best solution suitable for you.
I've read your problem and your requirements and gone through your code as well. I found it easy and have edited the code and made it as efficient as possible. Since i am new over Freelancer hence i need this task badly. Please hire me to check the changes i've made in the code you've provided and pay me after you like the changes.
Thanks
Yeah this looks pretty simple, should just take me a couple hours.
I have to type 100 characters so... I've worked on lots of cool stuff like 3D medical image processing in C++, embedded development in C, etc.