« SE4 2022/2023 EC1 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Ligne 23 : Ligne 23 :
== Semaine du 10/07 au 16/07 ==
== Semaine du 10/07 au 16/07 ==


* création des structures (<code>filesystem.h</code>):
* création des structures
** une structure pour les blocs de données
* création du système de fichiers à partir d'un programme C
** une structure pour représenter les fichiers
** une structure pour le système de fichiers
* création du système de fichiers à partir d'un programme C (<code>create_fs.c</code>)


ReX : attention, ce micro-système de fichiers est prévu pour un microcontrôleur, vos variables globales ne peuvent pas dépasser quelques centaines d'octets.
ReX : attention, ce micro-système de fichiers est prévu pour un microcontrôleur, vos variables globales ne peuvent pas dépasser quelques centaines d'octets.


ReX : pour la création du système de fichiers la commande <code>dd</code> suffit, vous voulez dire le formatage du système de fichiers ?
ReX : pour la création du système de fichiers la commande <code>dd</code> suffit, vous voulez dire le formatage du système de fichiers ?
* création du programme programme.c contenant les différentes structures et les différentes fonctions. Il s'agit pour l'instant d'une version de "simulation" dans la mesure où la fonction CAT n'affiche pas encore le contenu exact des fichiers passé en argument.
=== '''Comment utiliser le programme:''' ===
étape 1: création du système de fichiers respectant le cahier des charges:
dd if=/dev/zero of=systeme_fichiers.bin bs=1M count=8
étape 2: compilation du programme C:
gcc programme.c -o gestionnaire_fs
étape 3: création d'un fichier dans le système de fichier:
./gestionnaire_fs systeme_fichiers.bin TYPE fichier1.txt
-> entrer le texte en entrée standard
étape 4: manipulation des différentes fonctions. Exemples:
./gestionnaire_fs systeme_fichiers.bin CAT fichier1.txt
./gestionnaire_fs systeme_fichiers.bin CP fichier1.txt copie.txt
./gestionnaire_fs systeme_fichiers.bin RM copie.txt
./gestionnaire_fs systeme_fichiers.bin MV fichier1.txt fichier2.txt
= Documents Rendus =
= Documents Rendus =
[[Fichier:Programme.c.tar|vignette|2x2px|Programme]]
[[Fichier:Programme.c.tar|vignette|2x2px|Programme]]

Version du 13 juillet 2023 à 23:45

Objectifs

Il vous est demandé de :

  • réaliser un micro système de fichiers ;
  • le système de fichiers doit résider dans un fichier de 8 Mo ;
  • le système de fichiers est géré par un exécutable obtenu à partir d'un programme C ;
  • L'éxécutable prend deux arguments, le premier est le chemin du fichier dans lequel réside le système de fichiers, les paramètres suivants concernent l'action à appliquer sur le système de fichiers ;
  • le micro système de fichier ne comporte qu'un répertoire : le répertoire principal, le répertoire principal peut comporter au maximum 64 fichiers, un fichier est caractérisé par un nom de 16 caractères au maximum et ses blocs de données, un fichier peut comporter au maximum 2040 blocs de données ;
  • un bloc de données fait 256 octets et les blocs sont numérotés sur 2 octets ;
  • les différentes actions possibles sur le système de fichiers sont :
    • TYPE pour créer un fichier si possible, le nom du fichier suit la commande, le contenu du fichier est donné en entrée standard de l'exécutable ;
    • CAT pour afficher un fichier, le nom du fichier suit la commande ;
    • RM pour détruire un fichier, le nom du fichier suit la commande ;
    • MV pour renommer un fichier, les noms original et nouveau du fichier suivent la commande ;
    • CP pour copier un fichier, les noms de l'original et de la copie du fichier suivent la commande ;

Matériel nécessaire

Un PC sous Linux.

Travail réalisé

Semaine du 10/07 au 16/07

  • création des structures
  • création du système de fichiers à partir d'un programme C

ReX : attention, ce micro-système de fichiers est prévu pour un microcontrôleur, vos variables globales ne peuvent pas dépasser quelques centaines d'octets.

ReX : pour la création du système de fichiers la commande dd suffit, vous voulez dire le formatage du système de fichiers ?

  • création du programme programme.c contenant les différentes structures et les différentes fonctions. Il s'agit pour l'instant d'une version de "simulation" dans la mesure où la fonction CAT n'affiche pas encore le contenu exact des fichiers passé en argument.

Comment utiliser le programme:

étape 1: création du système de fichiers respectant le cahier des charges:

dd if=/dev/zero of=systeme_fichiers.bin bs=1M count=8


étape 2: compilation du programme C:

gcc programme.c -o gestionnaire_fs


étape 3: création d'un fichier dans le système de fichier:

./gestionnaire_fs systeme_fichiers.bin TYPE fichier1.txt

-> entrer le texte en entrée standard


étape 4: manipulation des différentes fonctions. Exemples:

./gestionnaire_fs systeme_fichiers.bin CAT fichier1.txt

./gestionnaire_fs systeme_fichiers.bin CP fichier1.txt copie.txt

./gestionnaire_fs systeme_fichiers.bin RM copie.txt

./gestionnaire_fs systeme_fichiers.bin MV fichier1.txt fichier2.txt

Documents Rendus

Fichier:Programme.c.tar