Projets-2015-2016-Portage Bossa

= Présentation du projet =

Qu’est-ce-que BOSSA ?
BOSSA est un generateur d’ordonnanceur. L’ordonnanceur choisit l’ordre dans lequel les processus vont s’executer. La plupart du temps, un processus n’est pas execute d’une traite mais morceau par morceau. Cela permet d’allouer du temps a tour de role a tous les processus. BOSSA permet de choisir selon quels parametres l’ordonnanceur fonctionnera (temps alloue a chaque processuer, priorite donnee...) Les ordonnanceurs generes fonctionnent actuellement sur les kernels Linux 2.4 et 2.6. Ces deux versions sont tres vieilles, datant respectivement de 2001 et 2003.

Portage de BOSSA
Le but du projet est de rendre les ordonnanceurs de BOSSA utilisables sous les versions les plus recentes : 4.x, datant de 2015.

Actuellement, les sources de BOSSA sont deja portees vers la version 4.x. Elles utilisent un langage de programmation specifique et propre a BOSSA (DSL). Il nous faut donc valider la chaine de compilation qui traduira ce code DSL en un code comprehensible par le système d’exploitation, probablement en C.

Il faut egalement mettre a jour l’executable de BOSSA pour qu’il fonctionne sous les versions plus recentes de l’OS.

Parties prenantes du projet
L'équipe chargée de la réalisation du projet est constituée de :

Tuteurs Polytech
- Monsieur Nicolas PALIX

- Monsieur Didier DONSEZ

Etudiants RICM5
- Ombeline ROSSI (Chef du projet)

- Longfei YAO (Responsable Logistique) 

- Eric Michel FOTSING (Responsable Technique)

Etudiants DUT
 Aucun

Durée prévisionnelle et lieu de réalisation du projet
Le projet est totalement realise a Polytech’Grenoble, sur la periode de mi-janvier à mi-mars.

Livrables et outils de suivie du projet
Espace Github

Chronograme Waffle.io

=Déroulement du projet schedule=

Semaine 1 (du 25 au 29 Janvier 2016 )
- Lecture autour de BOSSA - Rendez-vous avec M. PALIX pour l'explication détaillée du projet - Création du Wiki

Semaine 2 (du 1er au 5 Février 2016)
- Mise en place des machines virtuelles 2.6 et 4.3 / 4.4 - Etude du rapport du portage de Bossa vers Linux 2.6.32 - Configuration du dépôt git sur mandelbrot - Prise en main de la compilation du noyau Linux - Etude du code de BOSSA

Notice de compilation du noyau Linux : http://air.imag.fr/index.php/File:CompilationDeLinux.docx (Sources : https://fr.opensuse.org/Configurer,_Compiler_et_Installer_un_noyau_Linux_personnalis%C3%A9#Pr.C3.A9paration )

Semaine 3 (du 8 au 12 Février 2016)
- Etude du bug du compilateur 2.6.32 - Installation de BOSSA

Semaine 4 (du 15 au 19 Février 2016)
- Mise à jour des exécutables - Portage de la version 4.3 vers 4.4 de BOSSA - Spécifiation des tests

Semaine 5 (du 22 au 26 Février 2016)
- Vacances

Semaine 6 (du 29 Février au 04 Mars 2016)
- Prise en main des outils de traçage des événements Linux - Prise en main des concepts d'ordonnancement de Linux

Semaine 7 (du 07 au 11 Mars 2016)
- Mise au point sur les événements renvoyés par le kernel BOSSA - Création de la bzImage Linux utilisable via QEmu

Semaine 8 (du 14 au 17 Mars 2016)
- Intégration théorique des tests

= Bilan =

Travail Réalisé
-Phases de renseignements -Mise en place du l'environnement de travail -Portage de Bossa de Linux 4.3 vers 4.5 -Mise à jour du code kernel -Mise à jour du compilateur -Mise à jour du manager -Mise à jour du traceur -Démarrage du Bossa-Kernel

Difficultés rencontrées
-Petit groupe de 3 -Pas de connaissance antérieure -Matériel -Code kernel difficile à deboguer malgré des outils de virtualisation (QEmu)

= Références = - Site web du projet Bossa - Codes sources du Noyau Linux