Article View: pl.comp.programming
Article #217346Re: Przenośny, uproszczony filesystem
From: heby
Date: Mon, 08 Feb 2021 06:39
Date: Mon, 08 Feb 2021 06:39
55 lines
4052 bytes
4052 bytes
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.
Technical Details
Message-ID:
<rvqmb3$dlt$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mailReferences:
<rtpdik$cge$1@dont-email.me> <cff484ae-3bf8-4cec-bbb7-78e44cb70167n@googlegroups.com> <rvokfn$1ff$1@dont-email.me> <90a1ad63-9675-4233-b822-808a7c17cbc7n@googlegroups.com> <rvpa3d$uf5$1@dont-email.me> <3ed1a847-2f93-4108-8985-2afae9b3b897n@googlegroups.com> <rvpgno$hnr$1@dont-email.me> <e8d86917-8e4c-4624-b8ae-67b82f80591cn@googlegroups.com> <rvpkev$d2u$1@dont-email.me> <b01525e0-6d35-48d8-ad1c-c9938aca307bn@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: heby <heby@poczta.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> <cff484ae-3bf8-4cec-bbb7-78e44cb70167n@googlegroups.com> <rvokfn$1ff$1@dont-email.me> <90a1ad63-9675-4233-b822-808a7c17cbc7n@googlegroups.com> <rvpa3d$uf5$1@dont-email.me> <3ed1a847-2f93-4108-8985-2afae9b3b897n@googlegroups.com> <rvpgno$hnr$1@dont-email.me> <e8d86917-8e4c-4624-b8ae-67b82f80591cn@googlegroups.com> <rvpkev$d2u$1@dont-email.me> <b01525e0-6d35-48d8-ad1c-c9938aca307bn@googlegroups.com> Mime-Version: 1.0 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="abuse@eternal-september.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: <b01525e0-6d35-48d8-ad1c-c9938aca307bn@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit