Strona g?ówna Artyku?y News distortos ma ju? rok!

Menu g?ówne

distortos ma ju? rok!
Ocena użytkownikĆ³w: / 0
SłabyŚwietny 
Wpisany przez Freddie Chopin   
Czwartek, 23 Lipiec 2015 22:11

Min?? ju? rok i jeden dzie? od momentu w którym rozpocz??em tworzenie projektu swojego w?asnego RTOSa. Projekt distortos wci?? si? rozwija i - na chwil? obecn? - ma ju? 1542 commity. Wzgl?dem poprzedniego newsa pojawi?y si? zasadniczo tylko dwie nowe rzeczy, cho? obydwie s? bardzo rzadko spotykane w innych RTOSach. Jedna to klasa OnceFlag wraz z funkcj? callOnce() - czyli odpowiedniki klasy std::once_flag i funkcji std::call_once() ze standardu C++11 lub struktury pthread_once_t i funkcji pthread_once() z <pthread.h>.

Drug? nowo?ci? jest implementacja funkcjonalno?ci POSIXowych sygna?ów. Sygna?y mo?na obs?ugiwa? zarówno poprzez synchroniczne oczekiwanie - przy u?yciu funkcji ThisThread::Signals::wait(), ThisThread::Signals::tryWait(), ThisThread::Signals::tryWaitFor() oraz ThisThread::Signals::tryWaitUntil() - jak i poprzez asynchroniczne handlery sygna?ów - u?ywaj?c funkcji ThisThread::Signals::setSignalAction(). Zgodnie z przyj?tymi standardami, "dor?czenie" sygna?u powoduje przerwanie niektórych funkcji blokuj?cych (np. Semaphore::wait() albo MessageQueue::pop()), które zwróc? wtedy kod EINTR. Patrz?c od drugiej strony - czyli "?ród?a" sygna?u - mo?liwe jest zarówno "generowanie" (ThreadBase::generateSignal()) jak i "kolejkowanie" sygna?ów wraz z warto?ci? (ThreadBase::queueSignal()). Sygna?y mo?na oczywi?cie maskowa? i ignorowa?.

Wszystko to jest mo?liwe - wci?? - bez u?ycia nawet jednego bajtu pami?ci alokowanej dynamicznie! W przypadku tworzenia "statycznych" w?tków (obiektów klasy StaticThread) konieczne jest zadeklarowanie czy w?tek ten w ogóle przyjmuje sygna?y, ile sygna?ów mo?e by? dla niego maksymalnie zakolejkowanych i ile ró?nych SignalAction mo?na u?y? w nim jednocze?nie.

Stay tuned!

???  ??? ?????? ??????? ??????? ???   ???
???  ??????????????????????????????? ????
???????????????????????????????? ??????? 
??????????????????????? ???????   ?????  
???  ??????  ??????     ???        ???   
???  ??????  ??????     ???        ???   

??????? ?????????? ????????????  ??????????  ?????? ???   ???
???????????????????????????????  ??????????????????????? ????
???????????????????   ???   ???????????  ??????????? ??????? 
???????????????????   ???   ???????????  ???????????  ?????  
??????????????  ???   ???   ???  ??????????????  ???   ???   
??????? ??????  ???   ???   ???  ?????????? ???  ???   ???   

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:::::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::::::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::::::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::::::::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::::::::MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:::::~~:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:::~?~:MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM::~~?~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM:~?~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD++++7ZDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM+++I7$Z$I?++++MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM+++++++++++++++MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM++++++++++++++OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM++++++++++++++MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM+++++++O+++++OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM+++?7+O?I++I+8MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM+++?????I++ONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM+++?????O++ZNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM++???????ZO?MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM7+??????????MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO??????????MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO??????????MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO??????????MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO??????????MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZ??????????MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZ??????????OOOOOOOO8NMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMM?,,,,,,,,,,,,,,,$??????????,,,,,,,,,,,,,,,,,,,,7DMMMMMMMMMMMMMMM
MMMMMMMMM8$,,,,,,,,,,,,,,,,,,,,:$??????????:,,,,,,,,,,,,,,,,,,,,,,,,MMMMMMMMMMMM
MMMMM~,,,,,,,,,,,,,,,,,,,,,,:=+?O??????????I?=~:,,,,,,,,,,,,,,,,,,,,,,=MMMMMMMMM
MMMD,,,,,,,,,,,,,,,,,,,,,,,,:=+?I$Z??????87I?=~:,,,,,,,,,,,,,,,,,,,,,,,,MMMMMMMM
MMM,,,,,,,,,,,,,,,,,,,,,,,,,,,,:~==+++++==~:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,DMMMMMM
MMM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMMMMM
MMM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8MMMMM
MMM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMMMM
MMM+,,,,,,,,~DD8O,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMMMM
MMM+,,,,,,,,DZZZZ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMMMM
MMM+,,,,,,,$DZZZZ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMMMM
MMM7,,,,,,,DOZZZZ,,,,,,,,,,,,,,,,,,,,,,,~DDDDD8,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMMMM
MMMD,,=DOOZZZZZZZ+,,,,,,,,,,,DDD~,,,,,,DDZZZZZZZZ?,,,,,,,,,,,,,,,,,,,,,,,,,MMMMM
MMMM8DZZZZZZZZZZZZ,,,,,,,,,,D8ZZZD,,,=DOZZZZZZZZZZ8,,,,,,,,,,,ZNNNNN,,,,,,IMMMMM
MMMNOZZZZ88888ZZZZO,,,,,,,,ODZZZZZZDDZZZZZZZZZZZZZZZ,,,,,,,,,,DNNN8888,,,,OMMMMM
MMM8OZZZZ8888ZZZZZO,,,,,,,DDZZZZZZZZZZZZZZZZZZZZZZZZZ,,,,,,,,ONNND88888,,,DMMMMM
MMMDOOZZZZZZZZZZZZ$8,,,,D8OZZZZZZ888ZZ8888ZZZZZ8888OZZ8,,,,,7NN888888888O:MMMMMM
MMMMOOZZZZZZZZZZ$$$$$$$$$$$$$ZZZZ8888O888ZZZZZO88888ZZZZZZ8D8888888888888MMMMMMM
MMMMDOZZZZZZZZZZ$$$$$$88$$$$$$ZZZZZZZZZZZZZZZZZZ88888ZZZZZZO8888888888888MMMMMMM
MMMMMOOZZZZ88888$$$$$$8O$$$$$$ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ8888888888888MMMMMMM
MMMMMNOZZ888888ZZ$$$$$$$$$$$$ZZZZOZZZZZZZZZZZZZZZZZZZZZZZZZZ8888888888888MMMMMMM
MMMMMMOZZ8888OZZZZ$$$$$$$$$ZZZZZ8OZZZZZZZZZZZZZZZZZZZZZZZZZ88888888888888MMMMMMM
MMMMMMOZZZ88OZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ888888888888NMMMMMMM
MMMMMNOZZZZZZZZZZZZZZZZZZZZZZZZO888ZZZZ88888ZZZZZZZZZZZ88888888888888888MMMMMMMM
MMMMM8OOZZZZZZZZZZZZZZZZZZZZO88888ZZZZZ888888ZZZZZZZZZZ88888888888888888MMMMMMMM
MMMMM8OOOZZZZZZZZZZZZZZZZZZZ88888ZZZZZZZZZZZZZZZZZZZZZZZ88OO888888888888MMMMMMMM
MMMMMMOOZZZZZ88ZZZZZZZZZZZZZZ88ZZZZZZZZZZZZZZZZZZZZZZZZZO8O8888888888888MMMMMMMM
MMMMMMOOZZZZ88888ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ888888888888888MMMMMMMM
MMMMMMMOOOZZ8888OZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ8888888888888888MMMMMMMM
MMMMMMMMMMNOOOOOZZZZZZZZZ8ZZZZZZZZZZZZZZZZZZZZZZZZZ8888O8888888888888NMMMMMMMMMM
MMMMMMMMMMMMN8OOOOOZZZZZZZZZZZZZZZZZZO88ZZZZZZZZZZO8888888888888888DMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMM888ZZZZZZZZZZZZZZZZ88ZZZZZZZZZZZZZO8888888888888MMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMN8ZZZZZZZZZZZZZZZZZZZZZZZZZOOO88888888888MMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOZZZZZZZZZZO888888888888MMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

??????? ???????????????????? ??????? ??????? ????????? ??????? ????????
???????????????????????????????????????????????????????????????????????
???  ??????????????   ???   ???   ???????????   ???   ???   ???????????
???  ??????????????   ???   ???   ???????????   ???   ???   ???????????
???????????????????   ???   ????????????  ???   ???   ?????????????????
??????? ???????????   ???    ??????? ???  ???   ???    ??????? ????????
Zmieniony: Czwartek, 23 Lipiec 2015 23:29