FrOSt-Foundation / FrOSt

Dépôt officiel de FrOSt - OS communautaire Français pour 0x10c
GNU General Public License v3.0
13 stars 5 forks source link

[FS] Un réel besoin ? #36

Closed Vaasref closed 8 years ago

Vaasref commented 11 years ago

Alors, certes vous étiez parti sur un OS disposant d'un FS, mais au final est-il réellement nécessaire.

Nous n'allons pas avoir très peu de médias sur DCPU, faisons-en un petit tour :

Bon. Regardons un peu les modalité d'utilisation de chacun des médias :

Pour le texte rien d'extraordinaire, ça se termine par un 0 voila pas grand chose à dire dessus, ça na même pas besoin d'indiquer sa taille.

Pour le son, alors c'est du "selon moi" on n'a ni de quoi en enregistrer ni en emettre, si on en avait il prendrait facilement un disque par enregistrement, puisque à mon avis on devrait pas pouvoir compresser le son avec ce qu'on a comme moyen. Donc si il y a son c'est une disquette audio oneshot la solution la plus probable.

Pour le binaire le fichier spé (dont on ne connait pas le contenu) et l'archive, tout s'articule sur le début-fin.

Personnellement je vois pas grand chose que l'on pourrait faire avec les fichiers donc. Les médias sont simples ou inconnus (donc totalement géré par les programmes)

J'en déduis donc deux cas de figure :

Pour cette dernière catégorie je me dis que mieux vaut ne pas faire compliquer, un file indexer suffira. Un mot de type de disquette, deux mots pour la fin de l'index, deux mots pour la fin de la disquette, une table qui liste les fichier présents avec nom et adresse, et c'est mare.

Au formatage on ajoute les cinq mots, un seul si c'est une oneshot.

Fin merci m'sieur dames.

Avec ça ça fait 147455 fichier au maximum sur une disquette.

Du côté du driver c'est une gestion des disquette linéaire, pas forcément adapté au support mais bon...

Sinon, on peu aussi voir une spec plus en accord avec le hardware, par secteur avec du multi pour les grand fichiers, ya de la perte de place, mais en manque-t-on ? Mini 512 mots.

Premier secteur réservé au typage des secteur donc une valeur de 2 bit pour chaque secteur donc 180 mots (1 c'est suffisant mais bon 2 ça prévois large pour du protégé peut-être) donc dans ces mots on sais si le secteur est en multisecteur ou pas si il l'est bah on prend jusqu'au prochain nouveau multi ou simple secteur. Avec possibilité ou non de couper le mot (si on arrive sur un secteur multi mais pas premier de ce multi on lit ou pas le mot en entier, ca pourrait être pratique pour les multi vraiment long)

Voila pour un fonctionnement plus hardware donc. Sans toute les fioritures comme les noms de fichier. plus orienté programme j'imagine.

Donc 1439 fichier au max. Avec des fichier minumum comme ceux théoriquement utilisé plus haut, ça fait un gâchis de 737099 mots et logiquement 11788288 bit gâché par rapport à un oneshot.

Vaasref commented 11 years ago

Alors si on veut rajouter des dossier dans un second temps, c'est le VFS qui gère en ajoutant ce qu'il lui faut, soit en utilisant un caractère dans le nom de fichier pour reproduire une arborescense. ou qu'il se fasse sont petit fichier a chaque dossier, ou encore qu'il mix les deux avec un id de dossier et une liste de nom de dossier en fonction des id.

Enfin voila quoi, avec un truc comme ça ça reste simple à mettre en place, je vous fais ça dans les 2 jours 3 grand max 4 si on compte l'update du driver du M35FD. Et ça permettra d'avoir un truc simple à utiliser pour les programmes voire même pour l'utilisateur. D'avoir un "truc"

Vaasref commented 11 years ago

Bon alors, Yama était d'accord pour que je commence.

Du coup comme de toute façon j'allais le faire. Après vous ferez ce que vous voulez a implémenter des FS qui seront superflus. Surtout que je vois pas l’intérêt de faire une norme lourde et encore moins l’intérêt de porter une norme qui avait un cahier des charge qui n'est pas adapté à notre contexte.

Yamakaky commented 11 years ago

Perso je fait fsf (et FrOSt) pour le fun, pour pouvoir faire 'mon' OS. Je cherche pas à faire le fs le plus efficace possible (c'est accessoire). Fun come first. ^^

Vaasref commented 11 years ago

Mais tu fais ce que tu veux.

L3nn0x commented 11 years ago

Je suis d'accord avec toi sur le principe Vaasref. D'ailleurs c'est un peu ce que j'avais proposé comme FS basique. Après, Yama veut faire le fsf, donc moi je dis pourquoi pas. :)

Pour le son, je connais une méthode qui permet de compresser un maximum (utiliser un spectre de fréquences). Par contre je sais pas si c'est jouable à implémenter.

Ce qui est utile par contre, c'est de fournir un système fichiers/dossiers à l'utilisateur pour qu'il puisse organiser ses fichiers comme il l'entend. Et ça, pas mal de personnes aiment pouvoir ranger dans des dossiers.

Vaasref commented 11 years ago

Selon moi mettre le système de répertoire dans le FS c'est pas tellement une bonne idée, déjà parce que le VFS peut très bien le faire, et puis parce que c'est compliquer pour pas grand chose. et franchement rien que la fonction de lecture linéaire du driver, c'est une horreur à penser.

Donc avoir une FS de base plutôt adaptable selon les situation, pui pourra facilement se faire sur-coucher pour là gestion : Il suffit d'utiliser le modèle décrit au milieu avec des nom inexistant ou un mot d'ID à la place et là tu peux faire de la surcouche à moindre coût en mémoire tout en gardant la compatibilité certes illisible pour l'utilisateur mais les programmes eux pourrons gérer leur fichiers toujours de la même façon surcouche ou non. pour les programmes utilisant les autres gestion c'est qu'ils sont pas adaptés à un FS avec des noms de fichiers, donc ce serait de la disquette database ou à macroprogramme auto-extensible à capture d'OS.

Et pour ce qui est de l'audio, l'important n'est pas tant dans la compression, mais dans la possibilité de compression en temps réel et de l'enregistrement de ce condensat.

L3nn0x commented 11 years ago

Bah le problème c'est que le vfs ne fera jamais qu'harmoniser les différents fs. Donc c'est au fs de manipuler les dossiers. Par contre, la lecture linéaire c'est vrai que c'est galère. C'est bien pour ça que je ne le fais pas. ;)

Je suis pas totalement d'accord. Notre OS se veut "tout public" donc techniquement, user-friendly au possible. Mais si déjà la disquette est inutilisable en tant que "porte-document" ou autre, c'est moyen.

Après, je suis d'accord pour les disquettes d'extension de programme. On est pas obligé de gâcher plein de mots pour un morceau de programme. C'est bien pour ça que les fs sont si importants. Ils essayent de répondre à la question de comment avoir un maximum de fonctionnalités en un minimum de place.

Vaasref commented 11 years ago

Mais tu le dis toi même le VFS harmonise, donc si tu définit les dossiers comme une norme, eh bien il ne fera que harmoniser le FS avec les autres en gérant les dossier.

Mais comme je disais dans mon second post, si tu veux faire la gestion des dossier sans te cassez le cul tu met un caractère spécial pour l'équivalent du slash et voila ça fonctionne, simplement en prenant l'adresse absolue et moins simplement mais plus transparent (en fait plus opaque) en regexpant ou simili (tout ce qui commence par "quatre%" c'est du dossier quatre. C'est que lent à l’exécution mais comme on est dans le contexte de l'utilisateur humain alors pas de problème de lenteur puisque la machine est plus rapide que l'humain, donc on est pas sur un besoin de rapidité (certes on est pas non plus dans une norme de lenteur), donc pas grave que les dossiers soit géré en RAM. En fait je me demande si ce serait pas plus rapide enfin ça dépend des besoins en seek inhérent FS et là mon système me semble plutôt bon de ce côté là, une seule table a appeler ce sera plutôt rapide.

Après la limite théorique c'est la taille des noms de fichiers et du nombre de fichier a afficher par rapport à la RAM limitante mais ça c'est pour tous.

Pour ce qui est de mon point de vue part rapport a l'utilisateur, certes il aime bien les dossier, mais je doute déjà que les mecs qui stockeront des infos qui ne soient pas sur leur DComputers, et le cas échéant, ce sera certainement pas beaucoup, la discipline suffit à tenir une disquette propre. Parce que c'est pas d'un disque dur que l'on parle mais bien d'une disquette, le bidule qui est classé en physique, le porte document est matériel avant d'être logiciel.

Vaasref commented 11 years ago

Bon je suis en train d'update le driver, j'en suis à la fonction d'écriture linéaire, et c'est la pure mort.

Du coup les délais indiqué sont pas totalement exacts, comme l'update du drivers était un facteur plutôt inconnu, j'ai dis un jour parce que bon c'est qu'un driver après tout, mais vu comment c'est chiant, il en faudra au moins encore 1. Et c'est parce que j'ai fait du faire un compromis, je voulais pas utiliser de variables statiques d'adresse pour buffer pour les opération o/i, mais je vais devoir en utiliser parce que c'est vraiment trop chiant.

Donc dans 4 jours le VSF (Very Singular Filesystem) décrit dans mon post sera prêt.

Comment ça le nom fait "VaaSreF" ? Tiens donc, coincideeeence ! Ouais et puis je trouvais rigolo d'appeler ça un "filesystem" "singulier" alors qu'il est pluriel puisqu'il a trois normes.

P.S il faut savoir que mes jours ne sont pas égaux, c'est bien de mes jour dont je parle, certain durent plus de 24h d'autres moins de 6h.

L3nn0x commented 11 years ago

Euh, par contre, tu pourrais pas renommer ton fs en VeFS plutôt ? Parce que sinon on va confondre avec Virtual FileSystem (VFS)...

Vaasref commented 11 years ago

Non c'est VSF pas VFS.

L3nn0x commented 11 years ago

Autant pour moi j'ai mal lu. Pour ma défense c'est vraiment proche. ;)

Yamakaky commented 11 years ago

idem ^^

Vaasref commented 11 years ago

Pas grave, c'est pas fait pour être lu c'est fait pour être utiliser.

Yamakaky commented 11 years ago

Bah un peu si. Genre là on lit ^^