In a modern embedded system, all but the most simplistic software applications are based upon a real-time operating system [RTOS]. This software component may be purchased from a commercial vendor or developed in house. There are also alternative possible sources for the code.