Segmentation Tutorial | viralpatel.net
  viralpatel.net
    Viral's home page
    Home     Taj OS     Old Site     Guest Book     Sitemap Admin    

TAJ  An Object Oriented Operating System


Menu
    Home
    FAQ
    Screen Shots
    Download
    Tutorials
 News
       Operating System
       Linux
       GNU
       Google
    Any Comments?




Comments
Timmy
08 Jan 2008
Interesting. I see alot of calls for sou..
>>  show
Jagan
22 Nov 2007
Exlnt................! =D> ..
>>  show
Kaffeefilter
16 Nov 2007
Hi Viral, I must admit I haven't read m..
>>  show

Segmentation


Intoduction

Segmentation is a Memory Management technique in which memory is divided into variable sized chunks which can be allocated to processes. Each chunk is called a segment. A table stores the information about all such segments and is called Global Descriptor Table (GDT). A GDT entry is called Global Descriptor. It comprise of :





Logical Address to Linear Address

To translate a logical address into a linear address, the processor does the following:

  1. Uses the offset in the segment selector to locate the segment descriptor for the segment in the GDT or LDT and reads it into the processor. (This step is needed only when a new segment selector is loaded into a segment register.)

  2. Examines the segment descriptor to check the access rights and range of the segment to insure that the segment is accessible and that the offset is within the limits of the segment.

  3. Adds the base address of the segment from the segment descriptor to the offset to form a linear address.

If paging is not used, the processor maps the linear address directly to a physical address (that is, the linear address goes out on the processor’s address bus). If the linear address space is paged, a second level of address translation is used to translate the linear address into a physical address.


Segment Selector

A segment selector is a 16-bit identifier for a segment. It does not point directly to the segment, but instead points to the segment descriptor that defines the segment. A segment selector contains the following items :

Index
(Bits 3 through 15). Selects one of 8192 descriptors in the GDT or LDT. The processor multiplies the index value by 8 (the number of bytes in a segment descriptor) and adds the result to the base address of the GDT or LDT (from the GDTR or LDTR register, respectively).

TI (table indicator) flag
(Bit 2). Specifies the descriptor table to use: clearing this flag selects the GDT; setting this flag selects the current LDT.




Rate This Article
 
Ok Useful Very Useful Excellent
 Ok
       
                               
18%
 Useful
       
                               
18%
 Very Useful
           
                           
27%
 Excellent
               
                       
36%
This Article is viewed 1321 times


Created on: 24 June 2005
Updated on: 27 Jan 2006


 Best Viewed at 1024x768 resolution Copyright © 2005-2006, Viral Patel  

Get High Quality Hosting Starting For Only One Cent At Tomorrow Hosting

These ZendURL Ads Are Not Forced. Click Here To Disable Them Permanently!