Atmega FAT karta SD

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

Reply to
Grzegorz Kurczyk
Loading thread data ...

Zastanawiam się nad FS który nie musi być ani szybki ani wypasiony. Potrzebuje trzymać konfiguracje pewnego urządzenia i nie przejmować się zmianami firmware. To tylko taka wartwa abstrakcji. Więc każde rozwiązanie będzie dobre. Rzecz jednak w tym, że jesli już je zrobie to było by miło mieć "driver" do testowania pracujacy na normalnym, dużym OS (a więc np. fuse). Może pomyśle i coś naskrobie w LGPL w przyszłości. Rozwiązanie z listą jedno/dwu kierunkową jest ok i zapewne będę wlaśnie coś w tym guście implementował.

Reply to
Sebastian Biały

Klient go juz ma i uzywa, nawet chetnie :-)

Normalna inzynierska robota. Rozdzielczosc jakas i tak musi byc - cos jest zlego w dwusekundowej ? A ile KB ma pod unixem funkcja konwertujaca date na date .. czytalna dla czlowieka ? :-)

No fakt - nie pomysleli. Aczkolwiek .. to jednak komputer _osobisty_.

Ale to chyba nie zarzut do czesci dyskowej ? FAT jak najbardziej pozwala .. po odpowiednim poblokowaniu w systemie.

Taki mial byc. Jesli mam pretensje to dopiero od wersji 3.0 - faktycznie mogliby juz lepiej pomyslec.

po stronie czytajacego. Po stronie zapisujacego mozna pomyslec. Zalezy od specyfiki urzadzenia.

J.

Reply to
J.F.

FAT chyba wspierał 10ms ale nie wiem czy oprogramowanie miało dostęp tak po prostu. A upierdliwośc polega na tym ze kompilując plik nie wiadomo czy powstał z tego źrodła czy nie.

To charakterystyczny brak wyobraźni. 4 lata później Amiga miala system z preemptive multitaskingiem, gui i masą innowacji (acz fakt, bez praw dostepu). A "profesjonaliści" dalej kopiowali pliki z lewego na prawy panel na niebieskim tle czując że tak własnie *musi* być, bo jak by mialo byc inaczej?

Stop-the-world multithreading to jest rozwiązanie którym da się wszystko załatać. Cooperative/Mutexed multitasking to żaden multitasking tylko workaround ...

Reply to
Sebastian Biały

Trzy bajty ? Tak mi sie cos kojarzy.

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"

no nie - wystarczy tylko poprawic te bitowa mape alokacji. Ale .. trzeba wszystko przeczytac, zeby ustalic zwalniane sektory :-)

J.

Reply to
J.F.

Pan Sebastian Biały profesjonalnie opisał historię komputerów:

No i dzięki genialnej wyobraźni jej twórców Amiga podbiła światowe rynki. A tak bardziej poważnie -- to jednak IBM wykazał się dobrą wyobraźnią obstalowując taki a nie inny system do swojego hardware. Ja tam DOSa lubiłem i cieszyłem się, że mogę robić ze sprzętem co tylko zechcę.

Dalej kopiowali? Norton Commander powstał dopiero *sześć lat później*. I był jednym z lepszych wynalazków w zakresie interfejsu użytkownika. Do dzisiaj używanym (choć jest tyle innych sposobów kopiowania).

Reply to
Jarosław Sokołowski

Pomysły w niej zaimplementowane podbiły swiatowe rynki ... 10 lat później razem z *innowacyjnym* Win95 (przypominam, ze mam na myśli desktopy, jak by ktoś chciał sięgać kto pierwszy użył preemptive to niewyluczone że sięgnie aż do misji Apollo ...).

To raczej był ukłon w kierunku legacy-users którzy bez prompta CP/M nie potrafili pracować i mieli swoje "najlepsze na swiecie" aplikacjie "prawie dzialające na 8086 tylko trzeba je troche przepisać z 8080/z80". Zaproponowali system tani, modularny i "prawie" zgodny z pierdyliardem aplikacji. Kto by tego nie kupił?

:) Przecież mam na mysli że jak reszta świata zajmowała się poważnymi problemami to "profesjonaliści" dalej używali beznadziejnego klona CP/M ktory po 10 latach ewolucji z kawalka kodu do obsługi FAT i lini poleceń stal się kawalkiem kodu do obsługi FAT i lini poleceń o wyższym numerku i kolorowym programem do kopiowania z lewej na prawą.

PS. Ciekawostka: do dzisiaj nawet w Win7 jest edlin ...

Reply to
Sebastian Biały

Pan Sebastian Biały napisał:

Czy to "innowacyjnym" miało być ironią? Jeśli tak, to jakoś nie najmądrzej wyszło. Rok 1995 to mniej więcej wtedy, kiedy rozwój techniki pozwolił na sensowną realizację "takich pomysłów". Wcześniej to na desktopach można było to traktować jako zabawkę (miałem z takim systemem do czynienia, nie z Amigą, a z tym co przetrwał do dziś -- śmiechu warte).

Raczej w stronę mainfrejmiarzy i podobnymch. Mnie tam średnio obchodziło, czy tam wsadzili z80, 8080, 8088 czy jeszcze coś innego. Ważne, że można było skompilować program tak samo jak na dużym sprzęcie. I jak komputer miał 640kB RAMu, to znaczy, że tyle miał -- bo DOS zajmował niewiele.

No, kupowali przecież.

Jakież to były poważne problemy reszty świata?

Co w tym złego?

To przecież całkiem inny program.

To też źle?

Reply to
Jarosław Sokołowski

Możesz uzasadnić? Akurat to swierdzenie jest o tyle zabawne że np. preemptive-multitasking działa całkiem sprawnie na 8 bitowych mikrokontrolerach. Stwierdzenie że dopiero technologia z okolic Pentium mogła to pociągnąć jest bzdurą na co jest masa przykładów historycznych i współczesnych.

Rzecz w tym że na Amidze działało to bardzo dobrze. Na tyle że częśc ludzi zaczeła negować w ogóle ten ficzer, bo jak to, ich PC nie potrafią? To pewno jakaś ściema ... Jak na pierwszy desktop z takim ficzerem była to innowacja pełną gębą. Niestety nie miala CP/M prompt i

8 znaków na nazwę pliku więc nie była "profesjonalna". *Jedynym* problemem Amigi w okolicy multitaskingu było brak MMU co powodowało niestabilnośc systemu w przypadku uszkodzenia pamięci innego procesu, ale był to problem sprzetowy i trudno winić OS. Takie czasy, takie CPU.

Ale jak miał 4MB RAMU to miał 640kB ramu, nie? MS-DOS przodował na rynku systemów operacyjnych (a raczej api filesystemu z command line) które nie potrafily nawet do końca wspierać takich prymitywów jak pamięć skazując programy na rękodzieła i generując tym samym kilka rownoległych "standardów".

Multitasking. GUI. Abstrakcja sprzetu. Security. Itd.

Natomiast "profesjonaliści" odkrywali kolejne funkcje kradzonych NC i TP ...

W braku ewolucji? Nic :) Krokodyle tez podobno już nie bardzo chcą ewoluować. Osiągnęły *perfekcyjność*.

A potrafiłbyś pracować bez niego? Przecież MS-DOS nie oferował *nic* z narzędzi poza przeraźliwie prymitywną linią poleceń wyrwaną z koszmaru CP/M. Przecież MS-DOS to z grubsza tylko API prymitywnego filesystemu i command.com.

To tylko zabawny współcześnie kawalek historii pokazujący jak naprawdę wyglądały początki DOSa i z jakim g... musieli się użerać ludzie jedncześnie uważając to za jedyną drogę do przyszlości.

Reply to
Sebastian Biały

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.

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.

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

Reply to
Grzegorz Kurczyk

Pan Sebastian Biały napisał:

