TheAlgorithms / C-Plus-Plus

Collection of various algorithms in mathematics, machine learning, computer science and physics implemented in C++ for educational purposes.
https://thealgorithms.github.io/C-Plus-Plus
MIT License
30.63k stars 7.26k forks source link

Implement Priority Scheduling Algorithm #2874

Open arrx-03 opened 1 week ago

arrx-03 commented 1 week ago

Detailed description

I would like to contribute by implementing the Priority Scheduling Algorithm. This scheduling algorithm is commonly used in operating systems to allocate CPU time to processes based on their priority levels. It is a vital addition to any collection of algorithms.

Context

The Priority Scheduling Algorithm is a crucial addition to "The Algorithms" repository as it provides a deeper understanding of CPU scheduling techniques, especially in operating systems. Its implementation is essential for users studying computer science or developing applications where task prioritization is necessary.

Possible implementation

To implement the Priority Scheduling Algorithm, I suggest breaking the task down into clear steps, ensuring both preemptive and non-preemptive versions are supported. Here's a suggested idea:

Data Structure: Process Class: Each process can be represented as a class containing:

process_id: A unique identifier for the process.

priority: The priority of the process (lower number = higher priority).

arrival_time: The time at which the process arrives.

burst_time: The total time required for the process to execute.

completion_time, waiting_time, and turnaround_time: To track the respective times

Additional information

No response

gourab9817 commented 3 days ago

Hello @mjk22071998 @realstealthninja @arrx-03 Please assign me the issue, I would like to give the optimal approach for this issue.