Two-level scheduling is a computer science term to describe a method to more efficiently perform process scheduling that involves swapped out processes.
Consider this problem: A system contains 50 running processes all with equal priority.
Therefore, there will always be 40 processes swapped out written on virtual memory on the hard disk.
Thus, the higher-level scheduler selects among those processes in memory that have run for a long time and swaps them out.
They are replaced with processes on disk that have not run for a long time.