The RT kernel provides a number of services for real-time applications:
Object management | Manages creating, deleting, and manipulating object types defined by the kernel. |
Time management | Provides time-of-day, time synchronization and alarm services. |
Thread management | Manages thread scheduling, synchronization and run-time statistics. |
Memory management | Manages physical and virtual memory for nodes and processes. |
Interrupt management | Manages hardware interrupts and from I/O devices. |
Global Objects (GOBS) | A protocol providing a communications layer for access to objects on other nodes. |
Distributed System Manager (DSM) | Provides system and process monitoring services. |
Windows Registry access | Provides a registry interface to real-time applications. |
Objects, data structures that occupy memory, are building blocks that application programs manipulate. Each object type has a specific set of attributes or characteristics. Once you learn the attributes of, for example, a mailbox, you know how to use all mailboxes.
Object-based programming, which concentrates on objects and operations performed on them, is compatible with modular programming. Typically a single thread performs only a few related functions on a few objects.
The RT kernel provides basic objects and maintains the data structures that define these objects and their related system calls. When you create an object, the RT kernel returns a handle that identifies the object:
The RT kernel provides these objects.
Object | Description |
---|---|
Threads | Do the work of the system and respond to interrupts and events. |
Processes | Environments where threads do their work. |
Semaphores | Used by threads to synchronize. |
Regions | Used by threads to provide mutual exclusion. |
Mailboxes | Used by threads to pass objects and data. INtime software includes both object and data mailboxes. |
Message Queues | Used by threads to pass data messages. |
Ports | Used by threads to synchronize operations, pass messages, and access INtime services. |
Memory objects | Encapsulates physical memory for sharing between processes and nodes. |