Segments Areas of memory. Defined by the programmer. Used for different purpose, such as code, data & stack. 1 Registers of 80386 Tuesday, July 8, 2014
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. 2 Registers of 80386 Tuesday, July 8, 2014
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. 3 Registers of 80386 Tuesday, July 8, 2014
Base Address of Segment (0-FFFFFFFF) Length of Segment (0-FFFFFFFF) Segment Type Privilege Level Miscellaneous Fig1 :Segment Descriptor Fields ***** All this is to know about segment of memory
Segment Descriptor Defines B a se address(32 bit). Segment Limit(20 bit). Type of segment(4 bit). Privilege level of segment(2 bits). 5 Registers of 80386 Tuesday, July 8, 2014
Descriptor Tables The 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. 6 Registers of 80386 Tuesday, July 8, 2014 Segment Descriptor1 Segment Descriptor2 Segment Descriptor3 Group Of Segment Descriptor . . .
Types of Descriptor Tables Global Descriptor Table . Local Descriptor Table . Interrupt Descriptor Table . Task State Segment Descriptor Table(TSS). 7 Registers of 80386 Tuesday, July 8, 2014
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. 8 Registers of 80386 Tuesday, July 8, 2014
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. 9 Registers of 80386 Tuesday, July 8, 2014