Projet système PC : 2019 - LIMOUSIN Marylie, FAYANT Dylan

De Ensiwiki
Aller à : navigation, rechercher

Présentation

L'objectif du projet système est le développement du noyau d'un OS compatible avec une architecture INTEL. Le projet se découpe en plusieurs phases qui à terme permettront d'avoir un système gérant les entrées sorties, un shell ainsi que les processus.

Equipe

Planning

Planning1.png

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

25 %

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

  • Prise en main des sources et de l'environnement
  • Gestion de l'affichage
  • Ajout d'une structure de processus et des états possibles
  • Début de fonction pour le changement de contexte

06-06-19

  • Création d'un processus, lancement de la fonction associée
  • Changement de contexte d'un processus vers un autre
  • Début d'ordonnancement et de gestion du timer

07-06-19

  • Ordonnancement
  • Timer
  • Endormissement et réveil d'un processus
  • Début de la terminaison d'un processus

Semaine 2

11-06-19

  • Arguments des fonctions
  • Gestion des priorités entre processus à l'aide d'une queue
  • Début de la filiation entre processus
  • Poursuite de la terminaison d'un processus

12-06-19

  • Fin de la filiation entre processus
  • Poursuite de la terminaison d'un processus (exit, kill, waitpid)

Démonstration

Choix techniques

Processus

Pour la gestion de la file des processus, nous avons utilisé la queue, très utile pour gérer la priorité entre processus. Il s'agit d'une file circulaire trié par priorité. La gestion de la filiation est faite grâce à un élément de la structure Processus : le ppid. Il s'agit du pid du processus père. De ce fait, nous pouvons retrouver facilement le père et les fils d'un processus.

Difficultés rencontrées