segments

16
Segments Areas of memory. Defined by the programmer. Used for different purpose, such as code, data & stack. 1 Registers of 80386 Friday, August 22, 2014

Upload: aviban

Post on 11-Jul-2015

59 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Segments

Segments

Areas of memory.

Defined by the programmer.

Used for different purpose, such as code, data & stack.

1Registers of 80386Friday, August 22, 2014

Page 2: Segments

Segment Descriptor

A segment is described by a special structure called as segment descriptor.

Defined( Created) by the programmer.

Used for different purpose, such as code, data & stack.

Must be created for each segment.

2Registers of 80386Friday, August 22, 2014

Page 3: Segments

Segment Descriptor Functions

Determines segment’s base address.

(Base Address- Starting Address of a segment, which can be any arbitrary address in the 32-bit linear address space.)

Determines a segment’s size.

Determines a segments use.

Determines a segments privilege level.

3Registers of 80386Friday, August 22, 2014

Page 4: Segments

Base Address of Segment(0-FFFFFFFF)

Length of Segment(0-FFFFFFFF)

SegmentType

Privilege Level

Miscellaneous

Fig1 :Segment Descriptor Fields

*****All this is to know about segment of memory

Page 5: Segments

Segment Descriptor Defines

Base address(32 bit).

Segment Limit(20 bit).

Type of segment(4 bit).

Privilege level of segment(2 bits).

5Registers of 80386Friday, August 22, 2014

Page 6: Segments

Descriptor TablesThe Segment descriptors that you define must be grouped and placed one after the other in contiguous memory locations.(Min – 0 & Max – 8192 descriptor tables)

This group Arrangement is known as descriptor tables.

6Registers of 80386Friday, August 22, 2014

Segment Descriptor1

Segment Descriptor2

Segment Descriptor3

Group Of SegmentDescriptor

.

.

.

Page 7: Segments

Types of Descriptor Tables

Global Descriptor Table.

Local Descriptor Table.

Interrupt Descriptor Table.

Task State Segment Descriptor Table(TSS).

7Registers of 80386Friday, August 22, 2014

Page 8: Segments

1. Global Descriptor Table(GTD).

Main, General Purpose table of Descriptor .

Used by all programs to reference segments of memory.

Contains description table about memory segments CS,DS,SS & ES.

Maintains a list of most segments.

8Registers of 80386Friday, August 22, 2014

Page 9: Segments

2. Local Descriptor Table(GTD).Contains memory segment descriptors like size of memory, access privilege.

Can be used in addition to the GTD to expand the number of available descriptors.

Allocated to each task at time of multitasking.

3. Interrupt Descriptor Table(ITD).

Holds segment descriptors that define interrupts.

Maintains a list of interrupt service routines.

9Registers of 80386Friday, August 22, 2014

Page 10: Segments

2. Local Descriptor Table(LTD).

Page 11: Segments
Page 12: Segments
Page 13: Segments
Page 14: Segments
Page 15: Segments
Page 16: Segments