eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAtmega FAT karta SDRe: [OT] Atmega FAT karta SD
  • Data: 2011-05-07 21:38:04
    Temat: Re: [OT] Atmega FAT karta SD
    Od: Grzegorz Kurczyk <g...@c...slupsk.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 07.05.2011 21:35, J.F. pisze:
    > On Sat, 07 May 2011 21:01:48 +0200, Grzegorz Kurczyk wrote:
    >> 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.
    >
    > Trzy bajty ? Tak mi sie cos kojarzy.

    Na dyskietce DD mieściło się coś kole 1500 sektorów więc dwubajtowy
    wskaźnik wystarcza z duuuużym zapasem. Ale ma chyba Kolega rację z tym
    trzecim bajtem, tyle że on służył do zapamiętywania ilości ważnych
    bajtów w sektorze.

    >
    >> 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.
    >
    > chcialem jeszcze dodac ze wymaga dzielenia przez 126 czy 125 ..
    > ale w sumie nie - jak juz czytamy po jednym sektorze, to mozna i
    > odejmowac.
    >
    > podobny blad ma w sumie i fat - lista tez jest liniowa i trzeba
    > liniowo przeszukiwac. Tylko troche mniej czytania z dysku.
    > Ale jak ktos ma baze na kilkaset GB w jednym pliku na fat32 ..
    > niewesolo, jesli system sobie z tym nie radzi.
    > Unix jakos jednak lepiej przemyslany.
    >
    > A swoja droga .. jesli to eeprom przylaczony magistralowo, to w sumie
    > zadna roznica czy czytac dwa ostatnie bajty z kazdego "sektora" czy z
    > "sektora FAT"

    Przy magistralowej w zasadzie żadna, bo możemy operować na pojedynczych
    bajtach. W innym przypadku wypadałoby mieć dwa bufory lub wajhlować
    miedzy FATem a danymi. Tyle, że jak mamy swobodny dostęp do każdego
    bajtu pamięci masowej, to po co się bawić w system plików. To miało na
    celu sensownie obsługiwać urządzenia blokowe.

    >
    >> 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).
    >
    > no nie - wystarczy tylko poprawic te bitowa mape alokacji.
    > Ale .. trzeba wszystko przeczytac, zeby ustalic zwalniane sektory :-)

    O mapie bitowej pisałem w nawiasie, bo tak było w systemie dyskowym
    ATARI i tam wystarczało odznaczyć bity odpowiadające za sektory należące
    do kasowanego pliku. Ale na bitach nie da się zrobić listy liniowej ;-)
    a co za tym idzie i tak trzeba było przeczytać wszystkie sektory pliku
    aby wiedzieć które sektory trzeba zwolnić w mapie bitowej. W
    uproszczonej wersji systemu plików bez mapy bitowej trzeba zerować
    wskaźniki w każdym sektorze.

    Pozdrawiam
    Grzegorz

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: