next up previous contents
suivant: Implémentation et interface monter: Le gestionnaire d'ensembles précédent: Le gestionnaire d'ensembles   Table des matières

Présentation

Nous avons vu dans le chapitre concernant la mémoire qu'il est possible d'implémenter une gestion des listes chaînées avant même d'avoir une réelle gestion de la mémoire. Cependant, cette implémentation dépend fortement de la gestion de la mémoire et ne peut donc pas être utilisée pour d'autres choses.

Maintenant que nous disposons d'un gestion de mémoire évoluée fournissant des fonctions de haut niveau facilement utilisables, nous pouvons envisager d'implémenter un gestionnaire pour ce type de structure d'une façon plus générique et réutilisable. De plus, nous aimerions pouvoir gérer plusieurs types de structures de données, qui nous serviront tour à tour en fonction des besoins spécifiques des autres services ou programmes utilisateurs. Enfin, nous aimerions disposer d'une interface unifiée pour la gestion de ces différents types d'ensembles, pour faciliter leur utilisation et également pour pouvoir changer très facilement de type d'ensemble si nous nous apercevions qu'un autre type d'ensemble est plus approprié pour un traitement donné. C'est tout cela que propose le gestionnaire d'ensemble.

En effet, celui-ci encapsule des gestionnaires de chaque type d'ensemble proposé, en permettant de stocker des objets ou encore de les organiser à l'intérieur de l'ensemble, tout cela très simplement et de façon transparente pour l'utilisateur. Il suffit à l'utilisateur de préciser le type d'ensemble qu'il souhaite utiliser et la méthode de tri et le gestionnaire d'ensemble fera tout le reste tout seul.

Le gestionnaire d'ensemble est une bibliothèque. Actuellement, elle est utilisée uniquement par le noyau, mais il sera très facile de l'en rendre indépendante afin de pouvoir la lier dynamiquement à n'importe quel service ou programme utilisateur. Ainsi, les programmes n'auront pas besoin de gérer des structures de données en interne, tous ce qu'ils auront a faire est d'appeler des fonctions du gestionnaire d'ensemble.

Nous verrons que l'interface fournie par notre gestionnaire d'ensemble est assez proche de la gestion des ensembles fournie par la bibliothèque standard du C++.


next up previous contents
suivant: Implémentation et interface monter: Le gestionnaire d'ensembles précédent: Le gestionnaire d'ensembles   Table des matières
nicolas 2006-07-30