Article View: pl.comp.programming
Article #217365Re: Przenośny, uproszczony filesystem
From: heby
Date: Tue, 06 Apr 2021 16:01
Date: Tue, 06 Apr 2021 16:01
118 lines
6636 bytes
6636 bytes
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. > 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)? >> 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 ;) > 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? >> 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. > 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ć. >> 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. >> To ma być filesystem, bo w API mowa o plikach a bie blokach na dysku. > o jakim api mówisz? Moim. > 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. > 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". >>> 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. > 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ć. >>> 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.
Technical Details
Message-ID:
<s4i0k5$p2p$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!proxad.net!feeder1-2.proxad.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.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>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!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: Tue, 6 Apr 2021 18:01:04 +0200 Organization: A noiseless patient Spider Lines: 118 Message-ID: <s4i0k5$p2p$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> Mime-Version: 1.0 Injection-Date: Tue, 6 Apr 2021 16:01:09 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="76ac3790277d741921ae0d316a6d6019"; logging-data="25689"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ZjjXM50RCZb0AVS9VGKaQ" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 Cancel-Lock: sha1:ng+yGxTGJW5aPrbqObWI30G3N/c= In-Reply-To: <606c7635$0$529$65785112@news.neostrada.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit