OT - multitask

Erdos Zoltan silverst at axelero.hu
Sat Dec 17 23:21:58 CET 2005


ez jo, es hasznalhato otlet, de mi van, ha lassu jelet szkopolok es ugye 
szeretnem virtual real-time latni a dolgokat... akkor igencsak gyakran 
kene valtogatnom, hisz az "elterites" egesz lassu is lehet...
Tehat sec es hasonlo tartomanyban ez mar nem igazan jo.


Andras Tantos wrote:

> Hali!
> 
> En a kovetkezot csinalnam: A 'szkop' processz, vagy thread, vagy akarmi 
> szepen toltoget egy (cirkularis) buffert. Amikor kesz van vele (pl. mert 
> a trigger feltetel teljesult) akkor a buffert 'kesz'-nek nyilvanitja, es 
> uj buffert kezd tolteni. Amikor a masik, megjelenito thread-nek az 
> adatokra szuksege van, akkor 'mintat' vesz a 'kesz' bufferbol, azaz az 
> egeszet gyorsan atveszi maganak, es ezzel egyutt ad egy ujabb buffert a 
> szkop thread-nek (feltehetoen azt, amit ez elott vett el). Ez nagyon 
> gyorsan megoldhato (2-3 pointer muvelet), erre az idore egyszeruen 
> letiltanam az IRQ-kat (ez sokkal gyorsabb, mint egy mutex, vagy valami 
> hasonlo szinkronizacios mechanizmus). Ha a megjelenito thread elvette az 
> adatokat ilyen modon, utana mar motozhat amilyen sokaig akar. Ez egy 
> megjelenito eseten szepen mukodik. Ha ket megjelenito van, akkor talan 
> az a legjobb, ha a szkop processz egyszerre ket buffert tolt mindket 
> megjelenitonek. Vegulis az otlet nem mas, mint egy '1' melysegu FIFO 
> tarolo, amiben az elemek egesz buffer-ek.
> 
> Udv,
> Tantos Andras
> 
> 
> 
> ----- Original Message ----- From: "Erdos Zoltan" <silverst at axelero.hu>
> To: <elektro at tesla.hu>
> Sent: Saturday, December 17, 2005 8:49 AM
> Subject: Re: OT - multitask
> 
> 
>> Hm... gondolkodom...
>>
>> Alapbol egy nagy puffermemorias tarolo szkopra gondolok, ami a masik 
>> felen weboldalon mutatna a jelalakot... azaz webserverkent is muxik.
>> az adatallomany raadasul idoben gyorsan valtozo, az egyik process (a 
>> mintavet-betarol) irja piszkosul a tarat (adatstrukturat ha ugy 
>> progizom) a masik process (ami  mondjuk aktiv html-be agyazott ablak)
>> meg olvassa rendesen.... Namost oket hogyan vedjem egymastol?
>> Az meg csak a hab a tortan, hogy egy kis lcd-n is megy a 
>> megjelenites... :-)
>> (meg azon is gondolkodom, konvertalom az egeszet vmi animalt gif-nek, 
>> aljas modon atverve az egesz browsert.. :-) )
>>
>> Z.
>>
>> SZIGETI Szabolcs wrote:
>>
>>> Hali!
>>>
>>> Nem bonyolult, csak de :-)
>>>
>>> A cache-nek nem sok köze van hozzá direktben. Arra kell vigyázni, 
>>> hogy a küönbözo kernel adatstuktúrák védve legyenek a más process 
>>> általi módosítástól (pl. mutex).
>>>
>>> A hagyományos Unix ez úgy oldotta meg, hogy az egész kernel kvázi egy 
>>> hatalmas mutex alatt volt, ha egyszer valaki belépett a kernelbe, pl. 
>>> egy rendszerhívásba, akkor egészen addig nem léphetett be senki más, 
>>> amíg o ki nem lépett. Ez egyrészt rontja a multiprocesszoros muködés 
>>> hatékonyságát, mert csak egy folyamat lehet bent a kernbelben (pl. 
>>> fájlrendszer muködés), a másiknak a másik processzoron várnia kell, 
>>> amíg o ki nem lép.
>>>
>>> Minál jobban fel tudod bontani a kernelt olyan kis részekre amelyeket 
>>> külön kölcsönös kizárással védhetsz, annál jobb lesz a dolog, mert 
>>> annál kisebb lesz a valószínusége, hogy két processz ugyanazon a 
>>> részen akar futni.
>>>
>>
>>
>>
>> -----------------------------------
>> Szponzorunk: http://tonerbolt.hu/
>>
> 
> -----------------------------------
> Szponzorunk: http://tonerbolt.hu/
> 
> 





More information about the Elektro mailing list