[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