-
Data: 2021-02-07 15:34:21
Temat: Re: Przenośny, uproszczony filesystem
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sunday, February 7, 2021 at 12:55:37 PM UTC+1, heby wrote:
> On 05/02/2021 19:42, M.M. wrote:
> > W jakim sensie to by miało być optymalne?
> Nie musi być optymalne. To tylko optymalizacja user/programista. Z
> jednej strony wszystko w jednym pliku pakowanym ZIPem, z drugiej strony
> milion plików w których user może coś pozmieniać i nieszczęscie gotowe.
> Taki "filesystem w pliku" pozwoli kosztem niewielkiego spadu wydajności
> uzyskać spójny zbiór danych w którym user grzebać nie będzie, nawet
> przypadkiem.
>
> To tak "baza danych" tylko że zamiast tabel w środku sa same bloby...
> obecnie mam właśnie taką emulację, na sqlite. Ale to jest zupełnie
> niepotrzebne, ponadto taki wirtualny filesystem, przy odrobinie wprawy,
> pozwalałby na częsciowe mapowanie plików w pamięć, czego bloby w sql nie
> potrafią.
Jakbym musiał zaimplementować ręcznie bliżej nie określone rozwiązanie, to
bym zrobił listę na dysku. Nie wydaje się to szczególnie trudne.
Takich kilka chaotycznych/zgrubnych i nie do końca przemyślanych wskazówek : By
trzeba
zdefiniować rozmiar węzła, nagłówek dla wolnego węzła, nagłówek dla pustego węzła i
nagłówek pliku. W nagłówku pustego byłby adres następnego pustego - czyli lista
wolnych
węzłów. W nagłówku pliku adres pierwszego pustego węzła, jeśli by wskazywał na koniec
pliku, to nowy węzeł można utworzyć na końcu pliku przez zwiększenie rozmiaru. Za
nagłówkiem
pierwszy węzeł pliku z informacją o systemie plików, czyli nazwa pliku i pierwszy
węzeł pliku i
może jakieś dane pomocnicze, jak np. długość pliku, suma kontrolna, może nawet dane
naprawcze - to już zależne od szczegółowych wymagań. Nagłówek węzła pliku by musiał
zawierać adres następnego węzła a może także adres następnego 10tego węzła, wtedy
seek dla długich plików zadziałałoby 10 razy szybciej. Zwalnianie węzła można zrobić
przez wpis do węzła danych z na nagłówka pliku o następnym wolnym węźle, a do
nagłówka
pliku przepisujemy informację o nowym pierwszym wolnym węźle.
Aby znaleźć plik, trzeba przeszukać listę systemu plików. Nazwy plików mogą być też w
danych pliku, a w liście systemu plików tylko funkcje skrótu nazw plików, to powinno
przyspieszyć wyszukiwanie.
Odczyt pliku to odczyt danych z pierwszego węzła i skok do drugiego węzła, potem
odczyt z drugiego i znowu skok do kolejnego.
Optymalizowanie tego, dostosowywanie tego do konkretnego rozwiązania, już takie
łatwe nie jest.
Pozdrawiam
Następne wpisy z tego wątku
- 07.02.21 19:04 heby
- 07.02.21 19:35 M.M.
- 07.02.21 20:03 M.M.
- 07.02.21 20:57 heby
- 07.02.21 21:19 M.M.
- 07.02.21 22:01 heby
- 07.02.21 22:53 M.M.
- 08.02.21 07:39 heby
- 08.02.21 11:08 M.M.
- 08.02.21 12:12 heby
- 08.02.21 14:24 M.M.
- 08.02.21 14:57 heby
- 08.02.21 18:35 M.M.
- 08.02.21 18:41 heby
- 08.02.21 19:47 M.M.
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-04-29 frankowicze odcinek NNN
- 2024-04-29 Warszawa => Specjalista ds. Cyberbezpieczeństwa <=
- 2024-04-29 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-04-29 Zielona Góra => Inżynier R&D Energoelektronik <=
- 2024-04-29 Warszawa => Google Ads Freelancer <=
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=