eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingPrzenośny, uproszczony filesystem › Re: Przenośny, uproszczony filesystem
  • Data: 2021-04-06 10:58:17
    Temat: Re: Przenośny, uproszczony filesystem
    Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: