Problem s obsadenim pamate v jazyku C

Ing. Miloslav Ponkrác miloslav.ponkrac na interval.cz
Úterý Leden 8 16:33:22 CET 2002


>Jestli se neco nezmenilo, tak zasobnik lezi vzdy na konci
>virtualniho adresoveho prostoru procesu - od hranice dane
>PAGE_OFFSET (3GB) roste dolu, takze to neni problem.
>Kazdemu threadu staci pak namapovat do jeho vlastniho virtualniho
>prostoru jeho vlastni zasobnik, ktery se nachazi na stejnem miste -
>tedy od hranice user-space roste dolu. Samozrejme, ze je limit na
>zasobnik, ale pri startu staci mit jen par stranek, a pokud proces
>bude chtit jit v adresach nize - tedy mit vetsi zasobnik, tak pokud
>nevycerlap svuj limit, neni problem primapovat mu pri page fault
>novou stranku zasobniku - samozrejme, pokud uz se nestretnul
>jeho vrchol napr. s knihovnou. To je pak smula...


Změnilo se pane, změnilo! Od té doby, co to byla pravda se přidala nové věc,
a to thready! Taky yo ve svém příspěvku píšu! A do jednoho prostoru už
musíte vměstit třeba 200 zásobníků, tudíž to není tak jednoduché!

Nyní musíte počítat s tím, že zásobníků může být více, než jeden, a tedy
všechno je trochu jinak.

S pozdravem

Miloslav Ponkrác



Další informace o konferenci Linux