77百科网
当前位置: 首页 生活百科

windows存储器管理机制(Windows-保护模式-X86-段寄存器结构分析)

时间:2023-06-29 作者: 小编 阅读量: 3 栏目名: 生活百科

由段寄存器当中的TI位来决定段寄存器当中的Attribute,Base,limit三个部分存储在GDT表当中还是LDT表当中。详细图下图:P属性作业:P=1段描述符有效,P=0段描述符无效。TYPE属性当中11位为0则表示数据段,为0则表示数据段。在系统段描述符当中不同的TYPE属性表示含义如下图:6.5;DPL属性该属性只有两种值,00和11。

Windows-保护模式-X86-段寄存器结构分析段寄存器结构分析一;段寄存器内部结构

段寄存器总共有96bit,可见部分16bit。

l Selector:16bit 可见部分,段选择子

l Attribute:16bit 不可见部分,表示段属性,表示了当前段寄存器是可读的还是可写的还是可执行的。

l Base:32bit 不可见部分,表示基址,段从那里开始

l Limit:32bit 不可见部分,表示基址的长度,baselimit 可以确定一个段的大小。

二;段寄存器种类

ES,CS,SS,DS,FS,GS,LDTR,TR……

三;Selector

Selector段选择子,本质上就是有一个数字值,主要作用是通过它来构建段寄存器当中的不可见部分。该部分内容功能如下图:

l Index:在GDT数组或LDT数组当中的索引号(3~15bit)

l TI:当TI=0则表示不可见内容存放在GDT表当中。TI=1,则在LDT表当中。(2bit)

l RPL:请求特权级。以什么样的权限去访问段。(0~1bit)

四;GDTR寄存器与LDTR寄存器

参考连接:https://blog.csdn.net/jadeshu/article/details/72837230

五;GDT表与LDT表

GDT表与LDT表当中保存这段描述符(即段寄存器当中不可见部分)其中GDT表的基址存储在GDTR寄存器当中,LDT表的基址保存在GDT表当中。由段寄存器当中的TI位来决定段寄存器当中的Attribute,Base,limit三个部分存储在GDT表当中还是LDT表当中。

六;段描述符

段描述符存储在GDT表或者在LDT表当中,总共64bit。主要结构如下图:

我们通过windbg来查看一下。

---------------------------------------------------------------------------

注释:段描述符高4字节对应图中上半部分32bit,低4字节对应图中下半部分32bit。

6.1;P属性

P属性在段描述符,位于高4字节,下标为15的位置。详细图下图:

P属性作业:

P=1 段描述符有效,P=0 段描述符无效。

6.2;G属性

G属性位置如下图:

G作用:

G=0,Limit 的单位是字节,意味着Limit最大的界限是000FFFFFH。

G=1,Limit 的单位是4KB,意味着Limit最大的界限是FFFFFFFFH。

6.3;S属性

S属性位置如下图:

S属性作用:

S=1,段描述符表示代码段或者数据段描述符。

S=0,段描述符表示系统段描述符。

6.4;TYPE属性

TYPE属性如下图:

TYPE属性的不同含义是根据S属性来决定的。当S=1时和S=0时,TYPE属性的含义时不相同的。

6.4.1;代码/数据描述符

当S=1时,表示该描述符号为代码描述符或者数据描述符。TYPE属性当中11位为0则表示数据段,为0则表示数据段。详细如下图:

数据描述符当中(S=1,TYPE11位=1)

l W表示是否可写,W=0表示不可写,W=1表示可写。

l A表示是否访问过,A=0表示代码没有加载过,A=1表示代码被加载过。

l E向下扩展位,E=0,表示向上扩展,E=1,表示向下扩展。

当S=1时,表示该描述符号为代码描述符或者数据描述符。TYPE属性当中11位为0则表示数据段,为1则表示代码段

l A访问位,A=0,没有访问,A=1,访问过

l R可读位,R=0,不可读,R=1,可读

l C一致位,C=1 一致代码段,C=0非一致代码段

6.4.2;系统段描述符

当S=0时,表示该符号位位系统段描述符。在系统段描述符当中不同的TYPE属性表示含义如下图:

6.5;DPL属性

该属性只有两种值,00和11。具体内容以后分解

6.6;D/B属性

D/B位置如下图:

D/B属性作用:

l 对CS段影响

n D=1,采用32bit寻址方式

n D=0,采用32bit寻址方式

l 对SS段影响

n D=1,隐式堆栈访问指令,使用32bit堆栈指针寄存器ESP

