This shows you the differences between two versions of the page.
so:laboratoare:resurse:threaduri_extra [2013/02/17 23:26] larisa.grigore [Planificarea unei fibre] |
so:laboratoare:resurse:threaduri_extra [2015/05/18 20:00] (current) adrian.stanciu [Modificarea dimensiunii și adresei de start a stivei] |
||
---|---|---|---|
Line 127: | Line 127: | ||
Dacă firul a fost creat unificabil stiva nu poate fi eliberată până nu se va termina un apel <tt>pthread_join</tt> pentru respectivul fir. | Dacă firul a fost creat unificabil stiva nu poate fi eliberată până nu se va termina un apel <tt>pthread_join</tt> pentru respectivul fir. | ||
- | De obicei biblioteca de fire de execuţie alocă 1M de memorie virtuală pentru fiecare stivă de fir de execuţie. | + | De obicei biblioteca de fire de execuţie alocă 2M de memorie virtuală pentru fiecare stivă de fir de execuţie. |
Limita minimă pentru dimensiunea unei stive a unui fir de execuţie este PTHREAD_STACK_MIN. | Limita minimă pentru dimensiunea unei stive a unui fir de execuţie este PTHREAD_STACK_MIN. | ||
Line 163: | Line 163: | ||
Cum se face planificarea? | Cum se face planificarea? | ||
- | Fibrele nu sunt planificate preemptiv (sunt lăsate să ruleze până cedează de buna voie procesorul), cu observaţia că dacă firul din care fac parte este preemptat, automat fibră în execuţie este preemptată. O fibră este planificată printr-o comutare către ea dintr-o altă fibră. Kernelul planifică fire de execuţie, nu fibre. | + | Fibrele nu sunt planificate preemptiv (sunt lăsate să ruleze până cedează de buna voie procesorul), cu observaţia că dacă firul din care fac parte este preemptat, automat fibra în execuţie este preemptată. O fibră este planificată printr-o comutare către ea dintr-o altă fibră. Kernelul planifică fire de execuţie, nu fibre. |
==== ConvertThreadToFiber ==== | ==== ConvertThreadToFiber ==== |