Projet système PC : 2019 - JULIEN Tristan, LANUSSE Quentin : Différence entre versions
De Ensiwiki
(→Phases de développement) |
(→Semaine 1) |
||
Ligne 76 : | Ligne 76 : | ||
→ Fin de la phase 2 | → Fin de la phase 2 | ||
+ | |||
+ | ====12-06-19==== | ||
+ | * Gestion automatique des PIDs | ||
+ | * Gestion de l'endormissement d'un processus pour une durée déterminée (wait_clock) -phase 4- | ||
==Démonstration== | ==Démonstration== | ||
==Difficultés rencontrées== | ==Difficultés rencontrées== |
Version du 12 juin 2019 à 14:43
![]() | |
---|---|
Titre du projet | BambinOS |
Cadre | Projet système
|
Équipe | Quentin LANUSSE, Tristan JULIEN |
Encadrants | Gregory Mounie, Patrick Reignier, Yves Denneulin |
Sommaire
- 1 Présentation
- 2 Equipe
- 3 Planning
- 4 Phases de développement
- 4.1 Phase 1 : prise en main de l'environnement
- 4.2 Phase 2 : Création et lancement de processus de niveau noyau
- 4.3 Phase 3 : Ordonnancement, création dynamique et terminaison de processus de niveau noyau
- 4.4 Phase 4 : Gestion des communications et synchronisation de processus de niveau noyau
- 4.5 Phase 5 : Séparation des espaces mémoire noyau et utilisateur : gestion de processus utilisateur
- 4.6 Phase 6 : Gestion du clavier et implémentation d'un pilote de console
- 4.7 Phase 7 : Implémentation d'un interprète de commandes
- 5 Journal de bord
- 6 Démonstration
- 7 Difficultés rencontrées
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
- Tristan Julien (filière apprentissage)
- Quentin Lanusse (filière apprentissage)
Planning
Planning prévisionnel
Planning effectif
Phases de développement
Phase 1 : prise en main de l'environnement
Phase 2 : Création et lancement de processus de niveau noyau
Phase 3 : Ordonnancement, création dynamique et terminaison de processus de niveau noyau
Phase 4 : Gestion des communications et synchronisation de processus de niveau noyau
Phase 5 : Séparation des espaces mémoire noyau et utilisateur : gestion de processus utilisateur
Phase 6 : Gestion du clavier et implémentation d'un pilote de console
Phase 7 : Implémentation d'un interprète de commandes
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
12-06-19
- Gestion automatique des PIDs
- Gestion de l'endormissement d'un processus pour une durée déterminée (wait_clock) -phase 4-