🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217360

Re: Przenośny, uproszczony filesystem

#217360
From: J-23
Date: Mon, 05 Apr 2021 21:55
170 lines
7060 bytes
W dniu 2021.04.05 o 23:04, heby pisze:
> On 05/04/2021 20:27, J-23 wrote:
>>> Jesteś pewny że wiesz o czym mówisz ;) ?
>> Widać po twoich postach w tym wątku że próbujesz robić pewne rzeczy do 
>> okola
> 
> Tak, nie jest do zdecydowanie następna apliakcja do fakturowania.

Aplikacje do fakturowania są proste a i tak większość działa w "dziwny" 
sposób bo co program to inne podejście :)
> 
>> pytanie po co?
> 
> Zostało to wyjaśnione.

Nie zostało to jednoznacznie wyjaśnione nawet osoba która dużo 
dyskutowała z Tobą w tym wątku stwierdziła że cieżko się rozmawia bo nie 
odpowiadasz na pytania
> 
>> Moim zdaniem sięgasz zbyt głęboko. To co opisujesz według mnie da się 
>> prosto.
> 
> Więc jak?
> 

Możesz to zrobić na co najmniej dwa sposoby
1. Korzystając ze strumieni i pliku binarnego
2. Wykorzystując formaty tj VDI

https://www.arysontechnologies.com/blog/how-to-open-vdi-file/#:~:text=VDI%20or%20Virtual%20Drive%20Format,Windows%20and%20other%20operating%20systems.

wiele innych jest tego sporo tylko ta opcja druga jest moim zdaniem w 
Twoim przypadku na "wyrost"

Dostęp do źrodeł masz opisy formatu znajdziesz też w sieci

>> Słowa typu "ogarniam nawet random access"
> 
> Nie, to jest zwrócenie uwagi że "strumieniami" tego się nie ogarnia. To 
> się ogarnia random access na rzeczywistym pliku. Razem z trim i kilkoma 
> sztuczkami jak garbage collecting czy kompaktacja.
> 
>> z Twojej strony z tego co napisałem bo coś chcesz stworzyć ale sam do 
>> końca nie wiesz co
> 
> *DOSKONALE* wiem co.


Bez szyderstwa. Napisz więcej co to ma robić bo mam wrażenie że 
strzelasz z armaty do wróbla

> 
>> to ma być ale napewno nie będzie to nawet "wirtualny filesystem" jak 
>> to sam nazwałeś
> 
> Możesz się podeprzeć jakimś powodem, dlaczego to nie będzie wirtualny 
> filesystem?
> 
>> Chcesz budować Filesystem to pochwal się jak masz to ogarnięte do tej 
>> pory

Bo to co chcesz zbudować jest formatem pliku emulującym działanie 
systemu plików a to różnica

Napisałem już w pierwszym moim poście że musisz zbudować odpowiedni 
format pliku

Nawet przywołane przeze mnie VDI jest formatem pliku a nie systemem plików

> 
> Poczytaj wątek. Mam możliwosć schowania tego za abstrackją i aktualnie 
> używam database. Ale database jest marną emulacją.
> 

Po co ci Database? Armata na wróbla chociaż podejrzewam że będzie i tak 
bardziej wydajna niż to co stworzysz przynajmniej w pierwszych wersjach

>> lub podejrzyj jak to jest budowane np w kodzie open source przykładów 
>> w sieci jest sporo.
> 
> Bardzo dobra rada. Problem w tym, że kod do większości filesystemów jest 
> przesadnie zagmatwany aby można było wyłuskać z niego sensowne 
> abstrakcje. A wiele oglądałem. Najzwyczajniej, produkcyjne filesystemy 
> są optymalizowane a nie pisane po to aby je podziwiać.
> 

Teraz jak wiem o co ci chodzi to odpowiem tak. Przejrzyj formaty które 
to umożliwiają przechowywać obraz dysku np wspomniany przeze mnie VDI bo 
System plików będzie faktycznie mocno zagmatwany bo ty potrzebujesz 20% 
tego co w systemie plików jest zawarte

>> Popraw mnie jeśli się myle ale twoja próbka kodu ma za zadanie 
>> (posłużę się twoim nazewnictwem)
>> 1. Utworzyć FileSystem
>> 2. Zapisać jakieś dane
>> 3. Wysłać do urządzenia
> 
> Nie.
> 
> Ma pracować na 1 pliku, a w środku ma pozwalać na operowanie nieznaną 
> iloscią plikó wirtualnych, dynamicznie je tworząc, kasując, 
> powiększając, nadpisując. Mniej więcej to co robi normalny filesystem na 
> normalnym dysku.

Kluczowe pytanie do czego ci to potrzebne bo nadal przy tej "dawce 
wiedzy" będę sie upierał że wystarczą ci strumienie by to napisać

Strumienie nie dadzą rady w momencie gdy potrzebujesz z tego wycisnąć 
max wydajności

> 
> Mała uwaga: to nie to samo co zamontowanie ext4 na loop. To ma być 
> dynamicznie zmieniające rozmiar pliku rzeczywistego.
> 
> Najbliższy koncept z tej okolicy to np. qcow2.

https://formats.kaitai.io/vdi/java.html
> 
>> Tylko pytanie po co?
> 
> Odpowiedź padła w tym wątku.
> 

Dopiero teraz :)

>> Niby coś tam wyjaśniasz niżej ale ja nadal nie widzę po tych 
>> wyjaśnieniach powodu budowania własnego Filesystem
> 
> Bo nie przeczytałeś uważnie.

Przeczytałem tylko dopiero w odpowiedzi do mnie napisałeś to w jasny 
sposób ale nie ma o co się spierać
> 
>> Zamiast wykorzystać już jakieś gotowe rozwiązanie
> 
> Zasugeruj jakie. Nie znajduje gotowych rozwiązań poza workaroudami jak 
> bloby w db.
> 


Zasugerowałem format VDI lub zbuduj własny format co nie jest takie 
trudne jak zglebisz temat formatu plików pozwalający przechowywać obraz 
dysku.

Moim zdaniem błędnie się zasugerowałeś że to ma być FileSystem

>> Ale jeśli twoim celem jest budowanie systemu plików by upakować kilka 
>> plików w jedną strukturę jest pozbawione sensu bo to obecne systemy 
>> plików robią bez problemu
> 
> Interesujące, podrzuć jakiś filesystem który pakuje pliki do jednego 
> pliku i pozwala na ich dynamiczne używanie jednoczesnie kompaktując plik 
> fizyczny.

wspomniany tu przeze mnie VDI to robi ale mam wrażenie że ty i tak tego 
nie potrzebujesz.

Moja rada poczytaj o tym jak się konstruję formaty plików i odejść od 
myślenia (na tym etapie) od tego że to jest system plików

Pytanie czy da się strumieniami twoim zdaniem zapakować kilka plików do 
jednego pliku?

Zadaje to pytanie nie po by się z Ciebie nabijać tylko po to by 
zrozumieć czemu sądzisz ze pliki typu qcow2/vdi są systemami plików.



Pozdrawiam
J-23
Technical Details
Message-ID: <606b876c$0$517$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.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>
From: J-23 <Baczeklu@poczta.fm>
Date: Mon, 5 Apr 2021 23:55:56 +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: <s4fu13$s6b$1@dont-email.me>
Lines: 170
Message-ID: <606b876c$0$517$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 37.30.49.237
X-Trace: 1617659756 unt-rea-a-01.news.neostrada.pl 517 37.30.49.237:37394
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 6860
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit