Projet système PC : 2019 - JULIEN Tristan, LANUSSE Quentin

De Ensiwiki
Révision de 11 juin 2019 à 14:35 par Lanusseq (discussion | contributions) (Semaine 1)

Aller à : navigation, rechercher
BambinOS logo.png
Titre du projet BambinOS
Cadre Projet système

Équipe Quentin LANUSSE, Tristan JULIEN
Encadrants Gregory Mounie, Patrick Reignier, Yves Denneulin

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 et, pour la première fois en 2019, le risc-v 64 bits. Les concepts principaux à mettre en oeuvre sont :

  • la création et l'exécution des processus ;
  • leur synchronisation ;
  • leur ordonnancement ;
  • la gestion des entrées/sorties (clavier, écran) ;
  • l'implémentation d'un interprète de commandes.

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

0 %

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

Semaine 1

05-06-19

  • Clonage du projet
  • Prise en main de l'environnement
  • Insertion du code de gestion d'affichage fait en Logiciel de Base dans le projet
  • Début de création des processus

06-06-19

  • Modification des processus
  • Essayer de lancer une fonction
  • Blocages sur la gestion des piles
  • Mise en place du context_switch
  • Découverte de l'environnement de débuggage

07-06-19

  • Fonctionnement du context_switch avec une table des processus statique
  • Début d'utilisation de la queue des processus
  • Création du logo de BambinOS

11-06-19

  • Modification et finalisation (pour la phase 2) de l'utilisation des processus avec une queue (queue de processus activables + pointeur vers le processus actif)
  • Gestion du timer
  • Gestion des interruptions pour changer de processus
  • --> Fin de la phase 2

Démonstration

Difficultés rencontrées