eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPrzenośny, uproszczony filesystem › Re: Przenośny, uproszczony filesystem
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.or
    g!reader02.eternal-september.org!.POSTED!not-for-mail
    From: heby <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Przenośny, uproszczony filesystem
    Date: Tue, 6 Apr 2021 10:58:17 +0200
    Organization: A noiseless patient Spider
    Lines: 122
    Message-ID: <s4h7rd$n3v$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>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Tue, 6 Apr 2021 08:58:21 -0000 (UTC)
    Injection-Info: reader02.eternal-september.org;
    posting-host="76ac3790277d741921ae0d316a6d6019";
    logging-data="23679";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1+mR+UgFx4OIdU2ZbmYWGqX"
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
    Thunderbird/78.9.0
    Cancel-Lock: sha1:7Ptl2kaDu/yFG/P40M+TdDVM5xg=
    In-Reply-To: <606b876c$0$517$65785112@news.neostrada.pl>
    Content-Language: en-US
    Xref: news-archive.icm.edu.pl pl.comp.programming:215429
    [ ukryj nagłówki ]

    On 05/04/2021 23:55, J-23 wrote:
    >> Zostało to wyjaśnione.
    > Nie zostało

    Więc jeszcze raz: chciałbym kilka plików, któe generuje apliakcja,
    zawszeć w jednym. W przewieństwie do pakowania a'la zip, to ma być
    dostepne jak normalne pliki, czyli mogę do niczh coś dopisać, trimować,
    tworzyć i kasować.

    Unikam wtedy bałaganu w postaci katalogu z plikami, w których user może
    coś uszkodzić. Praktyka pokazała że to *krytyczne*.

    >> Więc jak?
    > Możesz to zrobić na co najmniej dwa sposoby
    > 1. Korzystając ze strumieni i pliku binarnego

    Omijasz podstawowy problem. Strukturę tego pliki "binarnego". Skupiasz
    się na trzecirzędnych duprelach.

    > 2. Wykorzystując formaty tj VDI
    > https://www.arysontechnologies.com/blog/how-to-open-
    vdi-file/#:~:text=VDI%20or%20Virtual%20Drive%20Forma
    t,Windows%20and%20other%20operating%20systems.

    To bardzo milutkie, ale to tylko 1/10 sukcesu. Co z filesystemem? Mam
    sobie skombinować skądś ext4 w wersji bez kernela?

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

    Ale to nie jest format zapisu plików, tylko format zapisu *dysku*.
    Brakuje tej warstwy o której mowa w temacie.

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

    Napisałem wyżej.

    >>> 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

    Nie, to nie jest róznica, dokładnie to chce uzyskać od samego początku.

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

    Świetnie:

    Pacjet: Panie doktorze co dalej?
    Doktur: Powinien pan wyzdrowieć, od tego proszę zacząć.

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

    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.

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

    Aby emulować filesystem w pliku na potrzeby unit testów.

    >> 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

    Formaty maszyn wirtualnych służa tylko do tego aby gołe sektory trzymać
    w jakiś mniej-wiecej optymalny sposób w jednym pliku.

    Niejak nie pomagają mi w wyższej warstwie abstrackji typu "jak trzymać
    pliki w tym pliku".

    > bo
    > System plików będzie faktycznie mocno zagmatwany bo ty potrzebujesz 20%
    > tego co w systemie plików jest zawarte

    Raczej 80%. Poza katalogami i atrybutami, ale oba to chyba jakieś mało
    istotne rzeczy.

    >> 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ć

    Nie, nie wystarczą. Aplikacja jest komercyjna.

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

    Dalej nie pojmuje co niby te strymienie mają mi dopomóc w problemie?
    std::fstream i co dalej? jest jakis std::filesystem?

    > 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.

    Ale to są tylko trywialne translatory blok wirtualny->pozycja w pliku +
    trim.

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

    To ma być filesystem, bo w API mowa o plikach a bie blokach na dysku.

    > Moja rada poczytaj o tym jak się konstruję formaty plików

    A jak się konstruuje formaty plików? Jest jakiś poradnik do tego?

    > 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.

    > 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.

    Nie sądzę tak.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: