The main functional components of the scheduler are:
It adds a pointer or reference to the process’ Process Control Block (PCB) as per the desired data structure of the ready queue, which is usually a collection of linked lists.
The part that implements the scheduling algorithm to pick the next process to run.
Loads the selected process onto the CPU as the running process.