🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217368

Re: Przenośny, uproszczony filesystem

#217368
From: J-23
Date: Tue, 06 Apr 2021 19:32
188 lines
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-mail
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>

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