Tom Brubaker
2005-02-17 03:36:51 UTC
Initially, I thought the stack was a separate segment:
a.. CS - Code Segment
a.. SS - Stack Segment
a.. DS - (Default) Data Segment
a.. ES, FS, GS - Extra Data Segments
However, the LDT in User_Context only has enough room for 2 segments, and
the project 2 slides talk about adding in the size of the stack to the
allocated memory in Load_User_Program()
Finally, there's talk of a mysterious 'kernel stack.' It would seem
reasonable to me that perhaps the 'kernel stack' is the stack space added to
the code segment, while the user stack is the stack space added to the data
segment. Unfortunately, I can't find any evidence that this is really the
way things are, other than that the concept seems reasonable.
Thoughts?
-Tom-
a.. CS - Code Segment
a.. SS - Stack Segment
a.. DS - (Default) Data Segment
a.. ES, FS, GS - Extra Data Segments
However, the LDT in User_Context only has enough room for 2 segments, and
the project 2 slides talk about adding in the size of the stack to the
allocated memory in Load_User_Program()
Finally, there's talk of a mysterious 'kernel stack.' It would seem
reasonable to me that perhaps the 'kernel stack' is the stack space added to
the code segment, while the user stack is the stack space added to the data
segment. Unfortunately, I can't find any evidence that this is really the
way things are, other than that the concept seems reasonable.
Thoughts?
-Tom-