🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217366

Re: Przenośny, uproszczony filesystem

#217366
From: J-23
Date: Tue, 06 Apr 2021 17:41
193 lines
8923 bytes
W dniu 2021.04.06 o 18:01, heby pisze:
> On 06/04/2021 16:54, J-23 wrote:
>> Rozumiem doskonale i próbuje dać Ci podstawowe kroki od czego zacząć
> 
> Niezupełnie, podpowadasz na razie banały.
> 
>>> Omijasz podstawowy problem. Strukturę tego pliki "binarnego". 
>>> Skupiasz się na trzecirzędnych duprelach.
>> Taka strukture musisz sobie napisać
> 
> Tak, dokładnie.

Dobrze ze zacząłeś kumać przynajmniej to.

> 
>> dla przykładu VDI jest plikiem i on ma odpowiedni format który pozwala 
>> przechowywać obraz dysku tak? czy nie?
> 
> 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. Nie 
jest to 100% rozwiązanie Twoich problemów ale myśle że w dużym stopniu 
by Ci pokazało jak można iść dalej

>>> Nie, to nie jest róznica, dokładnie to chce uzyskać od samego początku.
>> Tylko po co?
> 
> Ponieważ rozwiazuje to jakies zagadnienia spójności danych.
> 
>>> No własnie, dlatego jest poza tematem. Ogólnie jeśli mam już bloki, 
>>> to abstrakcja zapisująca je do pliku jest mało istotną duperelą. 
>>> Skupiasz się na nieistotnym technicznie detalu.
>> Wlasnie ty się skupiasz na czymś co ci jest zbędne przynajmniej na 
>> obecnym etapie
> 
> Cała reszta to duperele ;)


Tylko Ci sie wydaje że to są duperele

> 
>> Zajrzyj w format VDI jak to jest zrobione. Nawet ten prosty parser w 
>> javie który podesłałem pokazuje że jest to plik o danym formacie.
> 
> Używasz słowa "format" tak ja by rozwiązywało wszelakie problemy :) A 
> potrafisz tym prostym parserem w javie odczytać *pliki* na *partycji* na 
> tym pliku obrazu dysku?
> 


bo koniec końców rozwiązuje Twoje problemy właśnie slowo "format" ale ty 
nie rozumiesz tego bo skupileś się na Filesystem

>>> Niejak nie pomagają mi w wyższej warstwie abstrackji typu "jak 
>>> trzymać pliki w tym pliku".
>> Każdy plik ma określoną strukturę. Znajac ja pisząc odpowiednia 
>> obsługe tej struktury mozesz ja czyta w dowolny sposb
> 
> Znowu banał. Tak, to wszystko jest oczywiste. "Znając odpowiednie klucze 
> można rozszyfrować transmisje.". Tak, to bardzo pomaga.
> 

Nawet nie starasz się zroumieć tego co czytasz. Szkoda bo to pogłębia 
problem zamiast go zmniejszać


>> Strumienie są tylko narzedziem za pomocą których napiszesz odpowiednią 
>> strukture tego co ma zostać przechowywane a nie celem samym w sobie
> 
> 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

>>> Dalej nie pojmuje co niby te strymienie mają mi dopomóc w problemie? 
>>> std::fstream i co dalej? jest jakis std::filesystem?
>> Jak napisałem wyżej one są tylko środkiem za pomocą którego napiszesz 
>> sobie odpowiednią strukture
>
> No tak, ale to oczywisty banał. Dalej nie rozumiesz że *znacząco* 
> większym prolemem jest ta struktura i to jest problem algorytmiczny a 
> nie pierdołowatych strumieni.


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 ma być filesystem, bo w API mowa o plikach a bie blokach na dysku.
>> o jakim api mówisz?
> 
> Moim.

O to dowiadujemy się o czymś zupelnie nowym :)

> 
>> Po drugie co to zmienia?
> 
> 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.

