Projet système PC : 2019 - GRAVALLON Guillaume, MOISSIARD Anael : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Tests Kernel)
(Tests Kernel)
(Une révision intermédiaire par le même utilisateur non affichée)
Ligne 40 : Ligne 40 :
  
 
=== Tests Kernel ===
 
=== Tests Kernel ===
{{Avancement | 30}}
+
{{Avancement | 35}}
  
 
=== Tests User ===
 
=== Tests User ===
Ligne 103 : Ligne 103 :
 
====14 Juin 2019====
 
====14 Juin 2019====
 
'''Tests Kernel :'''
 
'''Tests Kernel :'''
* Correction de bugs pour le passage des tests Kernel 6 à ?
+
* Correction de bugs pour le passage des tests Kernel 6 à 7
  
 
==Difficultés rencontrées==
 
==Difficultés rencontrées==
 
* Difficultés pour identifier l'origine de certains bugs, l'utilisation de gdb avec Qemu pour examiner la mémoire n'étant pas forcément triviale pour les non initiés
 
* Difficultés pour identifier l'origine de certains bugs, l'utilisation de gdb avec Qemu pour examiner la mémoire n'étant pas forcément triviale pour les non initiés

Version du 14 juin 2019 à 07:44

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

Équipe Guillaume Gravallon, Anaël Moissiard
Encadrants Yves Denneulin , Gregory Mounie, Patrick Reignier


Présentation

Voici la page de présentation du Projet Système réalisé dans le cadre de notre 2ème année en apprentissage à l'ENSIMAG.

L'objectif de ce projet est la réalisation, à partir de presque rien, d'un noyau de système d'exploitation sur une architecture Intel x86.

Equipe

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

10 %

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 %

Tests Kernel

35 %

Tests User

0 %

Journal de bord

Semaine 1

05 Juin 2019

Phase 1 :

  • Découverte et prise en main de l'environnement
  • Récupération et modification du code utilisé en cours de Logiciel de Base de 1ère année pour permettre l'affichage de caractères à l'écran

Phase 2 :

  • Création de la structure des processus
  • Début de travail sur le lancement de processus et le changement de contexte entre processus

06 Juin 2019

Phase 2 :

  • Correction de la structure des processus
  • Lancement des processus
  • Changement de contexte entre processus

07 Juin 2019

Phase 2 :

  • Gestion des interruptions de l'horloge afin de procéder au changement de contexte entre processus à une fréquence déterminée

Phase 3 :

  • Mise en place de l'ordonnancement grâce aux macros de gestion de liste chaînée pré-existantes
  • Adaptation du changement de contexte pour la compatibilité avec la liste chaînée

Semaine 2

11 Juin 2019

Phases précédentes :

  • Correction d'erreurs concernant le défilement à l'écran et le changement de processus

Phase 3 :

  • Création dynamique de processus
  • Réflexion sur la filiation entre processus et la terminaison de processus

12 Juin 2019

Phase 3 :

  • Travail sur les primitives de gestion des processus:
    • Terminaison du processus actif
    • Terminaison d'un autre processus
    • Obtention de la priorité d'un processus
    • Obtention du PID du processus appelant
  • Ajout de la gestion dynamique des identifiants de processus, avec possibilité pour un nouveau processus de récupérer l'identifiant d'un processus préalablement détruit
  • Gestion de la fin de processus lorsque la fonction se termine
  • Amélioration de la fonction d'ordonnancement

13 Juin 2019

Phase 3 :

  • Finalisation des primitives de processus:
    • Attente d'un processus fils par son père
    • Correction sur les suppression de processus

Phase 4 :

  • Endormissement des processus
  • Ajout d'un processus idle qui prend la main lorsqu'il n'y a aucun autre processus activable

Tests Kernel :

  • Correction de bugs pour le passage des tests Kernel 1 à 5

14 Juin 2019

Tests Kernel :

  • Correction de bugs pour le passage des tests Kernel 6 à 7

Difficultés rencontrées

  • Difficultés pour identifier l'origine de certains bugs, l'utilisation de gdb avec Qemu pour examiner la mémoire n'étant pas forcément triviale pour les non initiés