Séquence N°
Prosit (7)
Rôles :
- Gestionnaire : BOHNERT LEONHARD
- Animateur : IBAZIZENE KACI
- Scribe : LAHMADI YOUSSEF
- Secrétaire : BREIL JOCELIN
1) Prendre connaissance du sujet et clarifier
1.1) Mots-Clés :
- Système de fichier
- Structure de la FAT
- PROGMEM
- Fat 32
- Re-implémenté
- Taille d’unité d’allocation
1.2) Contexte :
- Nous arrivons al la fin de projet et nous rendre en compte un problème d’espace pour le stockage
pour les capteur et rapidité.
2) Analyse des besoins :
2.1) Problèmes :
- Comment diminuer la complexité spatiale et temporelle ?
2.2) Contraintes :
- Utiliser les pointeurs.
- Enregistrer sur une carte SD.
- Utiliser système de stockage proposé sur Gittub.
- Utiliser Linux.
2.3) Livrable :
- Fournie une solution de gestion de fichier (argumenté).
3) Généralisation :
- Complexité spatiale et temporelle.
4) Pistes de solutions :
- Créer un module Kernel.
- Travailler sur Linux.
- Utiliser FAT 16.
- Utiliser le formatage ouichefs et l’adapter pour Arduino.
- Utiliser NTFS.
5) Elaborer le plan d’action :
1) Définir les mots clés :
2) Corbeille d’exercices :
3) Workshop :
4) Analyse des ressources :
- FAT
- Complexité
- PORGMEM
5) Faire un comparatif de chaque méthode :
6) Faire un choix argumenter :
7) Validation des hypothèses :
8) Conclusion :
Les mots clés :
Système de fichier : Le terme système de fichiers désigne de façon ambigüe : soit
l'organisation hiérarchique des fichiers au sein d'un système d'exploitation soit l'organisation
des fichiers au sein d'un volume physique ou logique, qui peut être de différents types, et qui
a également une racine mais peut en avoir plusieurs,
●Structure de la FAT : est un système de fichiers développé pour les disques durs qui utilisaient à
l'origine 12 ou 16 bits pour chaque entrée de cluster dans la table d'allocation de fichiers. ... Il est
utilisé pour stocker des informations sur les fichiers et prolonger la durée de vie d'un disque dur.
●PROGMEM : Stockez les données dans la mémoire flash (programme) au lieu de la SRAM. Il y a une
description des différents types de mémoire disponibles sur une carte Arduino
●Fat 32 : Le FAT32 peut prendre en charge plus de 268 millions de fichiers. La taille limite de chaque
fichier est de 4 Go. Il peut être utilisé avec les disques durs, les clés USB ou encore les cartes
mémoires.
●Re-implémenter :
●Taille d’unité d’allocation : Résumé Tous les systèmes de fichiers utilisés par Windows organisent
votre disque dur en fonction de la taille de cluster (également appelée taille d'unité d'allocation). La
taille de cluster représente la plus petite quantité d'espace disque qui peut contenir un fichier
Analyse des ressources :
FAT :
La table d'allocation de fichiers ( FAT ) est un système de fichiers développé pour les
ordinateurs personnels. Développé à l'origine en 1977 pour une utilisation sur des disquettes , il a
été adapté pour une utilisation sur des disques durs et d'autres appareils. Il est souvent pris en
charge pour des raisons de compatibilité par les systèmes d'exploitation actuels des ordinateurs
personnels et de nombreux appareils mobiles et systèmes embarqués , permettant l'échange de
données entre des systèmes disparates. [3] L'augmentation de la capacité des disques durs a
nécessité trois variantes principales : FAT12 , FAT16 et FAT32. La norme FAT a également été
étendue d'autres manières tout en préservant généralement la compatibilité descendante avec
les logiciels existants.
FAT n'est plus le système de fichiers par défaut pour les ordinateurs Microsoft Windows . [4]
Les systèmes de fichiers FAT sont encore couramment présents sur les disquettes, les cartes
mémoire flash et autres cartes mémoire et modules à semi-conducteurs (y compris les lecteurs
flash USB ), ainsi que sur de nombreux appareils portables et intégrés. FAT est le système de
fichiers standard pour les appareils photo numériques selon la spécification DCF .
Le système de fichiers utilise une table d'index stockée sur l'appareil pour identifier les chaînes
de zones de stockage de données associées à un fichier, la table d'allocation de
fichiers ( FAT ). Le FAT est alloué statiquement au moment du formatage. Le tableau est
une liste chaînée d'entrées pour chaque cluster , une zone contiguë de stockage sur
disque. Chaque entrée contient soit le numéro du prochain cluster dans le fichier, soit un
marqueur indiquant la fin du fichier, l'espace disque inutilisé ou des zones spéciales réservées du
disque. Le répertoire racine du disque contient le numéro du premier cluster de chaque fichier
dans ce répertoire. Le système d'exploitation peut alors parcourir le FAT, en recherchant le
numéro de cluster de chaque partie successive du fichier disque comme unchaîne de
cluster jusqu'à ce que la fin du fichier soit atteinte. Les sous-répertoires sont implémentés sous
forme de fichiers spéciaux contenant les entrées de répertoire de leurs fichiers respectifs.
Chaque entrée de la liste chaînée FAT est un nombre fixe de bits : 12, 16 ou 32. La taille
maximale d'un fichier ou d'un lecteur de disque accessible est le produit du plus grand nombre
pouvant être stocké dans les entrées (moins quelques valeurs réservées pour indiquer l'espace
non alloué ou la fin d'une liste) et la taille du cluster de disques. Même si un seul octet de
stockage est nécessaire pour étendre un fichier, un cluster entier doit lui être alloué, de sorte que
les grands clusters gaspillent beaucoup d'espace disque s'il y a un grand nombre de petits
fichiers.
Conçu à l'origine comme un système de fichiers 8 bits, le nombre maximal de clusters doit
augmenter à mesure que la capacité du lecteur de disque augmente, et donc le nombre de bits
utilisés pour identifier chaque cluster a augmenté. Les principales variantes successives du
format FAT sont nommées d'après le nombre de bits d'élément de table : 12 ( FAT12 ), 16
( FAT16 ) et 32 ( FAT32 ).
Utilise
Le système de fichiers FAT est utilisé depuis 1977 pour les ordinateurs, et il est encore
fréquemment utilisé dans les systèmes embarqués. Les systèmes de fichiers compatibles
facilitent l'échange de données entre, par exemple, des ordinateurs de bureau et des appareils
portables. Les systèmes de fichiers FAT sont la valeur par défaut pour les supports amovibles
tels que les disquettes , les super-disquettes , les cartes mémoire et mémoire flash ou les
lecteurs flash USB . FAT est pris en charge par les appareils portables tels que les PDA ,
les appareils photo numériques , les caméscopes , les lecteurs multimédias et les téléphones
portables. Alors que FAT12 est utilisé sur les disquettes, FAT16 et FAT32 se trouvent
généralement sur les grands supports.
FAT a également été utilisé sur les disques durs à travers les époques DOS et Windows
9x . Microsoft a introduit un nouveau système de fichiers, NTFS ("New Technology File System"),
avec la plate-forme Windows NT en 1993, mais FAT est resté la norme pour l'utilisateur à
domicile jusqu'à l'introduction de Windows XP basé sur NT en 2001. FAT est toujours utilisé dans
les disques durs destinés à être utilisés par plusieurs systèmes d'exploitation, comme dans
les environnements partagés Windows, Linux et DOS. Microsoft Windows est également fourni
avec un outil pré-installé pour convertir un système de fichiers FAT en NTFS directement sans
avoir besoin de réécrire tous les fichiers, bien que cela ne puisse pas être inversé directement. [5]
De nombreux systèmes d'exploitation prennent en charge les supports au format FAT via des
gestionnaires de système de fichiers intégrés ou tiers.
Le système de fichiers DCF adopté par presque tous les appareils photo numériques depuis
1998 définit un système de fichiers logique avec des noms de fichiers 8.3 et rend l'utilisation de
FAT12, FAT16, FAT32 ou ex FAT obligatoire pour sa couche physique pour la compatibilité. [6]
FAT est également utilisé en interne pour la partition système EFI lors de la phase de démarrage
des ordinateurs compatibles EFI . ] Les systèmes de fichiers FAT cachés sont également utilisés
dans la partition de démarrage UEFI sur les PC modernes.
Pour les disquettes, FAT a été normalisé en tant que ECMA -
107 et ISO / IEC 9293:1994 (remplaçant ISO 9293:1987 ). Ces normes couvrent FAT12 et
FAT16 avec seulement la prise en charge des noms de fichiers courts 8.3 ; les noms de fichiers
longs avec VFAT ont été partiellement brevetés .
Nomenclature [
"Système de fichiers FAT" fait référence à FAT12 , FAT16 et FAT32 . Les utilitaires du système
d'exploitation peuvent ne pas identifier la version qui sera utilisée pour formater un périphérique.
" FAT16 " fait référence à la fois au groupe original de systèmes de fichiers FAT avec des entrées
de cluster larges de 16 bits et également aux variantes ultérieures (" FAT16B ") avec des entrées
de secteur 32 bits. Les valeurs stockées dans le bloc de paramètres de disque peuvent être
utilisées pour identifier la structure du fichier.
" VFAT " est une extension facultative pour les noms de fichiers longs, qui peut fonctionner sur
n'importe quel système de fichiers FAT. Les volumes utilisant des noms de fichiers longs VFAT
peuvent également être lus par les systèmes d'exploitation ne prenant pas en charge l'extension
VFAT.
Le type général de système de fichiers (FAT12, FAT16 ou FAT32) est déterminé par la largeur
des entrées de cluster dans le FAT. Des valeurs de seuil spécifiques pour le nombre de clusters,
stockées dans le bloc de paramètres de disque, définissent le type de FAT utilisé. D'autres
propriétés du périphérique de stockage telles que la taille, le format de bloc de paramètres ou le
nom du système de fichiers ne peuvent pas être utilisées de manière fiable pour dériver le type
de système de fichiers.
Un volume FAT12 ou FAT16 peut être défini avec un " FAT32 EBPB " normalement utilisé pour
les volumes FAT32. ID de partition ne sont pas utilisés pour spécifier un type de système de
fichiers par eux-mêmes .
Complexité
Complexité d’un algorithme :
Le calcul de la complexité d’un algorithme permet de mesurer sa performance. Il existe deux types
de complexité :
Complexité spatiale : permet de quantifier l’utilisation de la mémoire
Complexité temporelle : permet de quantifier la vitesse d’exécution
L’objectif d’un calcul de complexité algorithmique temporelle est de pouvoir comparer
l’efficacité d’algorithmes résolvant le même problème. Dans une situation donnée, cela permet donc
d’établir lequel des algorithmes disponibles est le plus optimal.
Réaliser un calcul de complexité en temps revient à compter le nombre d’opérations
élémentaires (affectation, calcul arithmétique ou logique, comparaison…) effectuées par
l’algorithme.
Puisqu’il s’agit seulement de comparer des algorithmes, les règles de ce calcul doivent être
indépendantes :
Du langage de programmation utilisé ;
Du processeur de l’ordinateur sur lequel sera exécuté le code ;
De l’éventuel compilateur employé.
Par soucis de simplicité, on fera l’hypothèse que toutes les opérations élémentaires sont à égalité de
coût, soit 1 « unité » de temps.
La complexité en temps d’un algorithme sera exprimée par une fonction, notée T (pour Time), qui
dépend :
De la taille des données passées en paramètres : plus ces données seront volumineuses, plus il faudra
d’opérations élémentaires pour les traiter. On notera n le nombre de données à traiter.
De la donnée en elle-même, de la façon dont sont réparties les différentes valeurs qui la constituent.
On calculera le plus souvent la complexité dans le pire des cas, car elle est la plus pertinente. Il vaut
mieux en effet toujours envisager le pire.
Livrable :
Problèmes de stockage :
Au niveau du stockage nous avons deux problèmes :
1)Nous n'allons pouvoir inscrire que 8 mesures dans chaque fichier avec le format
par défaut à 2ko, et donc 18 fichiers à archiver par jour.
2)La carte SD sera saturé trop rapidement.
Pour pallier le premier problème nous pouvons comme le problème précédent utilisé
NTFS, nous pourrons ainsi utiliser des clusters de plus petite taille pour un volume
plus petit de données. Nous gagnerons ainsi de l’espace.
-Concernant le second problème, nous pouvons simplement utiliser une carte SD
plus grande
Validation des hypothèses :
- Créer un module Kernel.
- Travailler sur Linux.
- Utiliser FAT 16.
- Utiliser le formatage ouichefs et l’adapter pour Arduino.
- Utiliser NTFS.