[OSy] Malo pameti pro casovace

Tomas Mikula tomas.mikula at gmail.com
Wed Oct 31 12:35:54 CET 2007


Ahoj!

On 10/31/07, Andrej Krutak <andree182 at gmail.com> wrote:
> Samozrejme... spravis to tak, ze sa to nebude dynamicky alokovat :-)
>
> "Uzivatel" ti doda len ukazatel na uz vytvorenu strukturu (nieco ako
>
> struct timer t;
> timer_init(&t, ...);
>
> )
>
> Brani ti niekto vlozit si polozky potrebne na vytvorenie spojaku do tej timer
> struktury? :-)

Ano, brani.
V tvojom priklade je timer t vytvoreny na zasobniku volajuceho vlakna.
Vlakno timer spusti (timer_start()) a potom sa vrati z funkcie (alebo
vlakno niekto zabije) a timer uz neexistuje. Jeho pamat uz moze byt
prepisana a tym sa rozbije cely nas spojak (aj so vsetkymi ostatnymi
timermi ostatnych vlaken).

Takze by sme sa museli spoliaht na to, ze uzivatel sa nevrati z
funkcie skor, ako timer vystreli, alebo ze si ten timer alokuje
dynamicky. Ale to by ho po sebe mal aj odalokovat, takze si bude
musiet ustrazit, aby ho neodalokoval skor, ako vystreli, lebo inak by
nam to zase cele rozbil. A to je pomerne silny predpoklad na uzivatela
(i ked v tomto pripade uzivatelom budu len ostatne casti kernelu, ale
tym padom jedna cast nemoze byt blbovzdorna proti inej.)

T.




More information about the NSWI004 mailing list