My first question is, what is the purpose of overlapping segments? I've read in tutorials that you can overlap segments; does this mean that if you overlap a code segment and a data segment that the overlapped part then becomes a code and data segment? I think that is the answer but it sorta seems like it defeats the whole purpose of protected mode. Or perhaps this means that when you are using that segment it can be part of a segment but ignores the other segments descriptor?
My second question is, the segment after the null segment in the GDT or LDT, is that considered segment zero or segment one?
My third and final question is this, what is the point of an LDT. I know its the same as a GDT, but the GDT gives you 8192 segments to work with. I've read its used by applications, but how? I have yet to find an example that truly explains it.
Thanks for your help.

