有关段的知识

GDT每个CPU都会有一个,LDT是GDT里的一项,所以访问LDT是先要访问GDT的有关LDT的一项
intel提供6个段寄存器cs,ss,ds,es,fs,gs。还有两个相关的寄存器gdtr和ldtr,用来存放全局描述符表和当前活动局部描述符表的基地址。
cs:code segment
de:data segment
ss:stack segment
es,fs,gs是通用段寄存器,每个段寄存器还对应着一个64的不可编程寄存器,用来存放每个对应段选择子的段描述符。当段寄存器的内容被改变后,相应的不可编程寄存器会被重新载入对应的段描述符,以便能快
速地将逻辑地址转为线性地址。

其中cs还有2个field是用来说明CPL(current privilege level) of the CPU.每个寄存器用来存放segment selector
segment selector:
index[13]TI[1]RPL[2]

段描述符为64位,主要field有base,limit,type,DPL(Descriptor Privilege Level)用来指明需要什么的cpu权限才能访问这个段,G(粒度)用来指明limit采用的粒度,是byte还是4kb,S,P
(是不是在内存中),DorB,AVL。
linux常使用的几种段描述符:
code segment descriptor,data segment descriptor,task state segment descriptor,local descriptor table descriptor.

2009/01/12 一

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值