Projet système PC : 2019 - BALLEYDIER Loic, PIERRET Arnaud : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Journal de bord)
(Journal de bord)
Ligne 78 : Ligne 78 :
 
* Tentative de lancement des tests côté kernel jusqu'à 10h
 
* Tentative de lancement des tests côté kernel jusqu'à 10h
 
* Bug fix le reste de la journée
 
* Bug fix le reste de la journée
 +
 +
'''14/06/2019 - '''
 +
* Fin des bugs fix pour faire passer les 8 premiers tests de test.c
  
 
==Difficultés rencontrées==
 
==Difficultés rencontrées==

Version du 14 juin 2019 à 06:54

Project schedule.png
Titre du projet WIP
Cadre Projet système

Équipe Loic Balleydier, Arnaud PIERRET
Encadrants Yves Denneulin , Gregory Mounie, Patrick Reignier


Présentation

Equipe

Planning

Planning prévisionnel

Planning effectif

Phases de développement

Phase 1 : prise en main de l'environnement

100 %

Phase 2 : Création et lancement de processus de niveau noyau

100 %

Phase 3 : Ordonnancement, création dynamique et terminaison de processus de niveau noyau

100 %

Phase 4 : Gestion des communications et synchronisation de processus de niveau noyau

20 %

Phase 5 : Séparation des espaces mémoire noyau et utilisateur : gestion de processus utilisateur

0 %

Phase 6 : Gestion du clavier et implémentation d'un pilote de console

0 %

Phase 7 : Implémentation d'un interprète de commandes

0 %

Journal de bord

05/06/2019 - Mise en place de l'environnement

  • Mise en place de l'environnement de développement
  • Reprise du code de Logiciel de Base afin de pouvoir écrire dans la console
  • Lecture de la Phase 2 et début de mise en place de la structure de donnée pour les processus
  • Tentative de création et communication entre deux processus (WIP)

06/06/2019 - Mise en place de la communication entre processus

  • Création et communication entre 2 processus via l'appel du context switch manuellement
  • Prise en main de la queue (pour exploitation ultérieure)
  • Implémentation de l'interruption lié au signal d'horloge
  • Appel automatique du context switch via le signal d'horloge

07/06/2019 - Début de l'ordonnancement

  • Traitement du signal d'horloge en fonction d'une fréquence différente à celle de l'horloge (SCHED_FREQ)
  • Implémentation des fonctions permettant de récupérer le pid et la priorité ainsi que changer cette dernière
  • Mise en place d'une file (FIFO) gérant la priorité pour les processus

11/06/2019 - Début de gestion de la filiation

  • Création d'une liste chaînée pour stocker les processus fils d'un parent
  • Mise en place de la fonction exit() pour pouvoir quitter un processus
  • Correction de l'utilisation des adresses de la pile pour pouvoir utiliser les arguments de fonction
  • Tentative de l'implémentation de la fonction waitpid (WIP)

12/06/2019 - Fin de gestion de la filiation

  • Waitpid est terminé
  • Terminaison des processus par kill
  • Support de l'instruction return pour récupérer la valeur
  • Support de l'endormissement des processus
  • Modification de la structure d'ordonnancement
  • Amélioration de la gestion de la mémoire pour les processus terminés

13/06/2019 - Journée de test

  • Tentative de lancement des tests côté kernel jusqu'à 10h
  • Bug fix le reste de la journée

14/06/2019 -

  • Fin des bugs fix pour faire passer les 8 premiers tests de test.c

Difficultés rencontrées

Ressources externes

Pour gérer la liste des fils, nous avons utilisé une liste chainée simple crée par Troy D. Hanson, en licence BSD, opensource. Nous l'avons choisi grâce au conseil d'un groupe de l'année dernière