Projet système PC : 2018 - DEVAUCOUP Dan, BERTONI Félix

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

Équipe Dan Devaucoup Félix Bertoni
Encadrants Julie Dumas , Gregory Mounie, Patrick Reignier


Présentation

Le projet système consiste en un développement d'un système d'exploitation. Nous sommes "fiers" de vous présenter NonOS (Non Operating System).

Journal de bord

Semaine 1

Prise en main de l'environnement. Essai (raté) de modification du makefile pour compiler plusieurs kernels en vue d'implémenter des tests "fins".

Semaine 2

11 juin 2018

Mise en place de l'intégration continue, en utilisant CMake, docker et gitlab.

12 juin 2018

Mise en place d'une intégration continue, Début de l'implémentation des processus basiques.

13 juin 2018

L'implémentation des processus continuent, quelques difficultés avec "queue.h" Ajout d'un test (et exemple) de contexte switch.

14 juin 2018

Ajout des mécanismes père/fils (non encore testés) Quelques retouches des fichiers pour augmenter la lisibilité.

15 juin 2018

Ajout du wait_clock et de l'horloge, gestion des interruptions Préparations pour l'implémentation des "message queues".

Semaine 3

18, 19 juin 2018

Implementation d'un test (et exemple) de context switching en utilisant les interruptions d'horloge. Début de l'implémentation du scheduler. Correction de bugs sur les "message queues"

20 juin 2018

Reprise des processus, ajouts de typedefs spécialisés pour augmenter la lisibilité et l'évolutivité du code.

21 juin 2018

Lien entre le scheduler et les fonctions de manipulation de processus. Début des tests fournis par les professeurs.

22 juin 2018

Avancée dans les tests "profs", correction de bugs.

Semaine 4

Derniers tests côté kernel. edition de cette page

Réalisation des différentes phases

Phase 1

100 %

Phase 2

100 %

Phase 3

100 %

Phase 4

100 %

Phase 5

1 %

Phase 6

3 %

Phase 7

0 %

Retrospection

Points forts

La CI et les kernels séparés permettent de tester "finement" le code, de manière globale à chaque fois.

L'ajout de typedefs et la structure du code en général offre une bonne souplesse et une evolutivité correcte.

Erreurs

Trop de temps passé à mettre les tests en place.

Parfois, une mauvaise lecture de la documentation et des specs à entrainé des erreurs pas simple a traquer, surtout sur les tests des profs.