The operating system choices for an edge system are numerous and deserve significant attention. From an architect's perspective, the choice must be given a fair degree of diligence as it will be the foundation for possibly generations of software solutions deployed in that environment. An operating system exists as a software abstraction and protection layer between hardware and applications. However, an OS also provides an application binary interface (ABI) for software to exist upon. It may provide real-time response and guaranteed servicing, it forms software process and thread-level protections, and it provides interfaces to share memory and IO between software applications and manages system memory and resources.
Operating system choice points
In many situations, a hardware OEM will provide or recommend an operating system and board support package (BSP) for hardware they have designed. Other times, the OS choice will not be as clean-cut...