Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation d'OS Assembleur Discussion :

Créer son propre système de fichiers


Sujet :

Programmation d'OS Assembleur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    mars 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Créer son propre système de fichiers
    bonjour

    Avez vous pense qu'il pourait etre interresant de cree son propre systeme de fichier avec vos os

    de cette facon il y moyen de cree vos propre secu fichier

    pour ma part j y ais pense mais je n'ais trouver que des sites
    expliquant leur methode pour economiser l'espace et les problemes
    de fragmentation des fichiers
    rien de serieux car savoir la taille de leur secteur et leur gestion
    n'est pas la seule chose a savoir dans ce domaine

    pour reprendre recree la roue oui mais de fond en comble alors
    il ne faut rien oublier

    si vous avez de plus amples info je suis a l'ecoute

    L'immortel

    8) un immortel n est pas forcement celui qui ne moura jamais

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 130
    Points : 121
    Points
    121
    Par défaut
    C'est quoi que tu veux faire??

    Créer un système de fichiers?

    Regarder sur internet doit juste te permettre de comprendre un peu comment fonctionnent des systèmes de fichiers tels que le FAT12 ou FAT16...

    Après il te faudra avoir tes propres idées, sinon tu ne crées pas, tu recopie :)

    @+

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    mars 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    salut

    j'ai degat regarde, les idee sont la mais je voudrais comprendre
    comment fonctionne "fdisk,gdisk,..." pour cree ces partition

    merci de m'aider

    bien aimable

    L'immortel

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 130
    Points : 121
    Points
    121
    Par défaut
    Ouais alors déja commence par oublier tout ce qui est partition et tout ce que tu connais d'un FileSystem déja existant....


    Concentre toi sur les fondements du systeme (comment tu vas créer ta FAT, comment elle va fonctionner, comment tu vas placer tes données en mémoire etc...)

    Je l'ai fait et c'est deja pas mal compliqué

    Apres tu verras pour la suite, mais réfléchi deja bien à ca

    @+

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    mars 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    merci du conseil

  6. #6
    Membre éclairé

    Inscrit en
    juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Plutot que de te concentrer sur FAT16/32, concentre-toi sur des exemples libres !
    Ext2 pour commencer, c'est pas mal documenté !
    Après, je crois qu'il est possible avec python de faire un système de fichier "personnel" mais il faut que je recherche ça...
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    septembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2002
    Messages : 96
    Points : 116
    Points
    116
    Par défaut
    FAT est bcp plus simple que ext2; donc il vaut mieux commencer par la
    Responsable du projet SKAN (OS à but didactique)
    Contactez moi pour toutes questions ou remarques sur le projet.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    janvier 2003
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2003
    Messages : 130
    Points : 121
    Points
    121
    Par défaut
    Et FAT 16 est également plus facile que FAT 12


    Donc tu sais par quoi commencer ;)

    ++

  9. #9
    Futur Membre du Club
    Inscrit en
    août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    bonjour je suis depuis peu egalement interesse et je me suis documenté avec google .
    je suis tombé sur le src de advfs. mais je ne parviens pas à utilisé ce code source. alors j'aimerais vraiment que vous puissiez m'aider

  10. #10
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    septembre 2007
    Messages
    7 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 180
    Points : 22 914
    Points
    22 914
    Par défaut
    Citation Envoyé par L'immortel Voir le message
    bonjour

    Avez vous pense qu'il pourait etre interresant de cree son propre systeme de fichier avec vos os
    Tu travailles sous quel OS déjà ? En général, quand on en est à « Qui veut créer un OS/un FS/un environnement de bureau », c'est qu'il est temps de passer au libre :-)

    Bon, en même temps, si tu viens tout juste de découvrir comment fdisk fonctionne, c'est un peu prématuré de vouloir écrire un FS.

    Si ce n'est pas déjà fait, installe-toi une distrib Linux quelque part et commence à l'explorer : tu trouveras trente tonnes de FS différents dedans, qui t'apporteront beaucoup, et la manipulation de tes disques à travers les /dev sera beaucoup plus facile que depuis d'autres OS commerciaux. Tu y trouveras même des trucs comme fuse qui te permettront de faire fonctionner ton système de fichier en userland sans risquer de tout casser tout de suite.

  11. #11
    Futur Membre du Club
    Inscrit en
    août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    merci du conseil mais le libre jy suis deja :
    j'ai deja essaier 5 distrib (mandriva ubuntu debian open suse et kubuntu )
    et mon window$ est equipé de firefox thunderbird pidgin gimp ...

    a l'heure actuelle j'ai mandriva 2008/ubuntu hardy/windaube xp en multiboot

  12. #12
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    septembre 2007
    Messages
    7 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 180
    Points : 22 914
    Points
    22 914
    Par défaut
    Citation Envoyé par sheik5757 Voir le message
    merci du conseil mais le libre jy suis deja :
    j'ai deja essaier 5 distrib (mandriva ubuntu debian open suse et kubuntu )
    et mon window$ est equipé de firefox thunderbird pidgin gimp ...

    a l'heure actuelle j'ai mandriva 2008/ubuntu hardy/windaube xp en multiboot
    Dans ce cas-là, télécharge les sources de ton noyau (sur kernel.org), et regarde en dessous de fs/, je crois que tu as de quoi t'occuper pour un bon moment.

    Si tu veux faire un FS, c'est un bon exercice, mais il faut savoir quelles sont tes priorités, et ce qu'il te manque dans les autres. Exemple : optimisation de l'espace occupé au dépit de la rapidité d'accès -> grosse archive TAR. Système simple, bon compromis entre espace occupé et taille des fichiers -> Système type FAT ...

    Après, il faut gérer la fragmentation, les droits d'accès éventuels, la cryptographie, etc.

  13. #13
    Futur Membre du Club
    Inscrit en
    août 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    meci obsidian je te tiens au courrant

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    mai 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2008
    Messages : 145
    Points : 170
    Points
    170
    Par défaut
    Bonjour,

    par simple curiosité, que reproches-tu aux systèmes de fichiers existant ?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2008
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Pour la question du dessus: rien

    Après personnellement j'ai voulu essayer mais voilas, je mit suis jamais lancer...je te présente les grandes lignes de mon petit principe pour y arriver:

    Introduction:
    Assembleur pour x86 > asm
    Tu utiliseras les instructions "in" et "out" du MPU et/ou la DMA du disque dur (plage d'adresses en mémoire(sur un PC > RAM) destinées à un port physique de la carte mère soit un périphérique exemple: IDE > DISQUE DUR) avec les quels tu va accèder au disque dur plus particulièrement aux secteurs du disque et aux informations S.M.A.R.T du disque (son BIOS) en somme.Tu créera donc un driver de disque propre au tien pour faire et regrouper tous cela dans les moindres détails.Driver que tu codera en asm et en C (proche machine en asm interface et intelligence du driver en C)

    Maintenant parlont physique:

    1-1
    La plus petite unitée sur la quelle tu puisse écrire en un seul appel est un secteur,vouloir écrire sur des octets à la suite et à des moments différent serait comme d'allouer un bit en mémoire > Impossible, tu peux alloué un octet (char) en mémoire et écrire sur un bit dedans (champ de bits) mais pas l'isoler, t'a première étape serais alors d'écrire des données dedans exactement de la même manière que l'écriture de ton secteur de boot mais avec "n secteurs".

    1-2
    Puis tu classeras ces secteurs, là intervient un autre problème, un secteur fait 512 octets et ton disque a en moyenne une capacité de 50 Giga... tu comprend vite que le système se retrouvera déborder, il faut donc les regroupés en cluster, "packet" de secteurs et s'est avec cela que tu va définir la plus petite unitée du disque accessible donc en une seule écriture/lecture en somme soit tu réécrit tout soit rien.

    Donc maintenant le compromit entre gagner de l'espace disque, 1 secteur = 1 cluster et gagner en vitesse systeme 1000 secteurs = 1 cluster,le 1er cas ou la notion de cluster n'éxistera plus (la différence est subtile ^^ )sera un cas où tu ne perdra quasiment plus du tous d'espace libre sauf pour les fins de fichiers qui tiennent sur moins de 512 octets et les fichiers eux même qui ont une taille inférieur à 512octets(d'ou le côté néfaste des fichiers ou des dossiers "vide") et tu pourra classer chaques secteurs mais cela demandra beaucoup de travail au systeme par contre une énorme <table de "cluster"> fera un systeme bien plus lent, biensûr si le support est une disquette cette solution est parfaite et ton système sera 'vif' mais il faut que la mémoire suive (4 Giga par exemple)...à l'inverse le 2eme cas sera l'objet d'une énorme perte d'espace libre mais d'une rapiditée sans précédent.
    Le probleme sera donc les proportions entre mémoire et taille du disque.

    Avec cela un programme qui tournera continuellement en mémoire et qui fera
    toutes les entrées/sorties par l'intermédiaire de ton driver(voir introduction) entre le disque dur et le reste de la machine.

    là, le problème de l'organisation physique des données est réglés simplement comme ça (on peut toujours améliorer avec par exemple un système de compressions/suppressions automatique, un indicateur de cluster non défaillant)

    1-3
    L'arborescence...ce qui fait que tu puisse mettre des fichiers telle que tu les conçoit sur ton support,là encore c'est un regroupement qui va nous être utile, un ensemble de clusters composeraient donc un fichier ou un dossier mais voilas comment s'y retrouver?
    Grâce à une table des fichiers et des dossier (TFD):
    Chaque clusters aura donc une adresse que tu trouvera dans ta table des clusters (voir 1-2) et ces adresses seront stockées dans le premier ou les premiers clusters(selon le nombres d'adresses) du dossier ou du fichier,ces adresses étant ceux des clusters qui le composeront soit les clusters de données.les 1er clusters seront considérées comme des clusters d'adresses dont l'adresse sera stocker dans la table des fichiers et des dossiers.

    Les fichiers et dossiers étant la même chose leurs différences sont principalement que pour le cas des dossiers, leurs clusters de données pointeront vers une ou des entrées de la TFD.

    Conclusion: c'est compliquer et répétitif...

  16. #16
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut 5 ans plus tard...
    Bonjour, je me pose la même question que toi : comment créer son propre système de fichiers ?
    En ce qui te concerne, qu'est-ce que ça a donné ?

Discussions similaires

  1. Créer son propre format de fichier
    Par stdebordeau dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/09/2009, 12h10
  2. [Joomla!] Créer son propre fichier de traduction fr-FR.com*.ini
    Par mimi31110 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 05/08/2009, 14h53
  3. Créer son propre format de fichier
    Par Baptiste Wicht dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 21/12/2006, 16h42
  4. Créer son propre LayoutManager
    Par tomburn dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 17/03/2005, 17h15
  5. créer son propre protocole
    Par matthew_a_peri dans le forum Développement
    Réponses: 11
    Dernier message: 04/03/2005, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo