plików na 64K pamieci ?

Oct 15, 2010 23 Replies

Witam.



Mam pamięć 24c512. Chcę w niej chować różne rzeczy, na tyle różne że powaznie zastanawiam się nad wsadzeniem do środka jakiegoś systemu plików podobnego do FAT.



Wymagam dostęp RW, swobodne powiększanie plików, kasowanie, seek. Słowem praktycznie normalny system plików. Nie wymagam wydajności, ale nie chciałbym tracić 50% miejsca na zarządzanie pozostałym. Plikow będzie kilka.



Ma ktoś doświadczenia jaki jest narzut samego fs i czy jest sens używania jakiegoś klona FATa na tak małej pamięci? Nie upieram się nad FATem, może byc cos innego byle pasowało do embeded. Pamieci poza CPU nikt nie będzie czytał więc kompletnie nie ma znaczenia czy coś innego zrozumie ten system plików poza moim cpu.


W dniu 2010-10-15 22:07, Sebastian Biały pisze:

Z moze CP/M ?

Albo któryś z FS używanych w wersjach "embedded" Linuxa:

formatting link

Zdecydowana wiekszośc musze odrzucić z dwoch powodów:

a) niekiedy rozmiar clustra jest wielkości mojej pamięci ;)

b) cieżko odpiąc taki filesysystem od Linuxa do warunków bez allokacji pamięci.

CP/M mial jakiś jednolity i godny uwagi system plików?

W dniu 15.10.2010 22:07, Sebastian Biały pisze:

A nie nadałoby się coś w stylu berkley db? Wtedy zamiast kilku plików byłyby jedynie pary klucz-wartość.

FAT był jednak wymyślony dla czegoś 10..20 razy większego.

Tej pamięci jest tak mało, że jeżeli jest rzeczywiście potrzebny fs to bym coś napisał na szybko - 256 sektorów po 256 bajtów (z czego pierwszy na opis fs), bez struktury katalogów. Jeden bajt na bitmapę wolnych sektorów, pozostałe 255 bajtów na nazwy plików i wskaźniki na 1 sektor. Dane w formie listy jednokierunkowej. - w sumie pewnie z 2 godzinki roboty.

Mial, czy godny uwagi .. od niego w koncu wyszedl MSDOS, ale na nazwie formatu 8.3 podobienstwa sie koncza :-)

Fat nie jest zly do malych pamieci, unix-like tez moze byc ciekawy.

J.

Ta pamiec ma swobodny zapis, czy musisz je rozrzucac, zeby przedluzyc zywotnosc ?

No to w FAT-like stracisz 1-1.5-2 bajty na cluster. W innych systemach zreszta podobnie - nikt nie traci cennej pamieci niepotrzebnie :-)

J.

Zapisów bedzie mało. Potrzebuje to do trzymania danych kalibracyjnych, konfiguracji itp. zmienianych raz na 2 tyg. To kwestia wyłącznie wygody uzywania jak FS a nie jak kupki bajtów.

W dniu 2010-10-16 10:40 Sebastian Biały napisał(a):

FATu nie tykaj bo zaraz przyjdzie M$osft i zarząda opłat licencyjnych.

Oczywiście wiem ze trolluja patentami, dlatego interesuje mnie fat-like a nie fat. Rozumiem to jako coś równie prymitywnego jak fat. O dziwo jak szukam to nie ma. Może trzeba by zrobić od zera jakiś fs embedded na LGPL o małej sygnaturze i narzucie ;)

W dniu 2010-10-16 14:19 Sebastian Biały napisał(a):

W systemie Nut/OS

formatting link
poradzili sobie z tym tworząc system plików PHAT. ;) Bez problemu oczywiście obsługuje on zapis/odczyt plików z normalnej karty SD czyli jest FATo-kompatybilny.

Ale i tak dla obszaru 64KB to armata na muchy.

Patenty nie sa na jakies fragmenty systemu ? Nie FAT jako taki, ale jak zmiescic dluga nazwe w pozycji katalogu pamietajacej CP/M :-)

J.

W dniu 2010-10-16 14:29 J.F. napisał(a):

Yup, patent 5579517 dotyczył rzeczywiście tylko przechowywania długich nazw plików. No to spokojnie FAT12 można zrobić na pamięci 64KB.

Tak jak Sebastian chce to moze nawet i FAT8 :-)

J.

In the darkest hour on Sat, 16 Oct 2010 18:40:42 +0200, Sebastian Biały snipped-for-privacy@poczta.onet.pl> screamed:

Nie. Ale wystarczy, że skrócisz sobie długość numeru klastra do 8 bitów zachowując całą resztę. Zawsze można użyć ww przez Ciebie CP/M lub system plików rodem z C1541. Są do tego programy. :>

Wiem, ale to rekodzieło którego wole unikać jeśli jest jakis sprawdzony gotowiec.

Ja Atarowiec jestem :P

No to przeciez masz sprawdzony system ze 128/XL/65XE :-)

J.

Nie. No chyba ze uznac za taki CP/M, ale tam akurat FAT nie bylo, za to byly 8-bitowe numery klastrow.

Ale co za problem sobie zrobic ?

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required