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



Menu
  Home
  FAQ
  Screen Shots
  Download
  Tutorials
  Any Comments?




Comments
Koranonta
08 Mar 2010
Hi, Great OS Stuffs. Do you plan to re..
>>  show
Affiss
15 Feb 2010
HI , great articles on OS , truly nea..
>>  show
(((1/f)))
13 Feb 2010
Thank you for these tutorials, they are ..
>>  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


Recent Tutorials
Segmentation
Real mode
Partition Table
Booting Process
CHS to LBA Translation
Interrupt Descriptor Table (IDT)
Graphical User Interface
Paging
Protected mode
Global Descriptor Table (GDT)
View All »

Copyright © 2010 viralpatel.net