OT to RTOS or not to RTOS, was: Mereni napeti baterie pomoci AVR

Milan milger na pobox.sk
Pátek Leden 7 15:09:27 CET 2011


Vlakno ma procesor aj systemovu RAM /zasobnik na navratove adresy, parametre 
pri volani funkcii a pod./ tato systemova RAM je pre kazde vlakno jedinecna 
ale nemusi byt prilis velka /ak teda nechcem volat vela vnorenych funkcii, 
predavat vela parametrov, resp.riesit rekurzivne algoritmy/. V mojom 
imaginarnom priklade povedzme 3x128B.
Po prepnuti na ine vlakno sa do nej zapise este adresa nasledujucej 
instrukcie a obsahy registrov /vsetky aj stavove, obycajne je to zapis na 
zasobnik/.
Vlaknu ktore ide dostat procesor, najskor RTOS prepne jeho stavovu RAM 
/zasobnik/, obnovi registre /ulozene ked bol procesor zobraty/ a skoci na 
ulozenu adresu /pokracuje tam kde skoncilo/. Potom vlakno normalne pokracuje 
/zase ma svoju RAM/...

Mozno nie je jasny rozdiel medzi systemovou RAM a stavovou RAM.
Systemovu RAM vlakno vzdy dostane pri vytvoreni od RTOS.
Stavovu RAM dostane len ked ju potrebuje /ci uz ako staticke premenne pri 
vytvoreni vlakna alebo dynamicku RAM na poziadanie z haldy/.
Systemovu MUSI /len aby to slovicko neudrelo do oci kolegovi ktory nema rad 
niektore slova :-)/ mat kazde vlakno vlasnu.
No a pointa pre ten nestasny imaginarny priklad bola, ze vlakno nepotrebuje 
vediet v akom stave dekodovania prave je /dokaze sa zastavit a pockat na 
data/ a teda nepotrebuje stavovu RAM, iba malu systemovu.

Este podotknem ze pojmy systemova RAM a stavova RAM som si tak trochu 
vymyslel pre toto vysvetlenie a mozno ma niekto opravi....


Milan

----- Original Message ----- 
From: "Jan Hovorka" <OK1CJH na seznam.cz>
To: "HW-news" <hw-list na list.hw.cz>
Sent: Friday, January 07, 2011 2:27 PM
Subject: Re: OT to RTOS or not to RTOS, was: Mereni napeti baterie pomoci 
AVR


Zdravím,

tak až do teď jsem si myslel, že alespoň trochu vím o co jde, ale teď to už 
nechápu.

takže máte nějaké vlákno, které má přidělený procesor a RAM.
Vy ho někde třeba v půlce stopnete. RAM nikam nezálohujete.
Tu stejnou RAM a stejný procesor dáte jinému vláknu. ....
A za nějakou dobu původnímu vláknu vrátíte procesor a tu stejnou RAM, ale už 
zcela jistě s jiným obsahem.
A to první vlákno si vesele pokračuje tam kde skončilo.

No to mě teda opravdu není jasné.

Honza


