Projet système PC : 2019 - COUILLER Célia, COUPIGNY--WAROT Chloé : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(Phase 2 : Création et lancement de processus de niveau noyau)
Ligne 24 : Ligne 24 :
  
 
=== Phase 1 : prise en main de l'environnement et gestion de l'affichage à l'écran ===
 
=== Phase 1 : prise en main de l'environnement et gestion de l'affichage à l'écran ===
{{Avancement | 90}}
+
{{Avancement | 100}}
 
Les objectifs de cette phase sont les suivants :
 
Les objectifs de cette phase sont les suivants :
  
Ligne 39 : Ligne 39 :
  
 
=== Phase 2 : Création et lancement de processus de niveau noyau ===
 
=== Phase 2 : Création et lancement de processus de niveau noyau ===
{{Avancement | 0}}
+
{{Avancement | 100}}
  
 
L'objectif de cette phase est de gérer les processus et leur ordonnancement.
 
L'objectif de cette phase est de gérer les processus et leur ordonnancement.
  
Une bonne journée a été necessaire à programmation d'une fonction permettant la création de processus, ainsi qu'au lancement de ce dernier.
+
Une bonne journée a été nécessaire à programmation d'une fonction permettant la création de processus, ainsi qu'au lancement de ce dernier.
  
Une deuxième journée de travail, nous aura permis d'être capable d'ordonancer les processus par priorité.
+
Une deuxième journée de travail, nous aura permis d'être capable d’ordonnancer les processus par priorité.
  
Nous avons pour la gestion des interruptions pu nous appuyer sur les codes de Logiciel de Base de l'an dernier. Le gros du travail aura été du debug sur les création de processsus afin d'obtenir des info correctes.  
+
Nous avons pour la gestion des interruptions pu nous appuyer sur les codes de Logiciel de Base de l'an dernier. Le gros du travail aura été du debug sur les création de processus afin d'obtenir des info correctes.  
  
 
06/06/2019 : création de processus
 
06/06/2019 : création de processus
Ligne 53 : Ligne 53 :
  
 
=== Phase 3 : Ordonnancement, création dynamique et terminaison de processus de niveau noyau ===
 
=== Phase 3 : Ordonnancement, création dynamique et terminaison de processus de niveau noyau ===
{{Avancement | 0}}
+
{{Avancement |100}}
 +
 
 +
14/06/19 : les tests 1 à 5 passent en mode kernel
  
 
=== Phase 4 : Gestion des communications et synchronisation de processus de niveau noyau ===
 
=== Phase 4 : Gestion des communications et synchronisation de processus de niveau noyau ===

Version du 17 juin 2019 à 06:38

Présentation

Equipe

Membres

Planning

Réalisation des différentes phases du projet

//TODO 1) Dire ce qu'il a été fait

2) Indiquer les éventuelles difficultées

3) Mettre à disposition des captures d'écran si cela est pertinent/vidéos de démo

4) Mettre à disposition le binaire du noyau pour le tester dans un émulateur

Phase 1 : prise en main de l'environnement et gestion de l'affichage à l'écran

100 %

Les objectifs de cette phase sont les suivants :

Chacun des membres du binôme doit avoir un environnement de travail fonctionnel. Il faut également faire fonctionner et tester les primitives d'affichage.

Nous avons donc pris le temps de découvrir le sujet, d’installer la base de l'environnement de travail comme indiqué ici.

Nous avons ensuite repris le travail effectué en Logiciel de Base l'an dernier pour implémenter la fonction console_putbytes nécessaire au fonctionnement de printf (merci William !).

Nous avons commencé à regarder le fonctionnement des tests, mais rien mis en place pour le moment.

05/06/2019 : phase 1 terminée (sauf tests)

Phase 2 : Création et lancement de processus de niveau noyau

100 %

L'objectif de cette phase est de gérer les processus et leur ordonnancement.

Une bonne journée a été nécessaire à programmation d'une fonction permettant la création de processus, ainsi qu'au lancement de ce dernier.

Une deuxième journée de travail, nous aura permis d'être capable d’ordonnancer les processus par priorité.

Nous avons pour la gestion des interruptions pu nous appuyer sur les codes de Logiciel de Base de l'an dernier. Le gros du travail aura été du debug sur les création de processus afin d'obtenir des info correctes.

06/06/2019 : création de processus 07/06/2019 : interruption + debug processus + debug phase 1

Phase 3 : Ordonnancement, création dynamique et terminaison de processus de niveau noyau

100 %

14/06/19 : les tests 1 à 5 passent en mode kernel

Phase 4 : Gestion des communications et synchronisation de processus de niveau noyau

00 %

Phase 5 : Séparation des espaces mémoire noyau et utilisateur : gestion de processus utilisateur

0 %
Initialisation du page directory
Module de mapping
Edition du context switch
Passage en mode User (Ring 3)
Gestion de la symbol_table

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

Difficultés rencontrées