n D=1,隐式堆栈访问指令,使用16bit堆栈指针寄存器SP

l 向下扩展的数据段影响

n D=1,段上线为4GB

n D=0,段上线为64KB

七;段描述符对比段寄存器当中不可见部分

Base部分对应位置如下图:

Limit部分:

Attribute部分:

    推荐阅读
  • 王杰为啥退出歌坛(王杰宣布退出歌坛)

    歌手王杰10日凌晨微博发文,感叹已经失去原有的嗓音,发完最后一张专辑将彻底退出歌坛。王杰12岁时父母离婚,14岁时首次创作歌曲《娃娃在哭了》。当时流行乐坛异常活跃,不断有新秀涌现,逐渐地,人们似乎已经忘记了王杰。直到2010年以后,王杰才以演唱会的形式回归歌坛,但已经风光不再了。对一个歌手而言,这种打击无疑是极其残忍的,对王杰而言无异于晴天霹雳。感情都是相对的,香港的娱乐圈媒体也对王杰不甚友好。

  • 桂林西山公园门票优待政策有哪些 桂林西山公园要门票吗

    桂林西山公园门票优待政策儿童:7周岁(含)-18周岁(含)未成年人,半价;6周岁(含)以下或身高1.2米(含)以下的儿童,免费学生:全日制大学本科及以下学历学生(含香港、澳门、台湾等入境游学生),半价老人:60周岁(含)至64周岁(含)以下的老年人,半价;65周岁及以上老年人,免费军人:现役军人、革命伤残军人、烈属,免费残疾人:残疾人,免费补充说明:以上信息仅供参考,具体信息请以当天披露为准开放时

  • 薄荷是否要每天浇水(薄荷多久浇一次水好)

    跟着小编一起来看一看吧!薄荷是否要每天浇水夏天蒸发量大两天左右。当气温已经达到三十多度的时候,薄荷这个时候最缺水了。它是喜欢水喜欢阳光的植物,所以基本上每天都需要浇水了。冬天的话,只要盆里面的土不是干的发白就好了,稍微浇点水保持些微的湿润就可以了。等着春天的时候冒出新的枝芽来再浇水吧。薄荷喜温暖潮湿和阳光充足、雨量充沛的环境。水分对薄荷的生长发育有较大的影响,植株生长初期和中期要求水分较多。

  • 2023南阳普通话报名手机上可以报吗 2023南阳普通话报名手机上可以报吗知乎

    不可以,南阳市普通话报名地点为各县区教体(育)局报名点。

  • 游戏情侣名字一对搞怪(一对搞怪游戏情侣名字大全)

    ==,下面我们就来聊聊关于游戏情侣名字一对搞怪?接下来我们就一起去了解一下吧!游戏情侣名字一对搞怪======(久不遇)==(久不愈)============

  • 英语万能口语表达(让你的英语更地道)

    下面自学君就列举9个美国人常用表达,让你的口语听起来更地道。beheadedto在美式口语中还是比较常见。hangout通常是和熟悉人一起出去溜达溜达。messup意思是“弄乱或者搞砸”。类似的表达还有screwup。当你用blowaway时,说明那个东西好到让你印象深刻。上面这9个表达,一定能让你的英语口语更上一层楼。更多英语自学内容,欢迎关注我的头条号。

  • 孔雀草的种植方法 孔雀草的种植方法和时间

    3、温度控制:孔雀草上盆后温度可由22℃降至18℃,经过几周后可以降至15℃,开花前后可低至12~14℃,这样的温度对形成良好的株形是最理想的,但在实际生产中可能难以达到此条件。

  • 女子和男友一起回娘家(女子跟男友回家过年)

    02林晓婉就是这样一个傻姑娘,痴痴地爱着自己的男友,过年跟他回了老家去见父母。林晓婉已经25岁了,男友27岁,两个人打算过了年就订婚,然后筹备婚礼的事情。林晓婉晚上一个人睡这个陌生的房间有点怕,半夜的时候就跑去男友的房间才睡得安稳。04林晓婉在男友家里住了一个星期,男友才把她送回家。05我能理解林晓婉和她的男友难处,同时也能理解这位准婆婆的担忧,这是两代人关于婚姻和爱情观点的碰撞。

  • excel迷你图怎么做(Excel强大的迷你图)

    怎么对数据做简单直观分析展示呢?选中数据区域,按controlQ,或者单击快速分析图标调出快速分析点击迷你图,折线图。迷你图你学会了吗,其他快速分析的功能:格式、图表、汇总就不逐一列举了啦,相信你们都可以一试就会啦。