RE: Doubts regarding GDT/LDT

TSS are kept in PCR. One TSS per CPU, + a TSS for double fault + a TSS for NMI.

Max
----- Original Message -----
From: Bi Chen
To: NT Developers Interest List
Sent: Friday, December 20, 2002 9:17 PM
Subject: [ntdev] RE: Doubts regarding GDT/LDT

Your Q2 pretty much answered your Q1. However, since modern 32-bit OSes use flat 32-bit mode. Segment descriptors are pretty much all describe 0-4GB flat virtual address space, except FS (if I recall correctly) is different to map certain thread structure so it is harder for errant app to corrupt thread structure. I heard Microsoft will do away with that too.

A3: Descriptor contents are kept in _KPROCESS (windbg or softice will show you the structure). TSS are kept in _KTHREAD

A4: Not much. However IA32 you have to set it up. Early NT OSes supports RISC which may/may not have GDT/LDT at all. In emulation real mode (16-bit VM) LDT is nevertheless used.

Bi
-----Original Message-----
From: Deepu.L.R [mailto:xxxxx@m2comsys.com]
Sent: Thursday, December 19, 2002 10:28 PM
To: NT Developers Interest List
Subject: [ntdev] Doubts regarding GDT/LDT

hai all,

I am a student, and please help me to clear some doubts regarding GDT an LDT. I am asking these doubts based on the NT/2000/Xp OS.

  1. According to intels’s docs both GDT and LDT contains the segment descriptors. what are the difference between descriptors in these two tables?

  2. Is GDT - contains the descriptors for the entire OS and LDT contains the descriptors for each process. If it is true when a new thread is scheduled to run, will the LDT will get a set of values specific to that process ?

  3. What are the details NT/200/xp keeps in these tables ?

  4. Is there any relation between GDT/LDT and the virtual memory management in NT/2000/xp?

Thanks,
Deepu.L.R

You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%

You are currently subscribed to ntdev as: xxxxx@storagecraft.com
To unsubscribe send a blank email to %%email.unsub%%