Hi All, I have a doubt regarding implementation of segmentation in OS. Since GDT is used to implement the segmentation, in that table you add all segments descriptors dividing the linear address space. In a flat model you assign for every descriptor the base as 0x0 and limit as 4GB. This way every DS,CS sees the complete 4GB memory. But how is the segment protection implemented. I mean if segments are not divided with different base address and limit preventing overlapping, there is a possibility of stepping in to other segment. So, why is the flat model is implemented. Also, If I strictly implement segmentation without paging, then I can have only 8192 segments of size 64kb for whole 4GB address space. Then I have all the segment descriptors in the GDT. Now if some task uses all its complete segment size, and needs some more space, then is it possible to assign another DS segment. If so, how is that accomplished, since we need to load in DS new index of segment descriptor and keep track of all indexes in to GDT. Can anyone explain how above mentioned things can be achieved. -- Regards, Sri. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