1. A real-time operating system executable by an embedded system comprising: an event queue configured to store information about events occurring within an embedded system; an event posting module configured to allow entities within the embedded system to post events to the event queue; a waiter registration module configured to allow entities within the embedded system to wait on the occurrence of a particular event; a waiter notification module configured to notify entities within the embedded system of particular events within the event queue; and an event data access module configured to allow entities within the embedded system to access data associated with an event.