-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
-for-mail
From: Adam Dybkowski <a...@4...pl>
Newsgroups: pl.comp.programming
Subject: Re: printf i wielozadaniowosc (MicroC/OS-II)
Date: Tue, 29 Sep 2009 22:46:22 +0200
Organization: http://onet.pl
Lines: 30
Message-ID: <h9trmt$mb6$1@news.onet.pl>
References: <h...@p...onet.pl>
NNTP-Posting-Host: aelb89.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1254257181 22886 79.191.27.89 (29 Sep 2009 20:46:21 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Tue, 29 Sep 2009 20:46:21 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
In-Reply-To: <h...@p...onet.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:183679
[ ukryj nagłówki ]Pszemol pisze:
> Rozumiem, że skoro wywołania fprintf'a z tasków dotyczą tego samego
> portu szeregowego, przekazanego fprintf'owi jako argument nazwy pliku
> (globalna zmienna) to może się coś kiepścić, i linie się będa przeplatać,
> ale nie rozumiem jak taski o niższym priorytecie mogły się wstrzelić
> z TRZEMA OSOBNYMI WYWOŁANIAMI fprintf'a w jedną linię tasku
> o wyższym priorytecie?
Może chodzi o to, że [f]printf wywołany z zadania o wysokim priorytecie
jest dzielony na wiele odrębnych zapisów do portu szeregowego (w
najprostszej implementacji będą to zapisy po jednym znaku) a system
operacyjny w oczekiwaniu na gotowość portu do przyjmowania kolejnych
znaków (zgłaszaną zapewne w przerwaniu portu szeregowego) oddaje po
prostu sterowanie zadaniom o niższym priorytecie gotowym do wykonania. W
gruncie rzeczy to chyba lepsze podejście (a nuż zadanie o niskim
priorytecie cośtam sobie liczy powoli w tle) niż aktywne oczekiwanie na
zwolnienie się miejsca w buforze nadajnika portu szeregowego. Czasem
przy wolnej transmisji i długim buforze sprzętowym (zależy od procesora
lub zewnętrznego układu UART) takie oczekiwanie byłoby długie - a tak w
tym czasie procesor może się zająć obsługą zadań o niższym priorytecie.
Aby uniknąć takiego mieszania się printf'ów, wystarczy objąć je
semaforem / mutexem czy co tam masz podobnego w tym systemie.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Następne wpisy z tego wątku
- 29.09.09 21:04 Jerry1111
- 29.09.09 22:06 Pszemol
- 30.09.09 13:25 Zbych
- 30.09.09 14:20 Pszemol
- 30.09.09 14:45 jotefka
- 30.09.09 15:25 Pszemol
- 30.09.09 18:43 Pszemol
- 30.09.09 20:35 DJ
- 30.09.09 21:09 Pszemol
- 01.10.09 18:10 J.F.
- 02.10.09 06:11 Artur M. Piwko
- 13.10.09 21:06 AK
- 13.10.09 21:34 Jerry1111
- 13.10.09 21:47 Pszemol
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-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=