Earliest deadline first scheduling is a dynamic scheduling principle used in real-time operating systems. It places processes in a priority queue. On the end of each execution of a process, it is enqueued at the end, and the queue will be searched for the process closest to its deadline. This process will then be scheduled for execution next.

Compared to static scheduling techniques like rate-monotonic scheduling, earliest deadline first will generally perform better, utilizing up to 100% of CPU time. (When scheduling processor allocation time.) However, it doesn't consider priorities, and once processes start missing their deadlines, the system will be completely unpredictable.