[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