INtime® 3.1 Software - tenAsys
INtime® 3.1 Software - tenAsys
INtime® 3.1 Software - tenAsys
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
INtime <strong>3.1</strong> <strong>Software</strong><br />
RT calls<br />
You use these calls when developing the real-time portion of an INtime application.<br />
High-level (validating) calls<br />
High-level calls provide higher protection and validation features. Memory is allocated<br />
automatically from the process’s pool. Each high level object consumes a slot from the<br />
system GDT (8000 objects maximum)<br />
High-level system calls validate a call’s parameters; a condition code returned by the<br />
call indicates whether you used invalid parameters. Condition codes for trying to read<br />
or write memory to which you have no access also exist.<br />
High-level exchange objects validate parameters and are protected against unexpected<br />
deletion. High-level calls exist for these exchange objects:<br />
• Object and data mailboxes<br />
• Counting semaphores<br />
• Regions (for mutual exclusion with priority inversion protection)<br />
Low-level (non-validating) calls<br />
Low-level calls provide higher performance, but lower protection and validation<br />
features. Low-level objects provide functionality beyond that of high-level objects.<br />
You must allocate memory for low-level objects and may allocate memory beyond lowlevel<br />
object needs. You can use this additional memory to store application-specific<br />
state information associated with the object.<br />
Low-level objects are not protected against unexpected deletion and do not validate<br />
parameters (if you need parameter validation, use high-level system calls). Low-level<br />
calls use the flat, 4 Gbyte addressing capabilities of the microprocessor. They do not<br />
use segmentation. Therefore, they do not consume a slot from the system GDT.<br />
Use low-level objects in these situations:<br />
• For isolated parts of the application, such as signaling ordinary threads from an<br />
interrupt handler.<br />
• When performance is critical, such as high-performance, unvalidated sending and<br />
receiving of data mailbox messages and semaphore units.<br />
Note<br />
System calls that manipulate low-level objects assume that all memory reference pointers<br />
received are valid.<br />
114