Extension d'un noyau de processus légers
Maitrise Informatique / Master Computer Sciences
I. Objectifs du projet
Etant donné un noyau de processus légers développé
en C au dessus du systeme Unix, le projet consiste à étendre ce
noyau pour accroitre ses fonctionnalités. Les extensions concernent
essentiellement la gestion des interruptions et du temps au travers d'échéanciers.
Le projet est à réaliser en binomes. L'évaluation portera
sur :
-
le degré d'avancement dans le projet,
-
la qualité de la démonstration finale (15 minutes), durant
laquelle les diverses fonctionnalités réalisées seront
montrées,
-
la qualité du document d'utilisation.
Le planning prévisionnel de réalisation du projet est le
suivant.
Le noyau fourni est récupérable dans l'archive compressée
.src.zip
Etape 1 - Compréhension du noyau
Le role de la premiere étape est de se familiariser avec le noyau
fourni, c'est à dire de comprendre l'ensemble des fonctions qui
le compose. Cette étape est décrite dans le document etape1.html.
Etape 2 - Comptes à rebours
L'objectif de l'étape 2 est d'ajouter des fonctions de base de gestion
du temps au noyau fourni, en fournissant la notion de comptes à
rebours. Cette étape est décrite dans le document etape2.html.
Etape 3 - Echéancier
L'objectif de l'étape 3 est d'utiliser (et donc également
de valider) les fonctions de gestion du temps mises en oeuvre lors de l'étape
2, pour fournir au client du noyau un échéancier, permettant
d'enregistrer des actions à exécuter à des dates données.
Cette étape est décrite dans le document etape3.html.
Etape 4 et 5 - Communication entre processus
L'objectif des étape 4 et 5 est d'implanter un protocole de communication
entre threads de type buffer borné. Ce protocole offrira en outre
la possibilité de réaliser des communications temporisées,
dont la mise en oeuvre utilise l'échéancier. Ces étapes
sont décrites dans les documents etape4.html
et etape5.html.
Etape 5 - Application Client-Serveur
Enfin, la derniere étape consistera en la réalisation d'une
application client/serveur de gestion de stocks. Cette application exploitera
toutes les fonctionnalités qui auront été ajoutées
au noyau dans les étapes précédentes. Cette étape
est décrite dans le document etape6.html.
Etape 6 - Démonstration
La démonstration finale montrera le degré d'avancement du
projet, avec les étapes validées par des tests conséquents.