C Program that used POSIX pthreads
Budget: $30 – $250 USD
Please read carefully and send me a message only if you are familiar with the required components below:
In this project you will create a multithreaded POSIX pthreads program that has the following components to schedule and execute operations.
List of Components
------------------
Threads: Main Thread, Scheduler-Dispatcher pthread, Logger pthread
MiniPCB data structure for each "process" to be scheduled from the input file.
Ready Queue that will contain the address of each miniPCB.
The first-in-first-out (FIFO) data structure that will be used for inter-thread communication between the Scheduler-Dispatcher and Logger pthreads.
This FIFO has two operations, send() and recv(), to support message-based communication between the two pthreads.
A pthread mutex that is used as a lock to sychronize access to the FIFO by the Scheduler-Dispatcher and Logger pthreads.
Array : function pointer array with addresses of the sum, product, power, and fibonacci functions. Each function takes two input integer
parameters and returns an integer return value.
Array : function pointer array with addresses of the FCFS scheduler, SJF scheduler, and Priority scheduler. Each scheduler function takes
the address of the ready queue as the input parameter and returns the address of the miniPCB of the "process" chosen by the scheduler to be executed.
Your design must include and use these components as specified above. You may add other components as you see necessary.
In this project you will create a multithreaded POSIX pthreads program that has the following components to schedule and execute operations.
List of Components
------------------
Threads: Main Thread, Scheduler-Dispatcher pthread, Logger pthread
MiniPCB data structure for each "process" to be scheduled from the input file.
Ready Queue that will contain the address of each miniPCB.
The first-in-first-out (FIFO) data structure that will be used for inter-thread communication between the Scheduler-Dispatcher and Logger pthreads.
This FIFO has two operations, send() and recv(), to support message-based communication between the two pthreads.
A pthread mutex that is used as a lock to sychronize access to the FIFO by the Scheduler-Dispatcher and Logger pthreads.
Array : function pointer array with addresses of the sum, product, power, and fibonacci functions. Each function takes two input integer
parameters and returns an integer return value.
Array : function pointer array with addresses of the FCFS scheduler, SJF scheduler, and Priority scheduler. Each scheduler function takes
the address of the ready queue as the input parameter and returns the address of the miniPCB of the "process" chosen by the scheduler to be executed.
Your design must include and use these components as specified above. You may add other components as you see necessary.