-
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: Mon, 8 Feb 2021 07:39:31 +0100
Organization: A noiseless patient Spider
Lines: 55
Message-ID: <rvqmb3$dlt$1@dont-email.me>
References: <rtpdik$cge$1@dont-email.me>
<c...@g...com>
<rvokfn$1ff$1@dont-email.me>
<9...@g...com>
<rvpa3d$uf5$1@dont-email.me>
<3...@g...com>
<rvpgno$hnr$1@dont-email.me>
<e...@g...com>
<rvpkev$d2u$1@dont-email.me>
<b...@g...com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 8 Feb 2021 06:39:32 -0000 (UTC)
Injection-Info: reader02.eternal-september.org;
posting-host="6d65b5dea5ea830f874d79f0ddf106aa";
logging-data="14013";
mail-complaints-to="a...@e...org";
posting-account="U2FsdGVkX19qwHNGlQh9Qb2Ma/Jmmipb"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.7.1
Cancel-Lock: sha1:02D4ZHjBlTJpM2qf1165pwsDPeA=
In-Reply-To: <b...@g...com>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.comp.programming:215358
[ ukryj nagłówki ]On 07/02/2021 22:53, M.M. wrote:
> To dlaczego nie odpowiesz na pytanie: do czego potrzebujesz wiedzę o takich
> szczegółach synchronizacji wątków?
Ponieważ mutex w pamięci, dostarczany przez OS niekoniecznie jest tym
samym co "mutex" na plik (lock) zapewniajacy spójnośc dnych podczas
wielodostępu i defragmentacji w tle. Wymaga ręcznej implementacji, być
moze opartej o mutexy OSowe, a może niekoniecznie, a może w ogóle są
rozwiązania bez mutexa.
>>> koncepcyjnie to prosta sprawa
>> Tu mutex powinien być na "fragment" filesystemu.
> Tu czyli gdzie i dlaczego na fragment filesystemu? Co rozumiesz przez filesystem?
Na przykład na wirtualny plik w tym kontenerze.
Wyobraź sobie dwa wątki: jeden dopisuje coś do wirtualnego pliku, a
drugi kasuje go.
Można to rozwiązać za pomocą inodes, jak w linuxie. Albo za pomocą
mutexów "w filesystemie".
Oczywiście te "mutexy w filesystemie" to naiwny koncept. To mogą być
zwykłe mutexy w implementacji filesystemu, ale raczej nie będą.
> Transakcje nie są prostym lockiem
Bo transakcja to kiepskie słowo. W zasadzie nie ma dobrego odpowiednika
w DB zachowania filesystemu z kronikowaniem zapisywanego przez wiele wątków.
>>> zliczanie ile wątków przeszło przez jakąś barierę. Ale jaką techniką trzeba
napylić
>>> tranzystory
>> No wiec nie napylam tanzystorów.
> Dlaczego więc chcesz wiedzieć jak wewnętrznie działają mutexy?
Nigdzie nie napisałem że chce wiedzieć jak działają *normalne* mutexy,
bo to wiem. Interesuje mnie jak działa zapewnianie spójności danych w fs
które dla usera wygląda jak typowy zasób krytyczny pilnowany przez mutex.
>> Wszystkie fs majace defragmentacje - robią ją w
>> miejscu. Moe to zaprojektowc metodą garbage collectora z javy: stop the
>> world. Ale coś czuje że to znowu naiwny algorytm.
> GC zlicza odnośniki do alokowanych obiektów, gdy jest zero, to może zwolnić.
Wiem, ale GC nie pojawił sie tutaj jako odpowiednik 1:1 tylko jao zły
przykład "stop the world".
> Jaka jest optymalna struktura do takiego zliczania? Może jakieś drzewo
> zbalansowane i kolejka priorytetowa, a może naiwna liniowa tablica ma tak
> mały narzut że to właśnie ją się najbardziej opłaca stosować dla typowych
> aplikacji - nie wiem.
Potrzebuje literatury z teorii działania systemów plików. Wygdybać mogę
sobie cokolwiek, ale konkuruje z dziesięcioleciami eksperymentów ludzi
mądrzejszych ode mnie.
Następne wpisy z tego wątku
- 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.
- 08.02.21 20:33 Piotr Chamera
- 08.02.21 20:35 heby
- 05.04.21 03:51 J-23
- 05.04.21 11:30 heby
- 05.04.21 20:27 J-23
- 05.04.21 23:04 heby
- 05.04.21 23:55 J-23
- 06.04.21 00:31 J-23
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 <=