next up previous contents
suivant: L'application N monter: Implémentation des structures de précédent: Références   Table des matières

Chaînages doubles

Pour des raisons d'efficacité, presque tous les chaînages sont doubles. Pour les relations de type un à plusieurs, il faut un pointeur dans un sens et un ensemble de pointeurs dans l'autre. Les chaînages entre opérations ne sont que des relations de type un-à-un, il n'y a donc pas de problèmes à ce niveau-là. La gestion des buffers et des tâches fait par contre apparaître des relations de type un-à-plusieurs, par exemple une même tâche peut être reliée à plusieurs buffers. J'ai utilisé des instances de la classe Vector pour représenter des ensembles de buffers ou d'opérations. Le seul chaînage n'ayant pas été explicitement « doublé » est celui liant une opération à sa tâche passive, car il est possible par transitivité de retrouver cette tâche passive en temps constant.



Alexandre 2009-05-14