next up previous contents index
Next: The Rendezvous Up: Task Types and Objects Previous: GNAT Implementation   Contents   Index

Summary

In this chapter we have seen the basic data structures used by the GNAT run-time to support Ada tasks, the task states considered by GNARL, the task translation done by the compiler, and the subprograms called by this generated code. In summary, the main aspects covered in this chapter are:

  1. Each task has an associated Ada Task Control Block (ATCB).

  2. There is a list which contains all the ATCBs (All Tasks List).

  3. One auxiliary list is used to activate task objects in the same Ada scope at the same time.

  4. Masters define a task scope which allow the run-time to manage task finalization.

  5. The Ada task specification is translated by the compiler into a limited record; the Ada task body is translated into a procedure with intermixed calls to the RTS to manage the task body creation, activation and finalization.

  6. The environment task is responsible for the RTS initialization. After this work, it also executes the main Ada subprogram.


next up previous contents index
Next: The Rendezvous Up: Task Types and Objects Previous: GNAT Implementation   Contents   Index
(c) Javier Miranda. Canary Islands (Spain), 2002. Version 1.0