Descriptor Tables

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Hellboy
Posts: 7
Joined: Tue Jan 13, 2009 4:31 pm

Descriptor Tables

Post by Hellboy »

hello i'm beginner in os devellepmnt so i did not understand each of those descriptor tables use and this paragraph.
thanks
There are three types of descriptor tables; the Global (GDT), Local (LDT) and Interrupt (IDT). The
GDT, pointed to by GDTR, holds up to 8191 objects (GDT 0 is reserved) that are accessible across all
tasks. The LDT, pointed to by LDTR, holds up to 8192 objects (LDT 0 is not reserved) that are local to
each task. The IDT, pointed to by the (need I say) IDTR, holds up to 256 gates (more on gates later).
Much like with the 8086, the IDT holds the destinations for the various interrupts. Each interrupt,
software or hardware, has a vector number associated with it. This vector number serves as the index
into the IDT. All three of these tables are created by software and reside in the memory space.
thooot
Member
Member
Posts: 30
Joined: Sun Jun 01, 2008 11:20 am

Re: Descriptor Tables

Post by thooot »

I would recommend that you start reading the intel or amd manuals for system programming. You can find the amd manuals here: http://www.amd.com/us-en/Processors/Dev ... 44,00.html. Read up on chapter 4, section 4.6 for details on the descriptor tables.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: Descriptor Tables

Post by Troy Martin »

Well, here's a basic explanation of the descriptor tables:
  • Global Descriptor Table: Lets you define the memory selectors to put in the segment registers. You can do some fun stuff with this, like defining a separate selector that just handles video memory, etc.
  • Local Descriptor Table: Used for defining different selectors for different tasks on the 286, before TSS came.
  • Interrupt Descriptor Table: Used for defining software interrupts. A lot harder to use than the real mode Interrupt Vector Table.
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: Descriptor Tables

Post by Brynet-Inc »

People on this forum use dark themes.. as I've repeated countless times in the past, enough with the colours.

It's a forum rule, please just use BBcode quote/code blocks.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: Descriptor Tables

Post by AJ »

Fixed :)

Cheers,
Adam
Post Reply