Problem s obsadenim pamate v jazyku C

petr.adamek na antek.cz petr.adamek na antek.cz
Středa Leden 9 12:03:07 CET 2002


> Zasobnik byval na konci virtualniho adresoveho prostoru - pod
> hranici PAGE_OFFSET a rostl smerem k nizsim adresam.
> Rekneme, ze takhle spustime nas prvni proces, ktery si vytvori sve
> dalsi thready. Vsechny thready maji spolecny adresovy prostor, ale
> kazdy ma svuj zasobnik. Sdili tedy i svoje tabulky stranek - zde je
> patrne zadrhel. Znacna cast tabulek stranek je jim spolecna, ale
> kazdy thread ma svuj vlastni zasobnik u konce virtualniho prostoru.
> Proc ne? Proste v mistech zasobniku se budou tabulky stranek
> lisit - a je to tu - maji vsichni stejny prostor, ale uz jen to, ze by
> kazdy mel jiny zasobnik na vrsku adresoveho prostoru by vedlo k
> tomu, ze by musel mit kazdy thread vlastni tabulky stranek -
> OOPS - zmena v jedne by vedla ke zmenam v dalsich => obrovska
> narocnost jak na pamet (zbytecne sdileni) tak na procesor a vykon
> celkove.
Nehlede na narocnost, co kdyz bych si chtel mezi thready predat 
data na zasobniku?:-)

AdaMcPetr
petr.adamek na antek.cz
http://www.antek.cz


Další informace o konferenci Linux