-
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.
Następne wpisy z tego wątku
- 06.04.21 11:06 heby
- 06.04.21 11:22 Mateusz Viste
- 06.04.21 12:03 heby
- 06.04.21 16:54 J-23
- 06.04.21 17:08 J-23
- 06.04.21 18:01 heby
- 06.04.21 18:12 heby
- 06.04.21 19:41 J-23
- 06.04.21 19:57 J-23
- 06.04.21 20:08 heby
- 06.04.21 20:17 heby
- 06.04.21 21:01 J-23
- 06.04.21 21:32 J-23
- 07.04.21 08:43 heby
- 07.04.21 08:48 heby
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-14 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-05-14 Prowadzenie działalności za kogoś - to legalne?
- 2024-05-14 nieletni na plaży naturystów
- 2024-05-13 Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- 2024-05-13 Szczecin => Realtime (C) Software Developer <=
- 2024-05-13 ekran sie odspaja
- 2024-05-13 Wrocław => ERP Implementation Consultant <=
- 2024-05-13 Marki => Senior DevOps Engineer <=
- 2024-05-13 Białystok => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-13 Warszawa => Key Account Manager <=
- 2024-05-13 Warszawa => Senior Account Manager (on-site) <=
- 2024-05-13 Zielona Góra => Engineer R&D Energy Electronics <=
- 2024-05-13 Zielona Góra => Inżynier R&D Energoelektronik <=
- 2024-05-13 Zabrze => Junior HelpDesk <=
- 2024-05-13 Tusk zdecydowany jest zbudować nową Linię Mażinota!