Projet système PC : 2019 - DHAISNE Maxime, LALLEMENT Dimitri

De Ensiwiki
Révision de 21 juin 2019 à 07:14 par Luosi (discussion | contributions) (Journal de bord)

Aller à : navigation, rechercher
Project schedule.png
Titre du projet RoscosmOS
Cadre Projet système

Équipe Maxime DHAISNE, Dimitri LALLEMENT
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

100 %

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 (Phase 1)

  • Création du script de debugging
  • Récupération et correction du TP de LDB
  • Mise en place de l'environnement de développement
  • Début de la gestion des processus

06/06/2019 - Gestion des processus (Phase 2)

  • Création de la table des processus et des fonctions associées
  • Création de la structure des processus
  • Tentative de passage d'un processus à un autre

07/06/2019 - Gestion des processus (Phase 2 - suite)

  • Passage d'un processus à un autre (context switch)
  • Récupération des méthodes de timer du TP de LDB
  • Début ordonnancement

11/06/2019 - Ordonnancement (Phase 3)

  • Fin de l'implémentation du timer
  • Gestion du passage d'un paramètre dans le processus
  • Mise en place de tests unitaires pour la table des processus
  • Avancement de l'ordonnanceur

12/06/2019 - Ordonnancement & allocation dynamique(Phase 3)

  • Fin de l’ordonnancement
  • Implémentation des fonctions getPid, getPrio, chprio, kill
  • Début allocation dynamique
  • Début filiation

13/06/2019 - Filiation & cyle de vie des processus(Phase 3)

  • Implémentation du exit et ajout du code assembleur
  • Ajout d'une fonction donnant des informations sur la queue
  • Avancement de la filiation

14/06/2019 - Filiation & endormissement(Phase 3 & 4)

  • Gestion de l'endormissement
  • Fin de la gestion du cycle de vie des processus
  • Ajout d'une nouvelle file pour les processus a supprimer
  • Avancement et débogage de la filiation

17/06/2019 - Filiation & endormissement(Phase 3 & 4)

  • Avancement et refactorisation de la filiation
  • Refactorisation complète de la gestion de l'ordonnanceur et des queues des processus afin de gérer un ordre FIFO
  • Fin de l'endormissement des processus wait_clock
  • Intégration des tests de user dans le kernel

18/06/2019 - Filiation & files de messages (Phase 3 & 4)

  • Avancement de la fonction waitpid
  • Correction de bug suite à la refactorisation de la veille
  • Début des files de messages

18/06/2019 - Files de messages & tests (Phase 4)

  • Fin de la fonction waitpid
  • Avancement des files de messages
  • Correction de bugs suite au lancement des premiers tests (exit...)
  • Tests -> 1 à 5

19/06/2019 - Files de messages & tests (Phase 4)

  • Fin des files de messages
  • Tests et correctifs associés (Tests -> 6, 8, 10)

Difficultés rencontrées

  • Lacunes dans l'utilisation du débogueur (gdb)
  • Peu d'expériences avec le language C, ce qui nous ralentit pendant le développement
  • Difficultés à déboguer la queue, nous avons donc choisi de faire une fonction affichant les données de la queue
  • Grosse perte de temps suite à la refactorisation de notre ordonnanceur suite à la prise en compte de la gestion FIFO de la file des processus.