[迷途羔羊:Linux 思考记  (第六天)]

你。 提交于 2020-03-29 00:42:49

一、分段单元

1、index
指定放在GDT或者LDT相应的段描述符入口
2、TI
指明段描述符在GDT(TI=0)或者LDT(TI=1)
3、RPL
请求者特权级,当相应的段选择符装入到CS寄存器中指示出CPU当前的特权级
 

 
二、GDT
1、单核只有一个GDT,多核每个 CPU对应一个GDT,所有GDT存放在cpu_gdt_table数组中, GDT地址和大小存放在cpu_gdt_descr数组中。
2、GDT包含18个段描述符和14个空的,未使用的,或保留的项。

  [1]、18个段描述段
(1)、用户态和内核态下的代码段和数据段共4个。
(2)、任务状态段(TSS),每个处理器一个。存放在init_tss数组中。
(3)、一个包括缺省局部描述符表的段。(所有共享进程段)
(4)、3个局部线程存储段。
(5)、与高级电源管理(AMP)相关的3个段。
(6)、与支持即插即用(PnP)功能的BIOS服务程序相关的5个段。
(7)、被内核用于处理“双重错误”异常的特殊TSS段。
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!