There are many types of a scheduling algorithm in OS. Three most fundamental types of schedules are followings;
Long-term scheduler
Short-term scheduler
Medium-term scheduler
Long-term scheduler
The long-term scheduler selects a job from the job queue and allows a process to load it into the main memory. It means that this is the schedule that handles that how much maximum jobs/processes can be loaded on the main memory.
Short term scheduler
Short term scheduler selects a process from ready queue and allocates CPU to that process. After this state of a process is change from ready state to running state.
Medium-term scheduler
A medium-term scheduler is responsible for swapping. Some jobs are swapped from hard disk to the main memory and some jobs can be swapped out from the main memory to the hard disk.