-
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.
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
- 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?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-02 Silnik Stirlinga - energia mechaniczna wytwarzana z ciepła bez dostarczania paliwa!
- 2024-05-02 Kraków => Senior .Net Programmer <=
- 2024-05-02 Sprowadzenie pożaru zagrażającego mieniu w wielkich rozmiarch
- 2024-05-02 Zielona Góra => Spedytor międzynarodowy <=
- 2024-05-02 Katowice => Performance Analyst <=
- 2024-05-02 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-05-02 Gdańsk => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-02 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-02 Katowice => Java Developer <=
- 2024-05-02 'Studenci do nauki!'
- 2024-05-02 Dlaczego energia elektryczna jest droga i cały czas drożeje
- 2024-05-02 Dlaczego energia elektryczna jest droga i cały czas drożeje
- 2024-05-02 Dlaczego energia elektryczna jest droga i cały czas drożeje
- 2024-05-02 Wrocław => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-05-02 Łódź => Senior DevOps Engineer <=