[OSy] Preempce

Nodir Yuldashev y_nodir at yahoo.com
Tue Jan 9 13:47:45 CET 2007


Hezky den.

Takze, kopirovani jsem pridal do vlakna, a funguje to.
Diky moc vsem za odpovedi. :)

Narazil jsem na dalsi vec. Mam dva processy, jeden
idle (nekonecny for-cyklus, bez thread_yield, ale i
thread_yield v cyklu nepomaha), a druhy loaduje
(kopiruje) program a pak prejde take do vecneho
for-cyklu.
Kdyz ten druhy process prejde do vecneho cyklu, tak se
uz nepreplanuje idle vlakno. Musim v tele cyklu
druheho vlakna explicitne volat fci thread_yield() aby
preplanovani fungovalo.
V cem by mohl byt problem? Nechal jsem vypisovat
tick_left, ale jakmile prejde do for-cyklu, uz se nic
nevypisuje. Zda se ze je to nejaky problem s timerem,
ne?

NY.

--- Martin Decky <decky at dsrg.mff.cuni.cz> wrote:

> To ano, ale nove mapovani plati uvnitr vlakna, ktere
> bylo pomoci 
> thread_create_new_map() vytvoreno, nesdili se
> mapovani s vlaknem (obecne 
> kontextem), ktere tu funkci vyvolalo.
> 
> Takze naalokovat (presnejsi je asi "namapovat")
> pamet pro obraz procesu 
> musite uvnitr toho nove vznikleho vlakna a take
> pouze tam muzete 
> bezpecne do teto namapovane pameti obraz zkopirovat
> (nebo pouzit funkci 
> copy_to_thread() pro kopirovani pameti mezi ruznymi
> adresnimi prostory).
> 
> 
> BTW: Kdyz uz jsme u toho, tak pripominam, ze by bylo
> dobre, abyste 
> spousteni noveho procesu udelali nejak univerzalne
> (prestoze se v praxi 
> bude spoustet jen jeden proces), treba tak, ze si
> vytvorite funkci 
> process_create() s vhodnymi parametry. Neni vhodne,
> abyste to 
> "nabastlili" rovnou do kernelove main().
> 
> 
> M.D.
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> http://dsrg.mff.cuni.cz/mailman/listinfo/osy
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the NSWI004 mailing list