Mogę swoim widzimisiem i swoimi potrzebami. Jak procesor zajmował się jednym taskiem, to jedyne co mogłem sobie zamarzyć, to żeby zajmował się nim odrobinę szybciej. Innymi taskami bym mu niechętnie głowę zawracał. Podobnie z tak zwanym GUI. Jestem skłonny przyjąć (dla świętego spokoju), że na Amidze było rewelacyjne. Ale na tym z czym miałem wtedy do czynienia, czyli Macintosh i wczesne wersje Windows, było raczej gujowe. Do zabawy to się może nadawało.

Ja w życiu tej całej Amigi nie widziałem, tylko czytałem o niej. A i to głównie wtedy, gdy jej już nie było (gdzieś jeszcze przeczytałem, że przed wojną trawa była zieleńsza). Ale jeśli faktycznie nie miała prompta, to bym miał z niej marny pożytek.

Tak mniej więcej. DOS. Bo to co on uruchomił, to już mogło mieć różnie.

Ale tego właśnie się od niego wymagało -- możliwości załadowania i uruchomienia programu. Czego więcej wymagać na takim sprzęcie?

Dla równowagi podam, że Xeniksa też widziałem (na 8088). On to wszystko miał, co potrzeba. Nie, nie zachwycił mnie. W każdym razie mniej niż DOS.

No i dobrze. Ja się tym zająłem jak już to *przestało* być problemem.

Ja akurat nie miałem potrzeby korzystania z DOSa od jakichś dziesięciu lat, ale zdaje się, że jest jeszcze używany. Do tego, do czego się nadaje najlepiej. Dlaczego nie? Bity mu sparciały ze starości, czy co?

A jak mogłem inaczej gdy go jeszcze nie było?

Nadal nie widzę w tym niczego złego, że system do udostępniania zasobów komputera IBM/PC udostępniał jak należy zasoby komputera IBM/PC.

Myślałem, że jest potrzebny do jakichś skryptów patchujących. Kiedyś takie widziałem.

Reply to
Jarosław Sokołowski

Żal ci tego promila CPU na switchowanie zadań?

Ale przerwania już Cie tak nie bolą, nie?

Wobec tego możesz być świetnym celem dla developerów FreeDOS.

Ewentualnie należysz do wyznawców tezy że multitasking zajmuje 50% mocy procesora i jako taki powinien byc wyeliminowany ze współczesnych komputerów bo *nic* nie daje.

GUI było takie sobie. *Niektóre* rozwiązania OS byly wtedy rewelacyjne jak na desktop. Dzielone biblioteki, multitasking, abstrakcja sprzętu, przyzwoity shell, normalny filesystem, itd. Mniej więcej to samo co reszta świata PC wpatrzona w niebieskiego NC zobaczyła dopiero 10 lat później w postaci Win95.

Ja mówie że nie miała gównianego prompta CP/M a nie że nie miała w ogóle. Faktem jest jednak że czułbyś się jak w domu - miała "coś jak litery dysków".

DOS: "Masz tu hardware, ja tego nie kumam, jakieś pamięci, pierodły, sorry. A nie, czekaj, kumam co to dyskietka!"

To nie OS, to bootloader, choćby dlatego że:

Tego co na pozostalych komputerach o znacznie słabszych konfiguracjach. Czyli tego:

Czyli przesiedziałeś te najciekawsze chwile rozwoju informatyki użytkowej na klonie gównianego CP/M z ZX Spectrum potrafiącego tylko kopiować pliki?! O, to bardzo mi przykro...

To jest żaden agument. To że coś działa do dzisiaj nie znaczy że jest super. Do dzisiaj się pisze w COBOLu. Nie udowadniaj jednak że to świadczy o jego lepszości nad czymkolwiek, błagam.

W GUI. Ojej, ale nie było... no tak ...

