Projet système PC : 2011 - Bachir Kosayyer, Timothé Mermet-Buffet et Philippe Roussille : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
(MAJ et fin pour le moment)
(Réalisation)
Ligne 46 : Ligne 46 :
  
 
== Réalisation ==
 
== Réalisation ==
 +
 +
=== Cahier des charges minimal ===
 +
  
 
=== Extensions réalisées ===
 
=== Extensions réalisées ===

Version du 9 juin 2011 à 12:38


SeriOS
Serious Guru is serious

Développeurs Bachir KOSAYYER
Timothé MERMET-BUFFET
Philippe ROUSSILLE

AttentionPage en cours de rédaction.


Présentation

Équipe (Équipe 1)

Nous sommes une équipe de trois étudiants :

Notre encadrant est Franck Rousseau.

Motivations

Nous avons choisi le thème du Projet système comme projet de spécialité, en fin de deuxième année à l'ENSIMAG. Nous avons conçu un noyau de système d'exploitation, "SeriOS", développé à partir des sources minimales fournies.

Il n'est pas commun de participer à la création d'un système d'exploitation, et comme nous avions tous trois suivi les cours de Systèmes d'exploitation et programmation concurrente, Pratique du Système et Conception des Systèmes d'Exploitation. Comme la programmation d'un noyau nous était inconnue, nous avons vu dans ce projet la possibilité d'approfondir et de mettre en pratique les connaissances théoriques vues en cours au travers d'un produit concret.

Cadre du projet

Le développement du projet s'est organisé en deux principales étapes :

  • répondre au cahier des charges demandé (détaillé grossièrement ici)
    • multi-tâche : plusieurs processus (programmes) doivent pouvoir s'exécuter « en même temps » sur le système en partageant les ressources;
    • synchronisé : les processus peuvent attendre un ou plusieurs processus en utilisant des sémaphores;
    • mode utilisateur : l'utilisateur du système doit pouvoir utiliser les fonctions du système dans un environnement protégé, séparant les applications et le système.
  • fournir une ou plusieurs extensions conséquentes (pilotes et/ou fonctions avancées du système)

Déroulement

Le projet s'est déroulé sur quatre semaines, du mardi 17 mai 2011 au vendredi 10 juin 2011 (rendu et soutenance). Les principales phases de développement ont été réalisées en salle système (D201).

Réalisation

Cahier des charges minimal

Extensions réalisées

Mémoire paginée

Système de fichier virtuel

Pilotes d'accès aux périphériques

Pilote de souris
Pilote de haut-parleur
Pilote de carte graphique

Références

Sources initiales

Les sources initiales du projet sont les sources fournies en pratique du système, disponibles ici.

Documentations et documents

  • Les structures utilisées pour le pilote graphique sont issues du noyau Linux, les surfaces inspirées de la librairie SDL.
  • Les pilotes gérant la souris, le haut parleur interne, la RTC, la carte graphique, le clavier, le gestionnaire d'interruptions et le minuteur, ont été faits grâce à la documentation fournie sur OSdev.

Adresses utiles

Outils utilisés

  • mercurial, un gestionnaire de versions décentralisé
  • VirtualBox, une machine virtuelle
  • NetBeans, un EDI complet
  • gedit et SCiTE, des éditeurs de texte
  • planner, un gestionnaire de diagramme de Gantt
  • gcc, un compilateur c
  • gas, un assembleur
  • ddd, gdb et Nemiver, des débugueurs