Projet système PC : 2019 - BALLEYDIER Loic, PIERRET Arnaud

De Ensiwiki
Révision de 12 juin 2019 à 08:21 par Pierrarn (discussion | contributions) (Journal de bord)

Aller à : navigation, rechercher
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

0 %

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

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