-
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 12:12:26 +0100
Organization: A noiseless patient Spider
Lines: 52
Message-ID: <rvr6ar$sst$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>
<rvqmb3$dlt$1@dont-email.me>
<7...@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 11:12:27 -0000 (UTC)
Injection-Info: reader02.eternal-september.org;
posting-host="6d65b5dea5ea830f874d79f0ddf106aa";
logging-data="29597";
mail-complaints-to="a...@e...org";
posting-account="U2FsdGVkX19nsTnNYMWWdix+SuI8blnK"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.7.1
Cancel-Lock: sha1:2wY051m8WOe5NGawk5EfQZZ7fJw=
In-Reply-To: <7...@g...com>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.comp.programming:215360
[ ukryj nagłówki ]On 08/02/2021 11:08, M.M. wrote:
>> Wyobraź sobie dwa wątki: jeden dopisuje coś do wirtualnego pliku, a
>> drugi kasuje go.
> To jeszcze nic nie oznacza, może programista tak chciał?
To dopuszczalna sytuacja. fs ma być na nia gotowy.
> Ale generalnie
> na tym właśnie polega problem: kilka wątków pracuje na tych samych
> danych, zakładają że dane mają określoną wartość. Gdy jeden wątek dane
> zmodyfikuje, to pozostałe już pracują na błędnym założeniu. Dlatego
> robi się to co napisałem: jeśli jeden wątek zapisuje dane, to może
> pracować tylko ten jeden wątek, ale do odczytu może być dowolnie wiele.
Nieprawda. Jeśli jeden watek zapisuje jakas częśc pliku, inny może
zapisuwać inną część tego samego pliku. DB często tak robią.
Granulacja jest więc dokładniejsza niż 1 plik. Co oznacza w naiwnym
podejściu bardzo dużo muteksów na każdy kawałek pliku lub skomplikowany
mutex z emulacją submutexów.
Przypuszcam że w ogóle sytuacja że zapisujemy ten sam kawałek pliku
równolegle z dwóch wątków jest jak najbardziej dopuszczalna. Co najwyżej
będzie race condition na dane, ale sam plik będzie dalej poprawny z
punktu widzenia fs.
>> 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.
> Ale kto powiedział że jest takie zapewnienie?
W fs jest. Wątek A kasuje plik, wątek B czyta ten sam plik, wątek C
właśnie go otwiera. I nie ma race conditions na poziomie fs, tam dane są
spójne i stan jest atomowy.
> Jeśli dwa wątki zaczną
> czytać i pisać dane, to zepsują spójność danych w pliku, chyba że OS
> nie pozwoli otworzyć pliku do zapisu gdy jest może to spowodować
> utratę spójnośći.
To tak nie działa. POnadto rozróznijmy: race condition w aplikacji to
coś innego niż race condition w fs. W tym drugim przypadku masz taką
sytuację setki razy na sekundę w swoim PC.
>> 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.
> Może jest coś wartościowego?
> https://www.google.com/search?channel=fs&client=ubun
tu&q=systemy+plik%C3%B3w+literatura
Obawiam się czy aby nie jest tylko od strony użytkowej. Ogólnie
obejrzałem spisy kilkunastu książek z tego tematu i jak na razie nie
widzę nic o budowie wewnętrznej. Być może coś przeoczyłem.
Następne wpisy z tego wątku
- 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
- 06.04.21 10:58 heby
- 06.04.21 11:06 heby
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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??
Najnowsze wątki
- 2025-02-14 Zdalne załączanie grzałki bojlera elektrycznego
- 2025-02-14 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-14 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-02-14 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-02-14 Re: Dlaczego nie było (pełzającego) zamachu stanu? Bo minister Bodnar już "zawiesił" prokuratora Ostrowskiego
- 2025-02-14 e-paper
- 2025-02-14 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-14 Warszawa => International Freight Forwarder <=