Segments initiation problem

If you are new to OS Development, plan on spending some time here first before going into the other forums.

Moderator: Moderators

Post Reply
Posts: 18
Joined: Tue Feb 01, 2011 6:25 pm

Segments initiation problem

Post by afdgdhfrtewdszs » Fri Nov 30, 2012 12:55 am

I am confused at the point where we set registers as soon as we into protected mode. Especially when setting stack-segment with the same selector as data-segment. This means that they will have the same base-limit address. My question is this: Stack,data and code won't 'interfere' with each other while they are in the same segment(just different access-types)?Thanks.

User avatar
Site Admin
Posts: 465
Joined: Sat Oct 20, 2007 7:58 pm

Re: Segments initiation problem

Post by Mike » Fri Nov 30, 2012 2:09 pm


The code, data, and stack all share the same linear address space and so can interfere with the others if not careful. This reflects a flat address space where segmentation is not used (all kernel segments start and end at the same place.) Of course, you can always still use segmentation but its not really useful if you plan to use paging and makes compatibility harder (other architectures that don't support it and C compilers that assume a flat memory model.)

Post Reply