[OSy] Preempce

Jiří Tlach jiri.tlach at centrum.cz
Tue Jan 9 13:56:51 CET 2007


Zdravim,

problem, ktery tu popisujes vypada ukazuje na to, ze nekde dojde k vypnuti
preruseni a tim padem se nevola preruseni od casovace a tudiz ani 
samotny planovac. 

Myslim ze to muze byt vedlejsi efekt toho, ze kernel Sirius tak jak jste ho
dostali s kernelem KoHlTo nebyl prizpusoben na beh vlaken pracujicich
v ruznych adresovych prostorech a ani uzivatelskych vlaken. Toto prizpusobeni
lze vsak provest nekolika malo zasahy primo do kernelu Sirius, takze mi 
napis mail a muzeme se setkat bud osobne nebo pres ICQ a tyto drobne
zasahy provest.

S pozdravem
Jiri Tlach

______________________________________________________________
> Od: y_nodir at yahoo.com
> Komu: Operating Systems Course <osy at dsrg.mff.cuni.cz>
> Datum: 09.01.2007 13:48
> Předmět: Re: [OSy] Preempce
>
>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 
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>http://dsrg.mff.cuni.cz/mailman/listinfo/osy
>




More information about the NSWI004 mailing list