The scheduler is at the heart of the OS: it governs when everything runs. Scheduling is especially important in realtime systems, where tasks must run in a deterministic manner. If the designer doesn’t have complete control of scheduling, unpredictable and unwanted system behavior can and will occur. This paper describes some commonly used scheduling algorithms and how scheduling works, This knowledge can help developers correct scheduling problems and create more efficient systems.