Article View: pl.comp.programming
Article #217368Re: Przenośny, uproszczony filesystem
From: J-23
Date: Tue, 06 Apr 2021 19:32
Date: Tue, 06 Apr 2021 19:32
188 lines
8519 bytes
8519 bytes
W dniu 2021.04.06 o 20:08, heby pisze: > On 06/04/2021 19:41, J-23 wrote: >>> Dla przykładu to ja mam zapisywać obrazy dysku czy pliki? No wiec >>> podpowiem: pliki. Dużo plików. Po co mi kontener na obrazy dysku tym >>> bardziej że jest trywialny (poza trim, ale do ogarnięcia)? >> Podałem przykład VDI bo on w duzej części rozwiązuje twoje problemy. > > Nic nie rozwiązuje. Ja w ogóle nie mam problemu z zapiem blokowej > struktury na dysku. To zupełnie nieistotne. Rozwiązuje i to dużo problem w tym że tobie nawet się nie chce poszukać źrodeł by zobaczyć jak to jest tam zrobione > >> bo koniec końców rozwiązuje Twoje problemy właśnie slowo "format" ale >> ty nie rozumiesz tego bo skupileś się na Filesystem > > To jedno i to samo. Filesystem okresla strukturę pliku. Masz tutaj swój > "format". > >> Nawet nie starasz się zroumieć tego co czytasz. > > Nic tam nie ma do rozumienia. Proponujesz użycie trywialnego kontenera > random access zorientowanego na bloki. > Bląd bo ja używam tego trywialnego kontenera do zbudowania "warstwy", "formatu", "filesystem" do ktora pozwoli Ci zapisać co chcesz i operować tym jak chcesz. A biorąc Twoje wymagania pod uwage opisane w odrębnym poscie tego wątku nie są one skomplikowane > Ja po drugiej stronie mam API plikowe. > > W środku jest czarna dziura. W dodatku skomplikowana, którą nazywasz > "formatem" - weź se napisz. No więc to nie jest trywialne. No i co tych plików nie możesz wpakować do tej struktury którą utworzysz? > >>> No tak, ale tłumaczysz komuś że procedury są tylko narzedziem do >>> zrobienia AI i dalej sobie powinien poradzić. >> Tlumacze że za pomocą strumieni musisz zbudować odpowiednia strukturę >> o czym pisałem już w pierwszym poście > > "Procedurami napisze Pan dowolne AI. Proszę". > >> A ty nie rozumiesz że Twój problem został dawno rozwiązany i klucza do >> niego nikt ci nie poda na Grupie Dyskusyjnej bo jest to złożony >> problem i chcąc się dowiedzieć jak to można rozwiązać musisz niestety >> babrać się w źródłach jakiegoś projektu > > To już rozwiązaniem nie jest plik z maszyny wirtualnej? Nie w 100% ale w 80% procentach masz w tym pliku gotowe roziwązanie wystarczy je zgłębić > > Po pierwsze, niekoniecze szukam gotowca. Literatura też się nada. > > Po drugie, nie doceniasz ludzi, którzy tutaj pisują. > >>> Moim. >> O to dowiadujemy się o czymś zupelnie nowym :) > > Nic dziwnego. Było to opisane w pierwszych paru linijkach pierwotnego > postu. > >>> Aby przejść z raw image dysku na pojęcie wirtualnych plików, trzeba >>> cioś więcej niż fstream. To "coś" to filesystem. >> Odkrywczy jesteś tylko nie wiesz ze mieszasz pojęcia. > > Obawiam się że nie mieszam. Mogę był głupi, ale akurat na tym się trochę > znam. Wbrew pozorom napisałem kilka rzeczy w życiu, były tem też proste > filesystemy. > Wiec co ci przeszkadza wykorzystać to doświadczenie lub nawet pokazać to co zrobiles do tej pory (mam na mysli te male filesystem) >> Poczytaj co to jest System plików bo mam wrażenie że gdzieś po drodze >> szukania rozwiązania problemu sie pogubiłeś > > To coś, co transluje API plikowe na API blokowe/clusterowe, w sensie > jakim chce go użyć tutaj. Pomijam FS sieciowe, nie mają tutaj zastosowania. > >> Wytłumacz może nam wszystkim po co ci tworzyć coś takiego jak >> "wirtualny plik" w swoim "wirtualnym systemie plikow"? Co ty budujesz >> symulator dysku? > > Napisałem to kilka razy. Napiszę ponownie: aby utrzymać spójnośc danych. > Na ten przykład wiele programów pakuje swoje małe pliczki do jednego > ZIPa czy tar.gz, zmienia mu nazwę i masz .foo. Wiec z czym masz problem z upakowanienem tego, z wielodostępem? Bo ja tak naprawdę widze jeden problem z wielodostępem bo wielodostęp jest zależny od systemu plikow na jakim sie plik znajduje i to jedyny problem jaki widze na teraz > > To ja chce wiecej. Chce móc na tym pracować, a nie tylko używać jako > storage. > Od kiedy nie można pracować na "pliku"? Możesz go wczytywać fragmentami możesz go wczytać w calosci (o ile ci starczy pamięci) i na nim pracować >> Pojecia "Format pliku" a "Filesystem" to są 2 różne pojęcia zrozum to. > > W tym przypadku niestety nie. > > Polecam konsultację z mount -o loop pod Linuxem, może zauważysz, że > *plik* mozna traktować jako nośnik filesystemu. Jego "format" staje się > wtedy filesystemem wprost. > A to kolego zależy już faktycznie od Filesystem a nie od mount. Twoj Filesystem już i tak będzie leżał na jakimś systemie plików - chyba że będziesz go zapisywał bezpośrednio na dysku (z pominięciem systemu plików) w co wątpie >> Jakbyś chwile pomyślał to byś się zastanowił i napisał nam wszystkim >> czego ty tak naprawdę potrzebujesz. Bo Filesystem to >> - Katalogi > > Zbędne. > >> - pliki > > Tak. > >> - uprawnienia > > Zbędne. > >> - dodawanie/usuwanie pliku/katalogu > > Tak, bez katalogu. > >> itd > To co jest plikiem a katalogiem to decyduje o tym znacznik w systemie plików Skoro tworzysz strukture od zera to co za problem taki znacznik zrobić > Niestety w itd znajduje się mięsko. O ile powyższe punkty mogę sobie > napisać, to zapominasz o: > 1) wielodostępie (a tym samym blokowaniu). Z watków (łatwe) i procesów > (łomatko!) Za to odpowiadać będzie system plików na którym będziesz trzymał swój FileSystem > 2) trim, aby nie puchło bez powodu Tutaj zależy jak zorganizujesz usuwanie elementów bo można to zrobić tak jak to robi np FB i będzie puchło a można usuwać konkretne bajty i nie będzie puchło wsszystko zależy od tego co chcesz osiągnąć > 3) garbage collecting aby nie puchło bez powodu > 4) kronikowaniu > Chcesz trzymać kronikowanie w tym samym pliku? Marny pomysł nawet partycje przechowują to oddzielnie > Innymi słowy internesuje mnie to "itd". Przykładowo, synchronizacja > międxzyprocesowa jest do ogarnięcia, ale idę o zaklad że zrobię to > niewydajnie. > Pierwsze wersje będa napewno nie wydajne ale musisz zacząć coś pisać a potem to optymalizować bo inaczej się zamotasz >> PS. Poszukaj w necie swego czasu byl dostępny opis FiieSystem Fat16 i >> może wtedy zrozumiesz różnice między formatem pliku a filesystem > > Nie przypuszczam aby FAT obsługiwał poprawnie trim i GC. I nie wiem czy > można go używać bez licencji (ktoś wie czy MS jeszcze grozi paluszkiem?). Trim jest to zwykle obciecie bajtów tyle to po pierwsze GC nie znajdziesz w żadnym systemie plikow bo ono jest gdzie inidziej to po drugie Po trzecie podałem przykład Fat16 zebys sobie zobaczył jak jest zbudowany a nie go używał Pozdrawiam J-23
Technical Details
Message-ID:
<606cb760$0$512$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin.stu.neva.ru!sewer!fdcspool4.netnews.com!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<rtpdik$cge$1@dont-email.me> <606a6d41$0$522$65785112@news.neostrada.pl> <s4elb8$cni$3@dont-email.me> <606b5698$0$542$65785112@news.neostrada.pl> <s4fu13$s6b$1@dont-email.me> <606b876c$0$517$65785112@news.neostrada.pl> <s4h7rd$n3v$1@dont-email.me> <606c7635$0$529$65785112@news.neostrada.pl> <s4i0k5$p2p$1@dont-email.me> <606c9d47$0$522$65785112@news.neostrada.pl> <s4i82d$l12$1@dont-email.me>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin.stu.neva.ru!sewer!fdcspool4.netnews.com!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: Przenośny, uproszczony filesystem Newsgroups: pl.comp.programming References: <rtpdik$cge$1@dont-email.me> <606a6d41$0$522$65785112@news.neostrada.pl> <s4elb8$cni$3@dont-email.me> <606b5698$0$542$65785112@news.neostrada.pl> <s4fu13$s6b$1@dont-email.me> <606b876c$0$517$65785112@news.neostrada.pl> <s4h7rd$n3v$1@dont-email.me> <606c7635$0$529$65785112@news.neostrada.pl> <s4i0k5$p2p$1@dont-email.me> <606c9d47$0$522$65785112@news.neostrada.pl> <s4i82d$l12$1@dont-email.me> From: J-23 <Baczeklu@poczta.fm> Date: Tue, 6 Apr 2021 21:32:48 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: <s4i82d$l12$1@dont-email.me> Lines: 188 Message-ID: <606cb760$0$512$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 178.213.140.164 X-Trace: 1617737568 unt-rea-b-01.news.neostrada.pl 512 178.213.140.164:60928 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 8368 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit