Lowlevel

Lowlevel => OS-Design => Thema gestartet von: rizor am 19. January 2011, 15:54

Titel: Aufräumen von Threads
Beitrag von: rizor am 19. January 2011, 15:54
Hallo zusammen,

mein Kernel soll Threads unterstützen und nun mache ich mir Gedanken, wie ich einen Thread am besten aufräume.
Wie habt ihr das gemacht?
Ich habe mir überlegt, dass jeder Thread eine memmap erhält, die ich dann aufräume.
Nun habe ich aber das Problem mit dem malloc. Wenn der Thread speicher anfordert, wird der in meinen Malloc-Baum eingegliedert. Nun kann ich aber nicht einfach die memmap aufräumen, da es ansonsten echt ungünstig werden kann. Wie lässt sich sowas gut lösen?
Eine Möglichkeit wäre, dass jeder thread seinen eigenen malloc-baum bekommt, das finde ich aber nicht wirklich gut.

gruß,
rizor
Titel: Re:Aufräumen von Threads
Beitrag von: kevin am 19. January 2011, 15:56
Ich bin mir nicht ganz sicher, ob ich richtig verstehe, was du vorhast. Willst du beim Threadende Speicher freigeben, den dieser Thread angefordert hat? Das wäre falsch, der Speicher könnte von anderen Threads des Prozesses noch in Verwendung sein.
Titel: Re:Aufräumen von Threads
Beitrag von: rizor am 19. January 2011, 16:10
Du hast mich richtig verstanden.
Also ist es am besten, wenn nur der Stack aufgeräumt wird, oder wie?
Titel: Re:Aufräumen von Threads
Beitrag von: kevin am 19. January 2011, 16:11
Genau, und irgendwelche kernelinternen Verwaltungsstrukturen natürlich.