[OSy] gets a atomicita, testy
Martin Decky
decky at dsrg.mff.cuni.cz
Fri Nov 2 01:25:01 CET 2007
> Zaujimalo by ma, ako by malo fungovat gets(), co sa tyka atomicity jej
> prace... Mam na mysli, co sa ma diat, ked N vlakien naraz zavola gets()...
Kernelove funkce getc() a gets() si neplette s jejich protejsky
v uzivatelskem prostoru velkeho operacniho systemu, kde mate hierarchii
vstupnich a vystupnich souboru, terminalu apod., takze lze rozumne rici,
kdo ma zrovna "sezrat" vstup z klavesnice. V pripade kernelu se skutecne
jedna o ciste debugovaci funkce a nepredpoklada se, ze by getc()/gets()
volalo vice vlaken soucasne a ocekavalo nejake smysluplne chovani.
Trochu jina je situace u printk(), kde je rozumne zajistovat
synchronizaci vystupu, aby se dulezite hlasky z ruznych vlaken vzajemne
nemichaly. Na druhou stranu, je potreba myslet na situace, kdy takova
synchronizace muze mit negativni dusledky jako ruzne deadlocky.
> Este by ma zaujimalo - v nedelu/dni potom sa bude hodnotit ci semestralky
> prejdu uz rozosielanymi testami, alebo sa bude testovat este na
> dalsich "zadaniach"?
Obecne lze rici, ze zadne "tajne" testy nemame. Kdykoliv budeme vase
reseni zkoumat pomoci nejakych testu, budete je mit predem k dispozici.
Pochopitelne kazde ze tri zakladnich zadani bude mit svou sadu povinnych
testu a mame take pripravene testy rozsirenych zadani (kde jejich
pruchod uz neni bezpodminecne nutna podminka ziskani zapoctu).
M.D.
More information about the NSWI004
mailing list