> ------------ Původní zpráva ------------
> Od: Milan <milger na pobox.sk>
> Předmět: Re: OT to RTOS or not to RTOS, was: Mereni napeti baterie pomoci 
> AVR
> Datum: 07.1.2011 14:15:48
> ----------------------------------------
> >>Ak nie je dost RAM na ulozenie stavovych premennych, tak to nie je dost 
> >>ani vo Vasom pripade a to RTOS magicky nevyriesi. Tie stavove premenne u 
> >>Vas totiz figuruju ako lokalne premenne funkcie ktora implementuje to 
> >>vlakno.
>
> Mozno sa nechapeme navzajom, ja nepotrebujem stavove premenne, dokazem sa 
> rozhodnut na zaklade kazdeho prijateho B a ulohu zastavim do dalsieho 
> prijateho B. S pomocou RTOS to dokazem nezavislo na 3-N ulohach, to je 
> prave ten rozdiel, normalne bez RTOS potrebujem stavove premenne, aby som 
> vedel kde sa mam v tej ktorej ulohe vratit, RTOS pokracuje tam kde zobral 
> procesor...
>
> Pravda je ze som to zadanie nespecifikoval do detailov /umyselne/, pointa 
> mala vypadnut z diskusie, stalo sa, ak sa este stale nerozumieme bolo by 
> dobre pokracovat....
>
> Milan
>
> ----- Original Message ----- 
> From: "Jan Waclawek" <konfera na efton.sk>
> To: "HW-news" <hw-list na list.hw.cz>
> Sent: Friday, January 07, 2011 12:52 AM
> Subject: Re: OT to RTOS or not to RTOS, was: Mereni napeti baterie pomoci 
> AVR
>
>
> Okrem toho, ze ho mam vacsieho :-) ste nepochopili moju odpoved.
>
> >nemame dostatok RAM na ulozenie 3x celej spravy ani
> >na ulozenie stavovych premennych /to som nenapisal jasne ale iba ako 
> >"5000
> >riadkovy algoritmus"/ stavoveho stroja
>
> Ak nie je dost RAM na ulozenie stavovych premennych, tak to nie je dost 
> ani vo Vasom pripade a to RTOS magicky nevyriesi. Tie stavove premenne u 
> Vas totiz figuruju ako lokalne premenne funkcie ktora implementuje to 
> vlakno.
>
> V skutocnosti ste zrejme nepochopili pointu mnou navrhnuteho pristupu 
> presne tak isto ako pan kolega nepochopil, nakolko je rozdielne prepinanie 
> vlakien v RTOS od superloop-u. Ono je najlepsie to vsetko ukazovat na 
> konkretnych prikladoch, tam je to omnoho jasnejsie, naviac k tomu este 
> treba aj pokreslit nejake obrazky, ktore to ozrejmia. Lenze je neskoro a 
> som unaveny, navyse sa uz ten necakany medzipiatok defacto skoncil, 
> bohuzial... ;-)
>
> wek
>
>
>
> ----- Original Message ---------------
> >"Ak je poziadavka dekoder pouzit viackrat, tak si ho napisem ako stavovy
> >stroj a vsetky jeho stavove premenne ulozim do struktury, z ktorej 
> >spravim
> >pole velkosti danej poctom viacnasobneho pouzitia. Cele je to o sposobe
> >pisania programu, nieco ako napr. objektove programovanie (nemyslim tym
> >samotnu metodu, ale ze treba pouzit vhodny pristup ci metodiku)."
> >
> >Vidim ze nie vsetci pochopili "demo-zadanie", moja chyba, nenapisal som 
> >ho
> >jasne, takze:
> >1/ bola snaha vymysliet priklad, nieco co nie sme schopni vyriesit bez
> >jednoducheho RTOS, t.j. nemame dostatok RAM na ulozenie 3x celej spravy 
> >ani
> >na ulozenie stavovych premennych /to som nenapisal jasne ale iba ako 
> >"5000
> >riadkovy algoritmus"/ stavoveho stroja. Musime teda riesit 3 ulohy naraz 
> >a
> >spravy /500B/ dekodovat postupne ako prichadzaju . Aby sme data 
> >nestracali,
> >nejaku RAM na vstupne FIFO, OS apod. mame /1kB/.
> >Preto ten silny pojem "Neriesitelne" bez RTOS samozrejme.
> >
> >2/ podnetom bolo ukazat kolegovi, ktory nie celkom chapal pojmy "RTOS,
> >prepnutie vlakien..." ze je to o dost ine nez "superloop".
> >
> >3/ povodnym zamerom bolo spomenut riesenie s RTOS,  a tu zrazu ako sme si
> >pekne pokecali... sice tak trochu sposobom "kto ma vacsieho ..." ale ako
> >pisete ... ked uz je ten takmer piatok... ;-)
> >
> >Milan
> >
> >
> >----- Original Message ----- 
> >From: "Jan Waclawek" <konfera na efton.sk>
> >To: "HW-news" <hw-list na list.hw.cz>
> >Sent: Thursday, January 06, 2011 1:22 AM
> >Subject: OT to RTOS or not to RTOS, was: Mereni napeti baterie pomoci AVR
> >
> >
> >>Ja som stanovil podmienku ze nemate dostatok RAM, to znamena buffer 
> >>pouzit
> >>nemozte, musite spracovavat data priamo tak ako prichadzaju.
> >>To znamena ze zadanie tak ako som ho stanovil je bez RTOS neriesitelne.
> >
> >
> >"Neriesitelne" je rovnako silne slovo ako "prepnuti vlaken nezere zadny
> >cas".
> >
> >Ak je poziadavka dekoder pouzit viackrat, tak si ho napisem ako stavovy
> >stroj a vsetky jeho stavove premenne ulozim do struktury, z ktorej 
> >spravim
> >pole velkosti danej poctom viacnasobneho pouzitia. Cele je to o sposobe
> >pisania programu, nieco ako napr. objektove programovanie (nemyslim tym
> >samotnu metodu, ale ze treba pouzit vhodny pristup ci metodiku).
> >
> >
> >>Pripadne vymyslite zadanie vy tak, aby ste sa nenarobil a ja som to mal
> >>zlozite.
> >
> >Ale to predsa viete Vy sam ako uzivatel toho RTOS lepsie nez my, co ho
> >nepouzivame - samozrejme ze RTOS Vam zacne zavadzat vtedy, ked ten 
> >overhead
> >(ci uz pamatovy alebo casovy) je vacsi ako zisk z neho, prip. ak sa na 
> >danu
> >ulohu priamo nehodi nejaka jeho metodika. Napr. ak tych vlakien 
> >potrebujete
> >pustit povedzme niekolko tuctov.
> >
> >
> >>Vsetkym nam je jasne ze ak mame nekonecne vykonny HW, nekonecne mnozstvo
> >>RAM
> >>a pod. + nekonecne mnoho programatorov, je riesitelne skoro vsetko za 
> >>skoro
> >>nulovy cas...ale s neskutocne nekonecnymi nakladmi. :-)
> >
> >
> >To nie je celkom tak. V skutocnosti Vam pomahaju uz napisane kniznice (ci
> >iny vopred napisany software, napr. ten RTOS), nie samotne zdroje - 
> >akurat
> >ze tie kniznice atd., aby boli lahko pouzitelne v roznych situaciach, su
> >neefektivne.
> >
> >Naviac Vam velmi pomaha to, ze riesite urcity druh uloh, na ktore ste
> >zvyknuty - a na ktore aj tie kniznice atd. mate poruke.
> >
> >... ked uz je ten takmer piatok... ;-)
> >
> >wek
> >
> >_______________________________________________
> >HW-list mailing list  -  sponsored by www.HW.cz
> >Hw-list na list.hw.cz
> >http://list.hw.cz/mailman/listinfo/hw-list
> >
> >_______________________________________________
> >HW-list mailing list  -  sponsored by www.HW.cz
> >Hw-list na list.hw.cz
> >http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 



Další informace o konferenci Hw-list