Przeciez on NIC nie udostępniał. On w ogole nic o zasobach nie wiedział. To zaprzeczenie systemu operacyjnego. To tylko filesystem z API do niego i kilkoma duperelami. Do dzisiaj nie mogę uwierzyć że ktokolwiek nazywa to systemem operacyjnym. To obelga dla reszty OSów. Całe szczęście ze ktoś to nazywał Disk operating system - system operacyjny dysku. Bo mniej więcej tyle potrafił - sterować dyskietkami.

Reply to
Sebastian Biały

Użytkownik Jarosław Sokołowski napisał:

Nie. IBM wykazał się kunktatorstwem i nie poszedł drogą Amigi i Atari - nie zastosował procesora będącego jednoukładową implementacją PDP 11. Kto kojarzy architekturę PDP11 i M68K ten nie ma wątpliwości skąd Motorola wzięła ideę. Skoro PDP 11 (aka Mera 400) był trochę tańszy i trochę sprawniejszy od IBM 360 (aka Riad) to IBM nie mógł wypuścić komputera osobistego za dwa tysiące zielonych o mocy obliczeniowej większej od własnego minikomputera za pięćdziesiąt tysięcy zielonych. A

8086 miał za przodka 8080, ten miał za przodka 8008, na początku był 4004 - czterobitowy procesor do kalkulatora kieszonkowego HP odrzucony przez zamawiającego. Ale może za młody jesteś żeby takie szczegóły pamiętać? Konsekwencje odczuwamy do dzisiaj.

A czterysta sześćdziesiąt kilobajtów pamięci operacyjnej wystarczy każdemu do każdego zadania - powieś sobie tę sekwencję nad łóżkiem!

Reply to
invalid unparseable

Pan Sebastian Biały napisał:

Żal mi czegokolwiek na realizację innego zadania.

Nie, a czemy by miały?

Po diabła mi dzisiaj jakiś FreeDOS?

Przez 99% czasu mój komputer marnuje 99% zasobów. Ale to mnie *nic* nie kosztuje.

Czyli nic, co by mi *wtedy* mogło się przydać w komputerze.

Litery dysków mi zwisają. Ja mogę nawet uwierzyć, że tam wszystko było świetne. Tylko jakoś kurna nikt poważny nie chciał tego do niczego używać. Gdyby było inaczej, coś bym o tym wiedział.

...choćby dlatego, że takie były założenia.

To fajnie. Wymagano, potem życie wyeliminowało te "słabsze konfiguracje"

-- i nie ma problemu.

No tak, tylko kopiowałem całe życie pliki. Tam i z powrotem, tam i z powrotem, tam i z powrotem... Pownienem se już dawno Amigę kupić, to bym był gość!

No jasne. Trzeba zaorać i zrobić to od nowa na Commodeore.

Już się nie pisze od nowa, ale stare się utrzymuje, a czasem coś dopisuje. To świadczy o tym, że COBOL jest do tego dobry. Lepszy niż cokolwiek.

Bezskutecznie. Twardy i nieugięty jestem.

GUI miałem w Macintoshu, trochę później. Dziękuję za taką robotę.

Więc nie mógł tych skromnych zasobów potraktować jak pies ogrodnika. Nawet sam siebie nie mógł obronić -- zdaje się, że Novell tak startował, że z tego DOSa nic w pamięci nie zostawało.

Szczerze mówiąc, to też mnie dziwi, że ludzie nie widzą podstawowych różnic i próbója porównywać rzeczy nieporównywalne. Ani DOS nie miał ambicji bycia *Systemem Operacyjnym*, ani System (Apple Macintosch). Ale za to *pracowały* przy tych zadaniach, do których zostały stworzone. To co siedziało w tych wszystkich Atari czy Amigach można zaliczyć do tej samej kategorii co na przykład wszelkie uniksy, ale z praktycznego punktu widzenia, to zabawki były. Coś jak enerdowski zestaw Mały Gorzelnik ze Składnicy Harcerskiej wobec Polmosu Lublin. Albo nawet wobec bimbrowni pana Mietka.

Reply to
Jarosław Sokołowski

