🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217371

Re: Przenośny, uproszczony filesystem

#217371
From: heby
Date: Wed, 07 Apr 2021 11:40
113 lines
6662 bytes
On 07/04/2021 12:25, J-23 wrote:
> Tak sie składa że na codzień pracuje na plikach które mają fizycznie 
> ponad 100 GB i jakoś nie mam dylematow jak Ty

Otóż to.
- Jakie Pan ma kwalifikacje na lekarza?
- Żyje od 40 lat i dobrze mi to wychodzi

> To znajdziesz jak w 80% napisać taką strukture ale podobno znasz ten 
> format wiec jak to jest? Znasz czy nie?

Tam są wie rzeczy: struktura zapisu bloków symulowanego dysk tak, aby 
plik mógł rosnąc i redukować dynamicznie.

To załatwia VM.

I jest nastepna warstwa, to filesystem w systemie gościa.

Maszyna ma w nosie co gość robi z emulowanym dyskiem i jaki ma na nim 
filesystem. Ona tylko emuluje urzdzenie blokowe.

Innymi słowy maszyna wirtualna zajmuje sie tą łatwijeszą częscią.

> To że byly komercyjne nie znaczy że wiedza ci po nich nie pozostała i 
> nie możesz na tej wiedzy bazować. To co napisałeś brzmi "wiem jak dziaja 
> filesystem ale nie moge tej wiedzy wykorzystać bo korzystalem z niej 
> komercyjnie w projekcie" Smiech na sali :)

Nie rozmuiesz. Prosty FS mogę sobie napisać. Pliki, duperele.

Prawdziwe ciekawoski kryją się w lockach, wielodostepie, kronikowaniu, 
GC i trim, translacji bloków w tle.

>> Spróbuj odczytać "fragment" pliku ZIP, popracować w pamięci i zapisać 
>> ponownie w środku, o innej długości (bosię inaczej spakował). Daj 
>> znać, jak poszło.
> Nie rozumiesz że to co ty nazywasz plikiem to dla pamieci jest takim 
> samym blokiem pamieci jak wszystko inne

I ma takie same problemy jak trzymanie pliku ZIP w pamięci i operowanie 
na nim w realtime. ZIPy to nie filesystemy tylko storage. Pakuje się raz 
i koniec.

>> Widać że nie masz sladu pojmowania o czym mowa. Wyobraź sobie 
>> std::vector i dwa wątki. Czyje zadanie jest zrobić synchronizacje? 
>> Kontrolera pamięci, który nei ma pojęcia o atomowości operacji, czy 
>> programista?
> Widać masz za małe doświadczenie na wątkach... trudno nie będe Ci tego 
> tlumaczył bo znowu nie zrozumiesz i stwierdzisz że nie o tym mowie co ty 
> uważasz

No więc synchronizacje std::vector rozwiązuje kontroler pamięci czy 
algrotym programu? Analogia wielodostępu do pliku wręcz idealna.

> Znowu kłania się brak wiedzy o wątkach

Ale nie odpowiedziłeś na pytanie. Kto gwarantuje spójnośc danych w 
pliku, jesli dorywaja się do niego dwa procesy na raz. Mówje o spójności 
tego mitycznego "formatu" który ma byc rozwiązaniem wszelakich problemów.

> Zastanów się i odpowiedz na jakim to ma środowisku działać bo raz 
> piszesz że nie ma to większego znaczenia a drugi razem piszesz o 
> operacji na wątkach.

Struktura ma być odporna na wielodostęp. Inaczej: dowolna operacja na 
pliku wykonana w procesie A ba być widoczna spójnie w procesie B. 
Gwarantuje to *prawie* każdy filesystem.

>> Konkretne bajty można usuwać z pliku? Owszem, jest pojęcie "pliku z 
>> dziurami" na Unixach, ale to nie działa jak myslisz.
> To działa jak myśle tylko tyle że sama operacja trim nie zalatwia ci 
> sprawy jak ty myslisz tutaj są potrzebne dodatkowe operacje o ktorych ty 
> nie zdajesz sobie sprawy

:D

>> Zabawne. Bo tak nie jest. Mój plik fizyczny to taka "partycja", tylko 
>> że zamiast bycia kawałkiem dysku, jest całym plikiem. I jeszcze raz: 
>> kronika trzymana jest w środku partycji. Przynajmniej w popularnych fs 
>> które znam.
> Trzymana na partycji. Jesteś pewien? Otóż takie pytanie to po co te 
> kroniki są i co w wypadku uszkodzenia partycji? Pomyśl chwile

Nic. Do kosza. Kronikwanie nie słuzy do ratowania dupy w przypadku padu 
fizycznego dyku/partycji. Pomyliłeś z RAID.

> Bo teraz gadasz głupoty z rozpędu lub nie wiesz do czego te kroniki sluza

Wydaje mi się że wiem dostatecznie. Podpowiem Ci: do poprawiania 
miękkich błedów, takich jak nieoczekiwane znikniecie zasilania. Dzięki 
kronikom można okreslić jakiś poziom pewności, że sekwencyjny zapis 
zadziałał w przewidywalny sposób, a nie wynikajacy z przypadku ułożenia 
cache dysku lub tego że flash nie zdążył się na czas skasować.

>>> Pierwsze wersje będa napewno nie wydajne ale musisz zacząć coś pisać 
>>> a potem to optymalizować bo inaczej się zamotasz
>> Bzdura.
> A to Ciekawe od ręki wiesz ze to co piszesz jest super optymalne. 
> Gratuluje :)

Zabieranie się za robotę a potem "optymalizowane" uważam za żałosne 
podejście studenta na zaliczenie. Najpier należy zdobyć wiedzę, potem 
pracować wiedząc co czyniąć.

>> No ale ja wiem jak jest zbudowany. Nijak to nie rozwiązuje tych 
>> problemów z twojego zakresu "itd" które tak usilnie starasz się 
>> ignorować.
> Dziwne nagle Filesystem nie rozwiązuje tego co chcesz.

To proste, mistrzu. Twój plik z maszyny wirtualnej to nie filesystem. 
Więc nie rozwiązuje problemów. Twoje "zrób se pliki" nie rozwiązują 
problemów, bo magia jest w "itd" które zgrabnie pomijasz mocą swojej 
ignorancji.
Technical Details
Message-ID: <s4k5mo$s8u$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.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> <606cb760$0$512$65785112@news.neostrada.pl> <s4jka0$6mq$1@dont-email.me> <606d8889$0$505$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Przenośny, uproszczony filesystem
Date: Wed, 7 Apr 2021 13:40:03 +0200
Organization: A noiseless patient Spider
Lines: 113
Message-ID: <s4k5mo$s8u$1@dont-email.me>
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> <606cb760$0$512$65785112@news.neostrada.pl> <s4jka0$6mq$1@dont-email.me> <606d8889$0$505$65785112@news.neostrada.pl>
Mime-Version: 1.0
Injection-Date: Wed, 7 Apr 2021 11:40:08 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="fc52561ab989c93b6145f9a414b6ed9f"; logging-data="28958"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX192sPOfTh7l2KYXdH2a/BAy"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0
Cancel-Lock: sha1:MwLcgtci1cb+F6ZSJvc1dh6hUVo=
In-Reply-To: <606d8889$0$505$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit