viralpatel.net
    Viral Patel's home page
    Tech Blog  |   Taj OS  |   Operating System Tutorials  |   Guest Book  |   Sitemap            


Menu
  Home
  FAQ
  Screen Shots
  Download
  Tutorials
  Any Comments?




Comments
Ankit
09 Dec 2011
I don't know how to install from .img fi..
>>  show
Masum
22 Nov 2011
How to install Taj os in my pc. and ..
>>  show
Me
21 Oct 2011
TAJ seems to lock up in boot using Bochs..
>>  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 :


Global Descriptor Table entry

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.

Segmentation Addressing

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.
Segment Selector

Back