30.12.2013 Views

T-Kernel Specification (1.B0.02)

T-Kernel Specification (1.B0.02)

T-Kernel Specification (1.B0.02)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.5. EXTENDED SYNCHRONIZATION AND COMMUNICATION FUNCTIONS 141<br />

Requesting Task X<br />

Extended SVC<br />

✛<br />

??? ???<br />

tk cal por<br />

SVC<br />

accept<br />

port<br />

❄<br />

tk acp por<br />

Server distribution tasks<br />

❄<br />

WAIT on<br />

rendezvous<br />

call or for<br />

completion<br />

Preprocessing<br />

❄ ❄ ❄<br />

tk fwd por tk fwd por tk fwd por ✲<br />

Process<br />

A server<br />

port<br />

Process<br />

B server<br />

port<br />

Process<br />

C server<br />

port<br />

tk acp por tk acp por tk acp por<br />

✻<br />

❄<br />

✻<br />

❄<br />

✻<br />

❄<br />

Process A Process B Process C<br />

Server Server Server<br />

Task Task Task<br />

✛<br />

❄ ❄ ❄<br />

tk rpl rdv tk rpl rdv tk rpl rdv<br />

• Bold outlines indicate rendezvous ports (rendezvous entries)<br />

• While it is possible to use tk cal por in place of tk fwd por, this results in rendezvous nesting. Assuming<br />

it is acceptable for requesting Task X to resume execution after the processing of server tasks A to C is<br />

completed, use of tk fwd por does away with the need for rendezvous nesting and results in more efficient<br />

operations.<br />

Figure 4.8: Server Task Operation Using tk fwd por<br />

[Rationale for the <strong>Specification</strong>]<br />

The tk fwd por specification is designed not to require logging a history of rendezvous forwarding, so<br />

as to reduce the number of states that must be kept track of in the system as a whole. Applications<br />

that require such a log to be kept can use nested pairs of tk cal por and tk acp por rather than using<br />

tk fwd por.<br />

Copyright c○ 2002, 2003 by T-Engine Forum<br />

T-<strong>Kernel</strong> <strong>1.B0.02</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!