-
Data: 2023-02-16 14:35:09
Temat: Re: C++ ośla łączka
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thu, 16 Feb 2023 13:45:45 +0100, heby wrote:
> On 16/02/2023 12:46, Grzegorz Niemirowski wrote:
>>> Do tego, co piszesz, służa bariery/fence.
>> Możesz podać przykład na ATmegę?
>
> Nie. Bo mowa o C ogólnie. Szczególne dla AVR stosujemy sztuczki
> asemblerowe, nielegalne w danej sytuacji słowa kluczowe itd itp. Sam
> fakt użycia "przerwania" jest z definicji nieistniejącym bytem w C i
> wymaga poza-językowych narzędzi, bo sam język nie dostarcza wsparcia dla
> przerwań wiec trudno tez, aby dostarczał mechnizmy ich wspierania.
W standardzie jezyka niby nie ma, ale w praktyce czesto jest.
Widac potrzebne, tylko ze realizacja rózna w róznych systemach,
to nie wsadzili do jezyka.
>>> Jeśli potraktujesz przerwania jako wątki preemptive, to tak naprawdę
>>> piszesz o zagadnieniu dostępu do zmiennych przez kilka watków. Tego
>>> zagadnienia *NIE* należy rozwiązywać za pomocą volatile, ono nie
>>> powstało do tego i sie do tego NIE nadaje.
>> Wiem. Nic o wątkach nie pisałem.
>
> Mimo to przerwanie jest czymś identycznym z wątkiem preemptive. Ma te
> same konsekwencje i dla dużych procesorów, szczególnie wielordzeniowych,
> niesie z sobą dokładnie te same zagrożenia, co wątki. I nie jest tak, że
> świat kończy się na 8051. Wielordzeniowe procesory embedded to nic
> specjalnie dziwnego.
Wielozadaniowosc tez była różna w wielu systemach.
Stad i "nakładki" na języki.
> Tam, wszyscy programiści od volatile, wybiją sobie zęby o protokoły
> synchronizacji cache, out-of-order execution itd itp.
>
> PS. Zaznaczam, że nic nie pisałeś o AVR w poprzednim poście, wiec w
> ogólnym wypadku, volatile nie może i nie powinno być uzywane w celu
> synchronizacji zmiannych w przerwaniach. W szczególnym, kiedy znasz
> konkretną architekturę, być może.
Przeciez to nie tylko C ma ten problem.
Wiec jesli są rozwiązania dobre, to mozna je w i C zaimplementowac.
Tylko ... schowac pod volatile, czy osobno.
Bo problemow w zaawansowanych systemach istotnie coraz wiecej.
J.
Następne wpisy z tego wątku
- 16.02.23 15:23 Grzegorz Niemirowski
- 16.02.23 15:33 Piotr Gałka
- 16.02.23 15:37 J.F
- 16.02.23 16:05 Piotr Gałka
- 16.02.23 17:56 heby
- 16.02.23 18:01 heby
- 16.02.23 19:11 Grzegorz Niemirowski
- 16.02.23 19:22 Marek
- 16.02.23 19:27 Marek
- 16.02.23 19:56 heby
- 16.02.23 19:57 heby
- 17.02.23 02:28 JDX
- 17.02.23 02:35 JDX
- 17.02.23 07:17 Marek
- 17.02.23 09:18 heby
Najnowsze wątki z tej grupy
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
Najnowsze wątki
- 2025-07-19 Zakrzewo => SAP HCM Consultant <=
- 2025-07-19 Poznań => Konsultant SAP HCM <=
- 2025-07-19 Poznań => SAP HCR Consultant <=
- 2025-07-18 celnicy pobili policjanta
- 2025-07-18 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-18 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=
- 2025-07-18 Białystok => Kotlin Developer <=
- 2025-07-18 Warszawa => Sales Director (Cloud solutions) <=
- 2025-07-18 Spalinowa trauma
- 2025-07-18 Polska => Senior Key Account Manager <=
- 2025-07-18 Białystok => Programista Kotlin <=
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=