[OS] Créer un nouveau système de fichiers.

Créer un nouveau système de fichiers. [OS] - ASM - Programmation

Marsh Posté le 08-07-2005 à 15:07:07    

Bonjour  :)  
 
Je me demandais, selon vous, quelle est le système de fichier le plus performant, le plus sécuritaire, bref le meilleur en ce moment ? En comptant WinFS de windows longhorn qui s'en vient bientôt.  
 
Pour mon OS je voudrais voir s'il y aurait moyen de faire mieux.  
 
Est-ce que les système de fichiers de nos jours se fragmentent toujours ou s'il y en a qui ne se fragmentent pas ? À part replacer les fichiers au fur et à mesure je ne vois pas comment ça pourrait se fragmenter.  
 
De plus, auriez-vous des suggestions à propos du concept, sécurité, organisation d'un nouveau système de fichies ?  
 
J'ai pensé aux détails suivant:  
 
nom de fichiers long  
sensible à la case  
sécurité, droit d'accès, mot de passe, niveau d'accès, encryption, mot de passe.  
attribut, effacé, caché, extension.  
 
Est-ce que je pourrais ajouter autre chose ?  
 
Pour ce qui est de la création du système de fichier en lui-même:  
 
J'ai cherché sur google, mais je n'ai rien trouvé comme information. En fait ce que je me demande:  
 
[Secteur]  
1) Un secteur c'est de 512 octets ?  
 
2) Est-ce que c'est le formatage qui décide cela ou si ce sont les constructeurs ?  
 
3) Si ce sont les constructeurs alors l'espace d'un disque se calcule toujours au nombre de secteur(512) X nombre de tête X nombre de cylindre ?  
 
4) Est-ce qu'on peut écrire moins d'un secteur complet ?  
D'après l'int 13h on doit spécifier le nombre de secteurs, mais comment je fais pour écrire à un endroit précis d'un secteur ? Si par exemple je veux écrire sur le secteur 1 des données de l'octet 16 à 32  
 
De plus, si on ne peut pas, cela veut dire qu'on doit obligatoirement écrire sur chaque début de secteur à chaque fois ? Donc on pert de l'espace ?  
 
[Adresse]  
1) Dans ma FAT comment je spécifies si mon fichier x commence au 16e octet du secteur 8 et se termine au 32e octet du secteur 12 ? du premier cylindre à la 2e face ?  
 
[FAT]  
1) Et ma FAT je la met ou exactement ?  
 
Est-ce qu'il y a un endroit standard qui est respecté par pas mal de OS, ou si je peux placer ma table n'importe ou sur le disque ?  
 
Sur le secteur 1 par exemple, le secteur 0 étant utilisé par le bootstrap. Car la table est sujet à grossir au fur et à mesure que je créé des fichiers.  
 
Par exemple, ou est placé la FAT de Windows ? Sur le secteur 1 ?  
 
J'ai besoin d'exemple concret pour me guider  :hello:

Reply

Marsh Posté le 08-07-2005 à 15:07:07   

Reply

Marsh Posté le 08-07-2005 à 15:13:08    

tu veux pas acheter le dernier linux mag y a un article pas mal sur les VFS

Reply

Marsh Posté le 08-07-2005 à 15:24:31    

Taz a écrit :

tu veux pas acheter le dernier linux mag y a un article pas mal sur les VFS


 
Ou l'acheter ? Je suis au QC :D
 
Mais c'est surtout des exemples pratique que j'ai de besoin, pas de théorie, ça j'en ait déjà lu plein.  :wahoo:  

Reply

Marsh Posté le 08-07-2005 à 17:32:28    

Les FS les plus modernes, tous journalisés, sont:
Ext3, XFS, JFS et ReiserFS, Ext3 étant le moins moderne (puisque évolution de Ext2 et compatible)
http://iew3.technion.ac.il/CC/Comp [...] 09s01.html


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-07-2005 à 17:37:30    

Citation :

Est-ce que les système de fichiers de nos jours se fragmentent toujours ou s'il y en a qui ne se fragmentent pas ?


:sweat: Et tu veux créer ton propre filesystem ? Bah, zy va.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 08-07-2005 à 20:29:44    

sircam a écrit :

Citation :

Est-ce que les système de fichiers de nos jours se fragmentent toujours ou s'il y en a qui ne se fragmentent pas ?


:sweat: Et tu veux créer ton propre filesystem ? Bah, zy va.


 
Bonjour virus.  :hello:  

Reply

Marsh Posté le 08-07-2005 à 21:23:18    

NullDragon a écrit :


Par exemple, ou est placé la FAT de Windows ? Sur le secteur 1 ?


 
De nos jours c'est plutôt du NTFS, et il a tendance à mettre la MFT un peu où il veut :o
 
Tu parles de l'extension comme une des caractéristiques de fichiers, ça a un intérêt ? Parce qu'actuellement même Windows qui se base quasi que là dessus pour les types de fichiers ne stocke pas l'extension à part : l'extension c'est juste ce qui suit le dernier point du nom.


Message édité par antp le 08-07-2005 à 21:23:34

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-07-2005 à 20:04:43    

Et bien dans mon FS j'essaye de trouver une bonne façon pour identifier les fichiers. Peut-être un tableau d'index qui fait référence à des informations précises ..

Reply

Marsh Posté le 13-07-2005 à 20:27:17    

NullDragon a écrit :

Et bien dans mon FS j'essaye de trouver une bonne façon pour identifier les fichiers. Peut-être un tableau d'index qui fait référence à des informations précises ..


identifier les fichiers comment? en terme de mp3, avi, txt tout çà?  :heink:  
sinon sous Unix, tout est fichier, il n'y a meme pas de difference entre les binaires et les textes (contrairement à windows). Ensuite par contre il y a une structure stat qui renseigne toutes les caractéristiques du fichier. Cette structure stat identifie aussi le type du fichier (fichier régulier, repertoire, lien symbolique, socket, fifo et le type bloc et le type caractère pour les devices).
Voilà à quoi ressemble une structure stat :
 

Code :
  1. struct stat {
  2.   mode_t st_mode; /* type de fichier et permissions */
  3.   ino_t st_ino; /* numero inode du fichier (identifiant unique permettant l'accès au contenu du fichier) */
  4.   dev_t st_dev; /* numero de périphèrique contenant le fs auquel se rapporte le numero d'inode */
  5.   dev_t st_rdev; /* numero de périphérique pour les fichiers speciaux représentant un périphérique */
  6.   nlink_t st_nlink; /* nombre de liens physiques sur l'inode (nombre de nom du fichier) */
  7.   uid_t st_uid; /* UID du propriétaire du fichier */
  8.   gid_t st_gid; /* GID du groupe auquel appartient le fichier */
  9.   off_t st_size; /* taille du fichier en octets (significative pour les fichiers normaux pas pour les symlinks ou les fichiers speciaux) */
  10.   time_t st_atime; /* date du dernier acces au fichier */
  11.   time_t st_mtime; /* date de la dernière modification (en terme de contenu) */
  12.   time_t st_ctime; /* date du dernier changement de status du fichier (en terme de contenu ou de caractéristiques (via chmod, chown...)) */
  13.   long st_blksize; /* la taille de bloc (en octets) la mieux adaptée pour les entrées/sorties sur ce fichier, très utile quand on veut configurer la taille d'un buffer de manière optiamle pour ce système de fichier */
  14.   long st_blocks; /* non portable, la taille de bloc allouée pour le fichier en terme de nombre de blocs (mais la taille de bloc n'est pas disponible de manière portable) */
  15. };


Reply

Marsh Posté le 13-07-2005 à 20:38:39    

NullDragon a écrit :


Pour mon OS je voudrais voir s'il y aurait moyen de faire mieux.  


 
[:pingouino]

Reply

Marsh Posté le 13-07-2005 à 20:38:39   

Reply

Marsh Posté le 14-07-2005 à 01:05:36    


Jayce, c'est toi ? [:pingouino]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 14-07-2005 à 03:11:22    


 
Non :) Qui est Jayce [:autobot]

Reply

Marsh Posté le 14-07-2005 à 11:19:54    

Reply

Marsh Posté le 14-07-2005 à 12:07:38    


je croyais que c'etait une legende . Ca a vraiment existé ??!?  

Reply

Marsh Posté le 14-07-2005 à 12:29:26    

le personnage oui, maintenant, ce dont il parle :sleep:

Reply

Marsh Posté le 15-07-2005 à 04:20:36    

Ça n'a rien d'extraordinaire, un truc comme ça a déjà existé: Deskview.

Reply

Marsh Posté le 15-07-2005 à 14:38:06    

Mais il fait quoi son OS concrètement ? Sauf en parler vaguement, ça ne fait rien de plus que de pouvoir exécuter des exe Win32 sous Windows, ça n'a rien super, windows le fait déjà tout seul.

Reply

Marsh Posté le 15-07-2005 à 16:22:17    

justement [:ddr555]

Reply

Marsh Posté le 15-07-2005 à 16:49:15    

Quelqu'un pourrait fixer mon MBR ? [:autobot]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 15-07-2005 à 16:51:13    

Les systèmes de fichier futurs (genre Longhorn) devaient intégrer une base de données qui indexe les fichiers, ce qui permet de faire des recherches rapides sur l'ensemble des fichiers. Mais c'est compliqué pour avoir des performances, du coup, la BD ne sera pas intégrée au début.

Reply

Marsh Posté le 16-07-2005 à 13:04:17    

el muchacho a écrit :

Les systèmes de fichier futurs (genre Longhorn) devaient intégrer une base de données qui indexe les fichiers, ce qui permet de faire des recherches rapides sur l'ensemble des fichiers. Mais c'est compliqué pour avoir des performances, du coup, la BD ne sera pas intégrée au début.


 
C'est quoi la difference avec le resultat de la commande updatedb sur linux?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 16-07-2005 à 13:20:15    

updatedb ça met juste à jour la BD de slocate, ça n'a pas de fonctions DB.
 
Dans les fonctions des FS modernes se comportant partiellement comme des DBs, on a les metadatas, la vitesse de gestion et d'accès des fichiers, la journalisation et l'atomicité (une opération atomique s'effectue soit intégralement soit pas du tout, donc pas de fichiers à moitié tranférés ou autres conneries du style).
 
Pour plus d'infos sur les 3 FS les plus modernes arrivés à maturité, voir Reiser4, XFS et JFS
 
On a également un article sur Reiser sur kuro5hin
et une comparaison des perfs sur le kernel 2.6.0-test2


Message édité par masklinn le 16-07-2005 à 13:26:22

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed