W dniu 07.05.2011 20:22, Sebastian Biały pisze:
Jeśli potrzebny jest tylko sekwencyjny odczyt i zapis bez częstego używania seek, to może coś w stylu uproszczonego systemu plików z ATARI800XL ? Nie było tam tablicy alokacji zbiorów, tylko prosta lista jednokierunkowa. W pozycji katalogu był wskaźnik na pierwszy sektor pliku, a ostatnie dwa bajty każdego sektora były wskaźnikiem następnego sektora. Ostatni sektor miał wskaźnik 0xffff. Rozwiązanie proste jak budowa cepa :-) Zalety: mała ilość zasobów (nie trzeba pamiętać sektora FAT), przy małych zasobach prędkość odczytu trochę szybsza niż przy FAT. Wady: Przy zapisie wolny sektor musi być poszukiwany sekwencyjnie na podstawie ostatnich bajtów 0x0000 (w ATARI była dodatkowa bitowa mapa zajętości sektorów). Wykonanie seek do przodu wymaga w zasadzie sekwencyjnego odczytania kolejnych sektorów pliku aż dojdziemy do zadanej pozycji wskaźnika pliku. Seek do tyłu wymaga wycofania się do pierwszego sektora pliku i dalej jak w przypadku seek do przodu. Skasowanie pliku wymaga wyzerowania wskaźników we wszystkich sektorach należących do pliku (czyli trwa ponad dwa razy dłużej niż przeczytanie całego pliku).
Pozdrawiam Grzegorz