Projet système PC : 2020 - NATTER Gregory, FRIRY Alice

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

Équipe Gregory Natter, Alice Friry
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.

Organisation

Phases de développement

Phase 1 : prise en main de l'environnement

100 %

le 08/06: configuration de gcc en version 8.3, mise en place de l'environnement
le 09/06 : gestion de l'affichage, structure des processus, gestion de deux processus avec un contexte switch

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

100 %

09/06: structure des processus, initialisation des processus
10/06: debug des context switch, début de la gestion des interruptions
11/06: fin de la gestion des interruptions (horloge), context switch à chaque coup d'horloge

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

100 %

11/06: ajout d'une queue, début de l'ordonnanceur, fonction start des processus
12/06: finition du start des processus (arg et exit), getpid, kill, exit
15/06: fin de l'ordonnanceur, début de la filiation
16/06: fin de la filiation, lancement des tests 1, 2 et 3
17/06: lancement des tests 4,5,6
18/06: lancement du test 8

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

100 %

17/06: structure de données des files de messages 18/06: wait_clock, première implémentation des files de messages 19/06! debug juqu'au test 10 22/06: debug test 11 et 12 23/06: debug tests 13 à 17

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

55 %

23/06: séparation kernel/user, début des interruptions
24/06: bibliothèque user vers kernel
25/06: debug bibliotheque, passage des tests

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 %


Ressources