标签:物理 没有 空间 编程 访问 地址 相关 user 问题:
问题:段描述符中的字段含义?
段首地址的线性地址/偏移/粒度/特权限制等信息。
1,快速访问段描述符
在加载段选择符时,相应的段描述符被自动由内存装入对应的非编程CPU寄存器。装入后就不再访问主存中的GDT或LDT。
2,段选择符的字段
index:指定了放在GDT或LDT中相应段描述符的入口
TI:0 GDT 1 LDT
RPL:特权级,特指装入CS段中当前CPU的特权级。
3,段描述符地址换算
GDT地址:0x00020000
index:2
地址:0x00020000+(2*8))0x00020010
GDT最大数目2的13次方-1个。 原因:index刚好16-3=13位。
Linux上的分段:鼓励程序员将程序划分成逻辑上相关的实体,Linux却很有限地使用分段。分段和分页有点多余,他们都可以划分进程的物理地址空间。
分段可以将一个进程分配到不同的线性地址空间,分页可以把同一线性地址空间映射到不同的物理地址。Linux更喜欢分页方式。
Linux的user CS uesr DS kernel CS kernel DS都是0,说明没有用分段来映射不同的线性地址空间。所有的程序都使用了几乎相同的线性地址空间。
标签:物理 没有 空间 编程 访问 地址 相关 user 问题:
原文地址:http://www.cnblogs.com/fresh-fish/p/7425786.html