The Joy of Scheduling

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.

02/01/11 Download

Jeff Schaffer jpschaffer@qnx.com

Jeff Schaffer

Jeff Schaffer, a senior applications engineer with QNX Software Systems, has been working with a variety of operating systems at a systems level for over 30 years. He has also acted as a system architect and designed high-speed database technology. Jeff gained experience in several industries throughout his career, including medical, industrial, semiconductor processing, security, consumer electronics, and telecommunications. When he is not working with QNX customers, Jeff enjoys photography, videography, and woodworking — though not necessarily at the same time. He received his BS (Engineering) and MS (Computer Science) degrees from UCLA.

Steve Reid stever@qnx.com

Steve Reid

Steve Reid has been a technical editor and writer at QNX Software Systems for more than 15 years. During this time, he has specialized in OS documentation, producing user guides, installation and release notes, and the occasional whitepaper. His work has received several awards from the Society for Technical Communication. Prior to joining QNX Software Systems, Steve worked as a software developer, technical writer, and trainer at Bell-Northern Research, working on projects such as network-planning tools, telephone software, and graphical user interface systems. When he isn't writing and editing, Steve enjoys drawing, gardening, woodworking, and creating scale miniatures. Steve earned a BMath (Honours Co-operative Computer Science) from the University of Waterloo.