Two-level scheduling

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.