[mkc2008] Kernel Entry and Kernel Exit - Segmentation

Jan Bierbaum s3306700 at mail.inf.tu-dresden.de
Sat Apr 4 17:34:10 CEST 2009


Wow, that was fast. I didn't expect any answer before Monday.


Udo A. Steinberg meinte am 04.04.2009 03:00:
> JB> Since it's possible to have a segment cover the complete 4 GB address
> JB> space (slide 9) the offset needs to be 32 bit long. When we add the
> JB> segment selector that would necessarily produce a logical address longer
> JB> then 32 bit.
> 
> I guess you mean that adding the offset to the segment base from the segment
> descriptor referenced by the segment selector can produce an address larger
> than 4GB. In reality the resulting address is truncated to 32bit, which
> means that such addresses wrap around the 4GB border.

What I actually meant was that any logical address composed of a segment
selector and a 32 bit offset would be longer than 32 bit. My initial
assumption was that the selectors are actually part of the address.
Slide 5 seemed to imply that. Now I know they are not.

The overflow problem you mention I didn't even think of, but it's a good
point too.



Have a nice weekend :-)
CU, Jan.



More information about the mkc2008 mailing list