I am building an OS and.

The Os is able to boot, goto Pm-mode, Set GDT, IDT, load some tasks.

but the question is where is the GDT located in, in Liniear Adress space or in Phisacal adress space.

so could the GDT be Paged or do i have make a shared segment in liniear adress space for all task, like whit the TSS?

Posted on 2003-09-25 06:34:33 by pyr0_mathic
Descriptor tables should never be paged. They should remain in a part of memory that is dedicated to that function alone. Also they go where you want them to go. Correlation should be made to physical address space at all times.
Posted on 2003-09-25 10:55:31 by SpooK
the gdt as well as the idt and the tss are in the linear address space; they can be mapped as i do. on the way there, you need a pagetable-entry which "identifies" the gdt (i.e. linear address=physical address). turn on paging and reload the gdt with its new address - you have to do this with idt as well.
Posted on 2003-09-25 13:39:49 by hartyl
Or you could just load the GDT, IDT, page table and whatnot before entering protected mode.
Posted on 2003-09-25 15:14:59 by Sephiroth3
Thanks for your replies

I am now able to put the GDT/IDT/Tss to the last 4M Page, whit a Phisical Adress of 0x00000000, so my other Task, Whit other PDBR's, will not acces this memory. and when neccery i now am able to page the GDT into different 4K-Pages.

Posted on 2003-09-26 06:30:21 by pyr0_mathic
Is it multi Task? How to do it? is it look alike GDT Table ?
Posted on 2003-09-26 07:55:28 by realvampire