Pan Dariusz K. Ładziak napisał:

Całe szczęście. Ile dzisiaj stoją akcje Commodore i Atari? Wiem, IBM też już nie taki jak kiedyś, ale jednak...

Jeśli czegoś nie pamiętam, to raczej z innych powodów.

Jarek

Reply to
Jarosław Sokołowski
Reply to
Marcin Wasilewski

Pan Marcin Wasilewski napisał:

A "Sonda" to nawet miała grafike robioną na ZX Spectrum.

Strasznie wielkie były wtedy wszystkie te agencje. To wynik polityki wiodącego producenta hadware, który nie chciał sprzedawać pojedynczych sztuk komputerów.

Co z tego, że są, skoro nikt ich nie używa? (Ja znam jeden taki, ale na Atari/ST).

I od tego czasu przeżywamy wielkie załamanie wśród stacji telewizyjnych, telewizji kablowych i agencji reklamowych.

Jarek

Reply to
Jarosław Sokołowski

Bo przerwania to jedna z prymitywnych form multitaskingu.

Ba, znam ciągle ludzi którym to nic dalej wydaje się jedyną drogą do przyszłości. Gotowi oni umrzeć z hasłem że 8+3 znaki w nazwie było genialnie przymyslanym ruchem marketingowym a multitasking to wytwór diabła. Wtedy tez im się tak wydawało pomimo że wielu z nich twierdzilo że CP/M to przezytek :)

Już mowilem. "Pofesjonaliści" byli właśnie zajęci kopiowaniem z lewa na prawo zakładając że to szczyt możliwości komputera a rozwój polega na jeszcze szybszym kopiowaniu.

Disk Operating System. Raczej powinno to brzmieć Stupid Bootloader with Useless Command Prompt.

Pod DOSem to była jedyna funckja systemu operacyjnego.

Nie, przykład z Amiga pokazuje ze reszta świata była o eniony w rozwoju za MS i jego bootloaderem. Równie dobrze mogłeś wziąść coś z unixem.

Nie, to byli idioci w sensie marketingowym. Lepiej niech dalej leżą zakopani.

:D

Cięzko mi znaleźć logiczny tok rozumowania w tym stwierdzeniu.

Macintosh był mocno toporny wbrew różowym opiniom entuzjastów Apple.

Hmmm uwsteczniasz definicję OS do czasów lat 70-tych.

Więc to nie tylko był bootloader ale strasznie gówniany bootoloader zakładając że procesory x86 dawały radę wprowadzić już jakieś ogracznienia w tamtych czasach z okolic security.

Jak to nie, na pudełku pisalo że jest.

Jesli zadania sa tak trywialne jak kopiowanie plików to nic dziwnego że nawet MS dal radę .... odkupić go do Patersona.

Reply to
Sebastian Biały

Ale to byl system z duuuzym rozmachem, moze mysleli i o wiekszych.

Faktycznie chyba tak.

A jesli kolega potrzebuje tam kilka "plikow" umiescic ? cztery zestawy danych konfiguracyjnych, trzy logi przyrastajace w czasie pracy .. i jeszcze udostepnic je dla peceta ..

P.S. OBEX - system wymiany plikow, bez okreslania formatu dyskowego. Aczkolwiek na pececie oprogramowany tak sobie.

J.

Reply to
J.F.

Dnia 08-05-2011 o 07:27:57 Sebastian Biały snipped-for-privacy@poczta.onet.pl> napisał(a):

Zapominasz albo przemilczasz o jednej zasadniczej zalecie dos-a, poza kopiowaniem można było uruchamiać tam programy :) a siłą tego systemu była wsteczna kompatybilność z CP/m -em gdzie na zachodzie było mnóstwo programów użytkowych. I mimo że PC wychodził z fabryki goły to ludzie/firmy to kupowały i pracowały na tym. Amiga/atari i inne to były zabawki, były na to tylko gry i dlatego tak skończyły.

Reply to
janusz_kk1

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.