Projet système PC : 2019 - RAFFY Anthony, LUO Siwen : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Apports & Difficultés rencontrées)
(Planning prévisionnel)
Ligne 18 : Ligne 18 :
  
 
===Planning prévisionnel===
 
===Planning prévisionnel===
 +
 +
[[Fichier:Previsionnel luo.png]]
  
 
===Planning effectif===
 
===Planning effectif===

Version du 17 juin 2019 à 08:07

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

Équipe Anthony RAFFY, Siwen LUO
Encadrants Yves Denneulin , Gregory Mounie, Patrick Reignier


Présentation

L'objectif du projet système est la réalisation d'un noyau de système d'exploitation sur une architecture Intel x86 (le risc-v 64 bits).

Equipe

Planning

Planning prévisionnel

Previsionnel luo.png

Planning effectif

Fonctionnalités réalisées

Extensions réalisées

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 %

Mise en oeuvre

Mercredi 5 Juin 2019

  • Présentation initiale du projet par M. Mounié
  • Création d'un script permettant de faciliter le lancement de QEMU et GDB.
  • Anthony et Siwen : Mise en place (en parallèle) du code nécessaire à l’affichage et à la gestion du curseur.
  • Fin de la phase 1.

Jeudi 6 Juin 2019

  • Ajout de tests sur l'affichage afin de couvrir l'ensemble des cas possibles.
  • Mise en place des structures de code permettant le changement de contexte et la création de processus.
  • Début de développement sur les files de priorité afin de préparer la phase 3.
  • Développement de tests basiques sur le changement de contexte : deux processus affichant chacun un caractère et donnant la priorité au processus bloqué.

Vendredi 7 Juin 2019

  • Développement des fonctions permettant le masquage et le démasquage des interruptions.
  • Développement du traitant d'interruption pour l'interruption d'horloge.
  • Développement de la fonction permettant le réglage de la fréquence horloge.
  • Mise en place de la logique de l'ordonnanceur en utilisant la priorité de chaque processus.
  • Mise en place du processus "idle" au cas où aucun autre processus n'est actif.
  • Fin de la phase 2.

Mardi 11 Juin 2019

  • Ajout de tests pour vérifier le fonctionnement de context-switch entre deux différents processus.
  • Développement des fonctions d'endormissement. (sleep, wait_clock)
  • Développement des fonctions de terminaisons. (exit, kill)
  • Modification du changement de contexte pour tenir compte de la terminaison.
  • Modification de l'ordonnancement pour tenir compte des processus endormis et terminés.
  • Amélioration du code pour une meilleur lisibilité et maintenance.

Mercredi 12 Juin 2019

  • Ajout de tests permettants de vérifier le fonctionnement de primitives kill() et start().
  • Ajout de structures pour gérer la filiation.
  • Développement des fonctions de filiations (waitpid) et de l'état "en attente d'un fils".
  • Modification de l'ordonnancement pour gérer la filiation (fils zombie)
  • Ajout d'autres appels systèmes (chprio, getprio)
  • Fin de la phase 3
  • Ajout de tests afin de vérifier le fonctionnement de l'ordonnanceur, dans les cas où il existe un fil d'attente de processus, soient les pères ou les fils, soient les processus qui finissent automatiquement, ou ne se terminent jamais tous seuls.

Jeudi 13 Juin 2019

  • Ajout des tests permettants de vérifier le fonctionnement des primitives sleep(), waitclock(), kill() et waitpid().

Vendredi 14 Juin 2019

Apports & Difficultés rencontrées

Difficultés rencontrées

1, Reprise des connaissances de l'assembleur et de l'exécution de pile.

Apports