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 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.