GDT是一个表,用来实现logical addr--> linear addr的转化,也就是分段思想的实现。gdtr寄存器指向GDT在内存 中的首地址,用CS,DS中的内容做为index,这个index的学名叫segment selector。 CS是16位的,前13位作为index,最低2位用来判断CPU是运行在0级还是3级,即系统态还是用户态,剩下那位指明 访问GDT还是LDT。
GDT表项指向LDT。 GDT对所有进程均可用。 GDT记录OS使用的内存区域的段描述符。 整个系统只定义一个GDT,其中存放有允许多个进程共同访问的那些段的描述符。 2.局部描述符表(Local Descriptor Table): 每个进程的局部空间的段的所有段描述符集中存放在一张表中,这张表为该进程的局部描述符表(LDT)。 每个进程的LD...
GDT是唯一的,所以只需要用GDTR寄存器存放其线性地址和段界限即可(不需要设置GDT描述符<指向GDT的描述符>);但LDT不同,每个任务一个,所以为了追踪它们,处理器要求在GDT中安装每个LDT的描述符(每个LDT都有相应的描述符在GDT中)。 当要使用这些LDT(即执行该任务时,TSS中有一个IDT选择子)时,可以用它们的选择子来访...
ss, ds, fs, gs; unsigned long ldt; unsigned long trap, iomap_base; }; // 初始化TSS void init_tss(struct tss_struct *tss) { // 设置TSS字段... } // 加载TSS到GDT void load_tss(unsigned long tss_selector) { __asm__ __volatile__("ltr %0" : : "r" (tss_selector)); } ...
(3). 地址映射寄存器区域 从虚拟地址空间到线性地址空间的映射由GDT和LDT确定,与特定任务相关的部分由LDT确定,而LDT又由LDTR确定。如果采用分页机制,那么由线性地址空间到物理地址空间的映射由包含页目录表起始物理地址的控制寄存器CR3确定。所以,与特定任务相关的虚拟地址空间到物理地址空间的映射由LDTR和CR3确定。显然...
下面是关于Pentium 微处理器中GDT(全局描述符表),LDT(局部描述符表),IDT(中断描述符表)以及TSS(任务状态段)的叙述 Ⅰ.GPT存放系统内每一个任务都有可以访问的描述符,包括段描述符、LDT和TSS描述符,以及调用门和任务门描述符 Ⅱ.LDT存放一个任务专用的描述符,包括段描述符、调用门和任务门描述符 Ⅲ.LDT存放25...
- **选项A(LDT)**:LDT(局部描述符表)是任务私有,不同任务拥有独立的LDT,无法保证所有任务都能访问到同一TSS描述符,因此**错误**。 - **选项B(GDT)**:GDT(全局描述符表)是唯一全局的描述符表,存放如内核代码段、数据段等所有任务共享的描述符。TSS描述符作为关键的系统资源,必须存放在GDT中以供全局访问,...
进程的进程表、进程体、GDT、TSS的关系,以及进程表的初始化 2011-05-20 08:29 −... wanghj_dz 0 3342 中断描述符表 IDT 2019-12-25 09:15 −保护模式下三个重要的系统表——GDT、LDT和IDT 这里主要是解释中断描述符表 中断描述符表IDT将每个异常或中断向量分别与它们的处理过程联系起来。与GDT和LDT...
首先,任务描述符除了可以在IDT中注册,还可以在GDT和LDT中注册 其次,任务以TSS为代表,只要包括TSS选择子的对象都可以作为任务切换的操作数 call和jmp指令 + TSS选择子或任务门选择子 TSS中已经包含了任务的详细信息,任务门描述符中又包含了TSS选择子,所以它和所有的门描述符一样,使用TSS和任务门作为call和jmp指令...