Poczytaj co to jest System plików bo mam wrażenie że gdzieś po drodze 
szukania rozwiązania problemu sie pogubiłeś
>> Ty masz mieć plik w którym będziesz sobie dowolnie mógł wykonywać 
>> operacje tj, czytanie/zapis/przesuniecie/obcięcie danych
> 
> Super, znowu banały. Tak, to wszystko mogę zrobić. Ale nijak z teo nie 
> wynika jaka algortmika stoi za stworzeniem, dzięki tym prostym 
> operacjom, wyższej warstwy abstrakcji jak "pliki".
> 


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?

>>>> Moja rada poczytaj o tym jak się konstruję formaty plików
>>> A jak się konstruuje formaty plików? Jest jakiś poradnik do tego?
>> poradnika nie ma. Ale są opisy formatu plików jak zobaczysz jak ne są 
>> napisane zlapiesz jak powinno się pisać dany format pliku
> 
> :D Przepraszam ale ja się pogubiłem. Istnieje jakiś *standard* robienia 
> formatów plików który mnie poratuje? Jakaś dobra szkoła która magicznie 
> rozwiąże moje problemy? Wow. Niestety to tak nie działa. Twój "format 
> pliku" to właśnie ten filesystem.


Pojecia "Format pliku" a "Filesystem" to są 2 różne pojęcia zrozum to.
> 
>> Mam gdzieś w swoich starych zasobach pisane chyba we FreePascalu 
>> opisany swój format pliku w którym przechowuje obiekty bazodanowe - tj 
>> DataSource/DataSet/Query
>> Moge je czytać jak chce ze środka pliku/ obcinać/dodawać itp
>> Jak chcesz mogę poszukać/wrzucić i sobie zobaczysz
> 
> Wrzuć.


Jutro postaram się wrzucić

> 
>>>> Pytanie czy da się strumieniami twoim zdaniem zapakować kilka plików 
>>>> do jednego pliku?
>>> Da się, ale nie da się potem na tym pracować. Zwiększ rozmiar 
>>> środkowego.
>> Bzdura że się nie da da się. A ty myślisz że jak to robią formaty 
>> które przechowują obrazy dysków?
> 
> Robią to używając innej wastwy abstrakcji niż fsream. Bingo, 
> Zrozumiałeś, że fstream to tylko jakaś duperela, kompletnie tutaj 
> nieistotna. Równie dobrze to może być kawałek RAMu albo nbd.
> 
>> Fakt jest jeden jest z tym masa pracy by to osiągnąć stąd proponuje 
>> użyć jakiegoś gotowego formatu by oszczędzić sobie pracy
> 
> O to to! Najlepiej "formatu pliku filesystemu".
> 
> Może problem polega na tym że traktujesz mnie jak idiotę i tłumaczysz że 
> programowanie polega na pisaniu procedur i używaniu fstream a resztę 
> magicznie dopisują wróżki? Jak byłbym wyjątkowo głupi, to bym filesystem 
> napisał samodzielnie. Obecnie mam już na karku kilka lat i zdaje sobie 
> sprawę z moich słabych kompetencji w tym temacie, więc pytam o radę. Nie 
> wykluczone że napiszę to samodzielnie, ale... doświaczenie podpowiada że 
> są lepsi ode mnie i dawno to zrobili.


Jakbyś chwile pomyślał to byś się zastanowił i napisał nam wszystkim 
czego ty tak naprawdę potrzebujesz. Bo Filesystem to

- Katalogi
- pliki
- uprawnienia
- dodawanie/usuwanie pliku/katalogu

itd

a mam wrażenie że tobie jest to zbędne po tym co opisujesz

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


Pozdrawiam
J-23
Technical Details
Message-ID: <606c9d47$0$522$65785112@news.neostrada.pl>
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!proxad.net!feeder1-2.proxad.net!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer04.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-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> <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>

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!proxad.net!feeder1-2.proxad.net!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer04.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-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> <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>
From: J-23 <Baczeklu@poczta.fm>
Date: Tue, 6 Apr 2021 19:41:28 +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: <s4i0k5$p2p$1@dont-email.me>
Lines: 193
Message-ID: <606c9d47$0$522$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 178.213.140.164
X-Trace: 1617730887 unt-rea-a-01.news.neostrada.pl 522 178.213.140.164:51057
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 8667
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit