Projet système PC : 2019 - JULIEN Tristan, LANUSSE Quentin : Différence entre versions
De Ensiwiki
(→Journal de bord) |
(→Phase 2 : Création et lancement de processus de niveau noyau) |
||
Ligne 33 : | Ligne 33 : | ||
=== Phase 2 : Création et lancement de processus de niveau noyau === | === Phase 2 : Création et lancement de processus de niveau noyau === | ||
− | {{Avancement | | + | {{Avancement | 100}} |
=== 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 === |
Version du 11 juin 2019 à 14:21
![]() | |
---|---|
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