首页 > 编程知识 正文

es9新特性,sweetalert2

时间:2023-05-06 17:59:43 阅读:109109 作者:3908

最初开始ORANGE‘S时,陷入了保护模式。 我感到代码枯燥无味,很难懂。 不管读了多少次文字,都还在犹豫。 觉得自己基础太烂了,看着大灰狼,保护模式终于有了基本概念。 因此笔记本基本上使用的是大灰狼的课堂笔记本,而代码和实现环境使用的是orange’s。 最终的目的是学习orange’s。 很遗憾,一直没有找到狼老师的第二部分,后面的学习进度也让自己有点担心。

要理解保护模式,首先从实模式开始。

一.实模式

首先,添加计算机时,CPU默认在实模式下运行。

实模式具有只能访问地址在1M以下的存储器的特征。 (1M以下的内存为普通内存,1M以上的内存为扩展内存)。

地址方式为seg:offset,基址:偏移地址模式,可读取20位即1M的存储器。

但是,80386有32条地址线,也就是2的32次方即4GB的地址空间,但是与16位CPU完全兼容,能够继续使用16位CPU的存储器地址方式。 也就是说,80386使用16位寄存器表示存储器地址,但寻址方式与实模式基址:偏移地址模式不同。 此问题是为了保护模式而需要解决的问题。

二.保护模式

保护模式下仍使用16位cxdhb和通用寄存器

1、存储器访问思路

实模式和保护模式的内存都表示为一个内存段。 另一方面,在实模式下,采用基址:偏置地址方式进行数据的访问。 在保护模式下,cxdhb将预分隔的内存段信息保存在表中,而cxdhb保存所访问的内存段在表中的索引。 因此,在保护模式下,cxdhb的内容产生了新的含义。 也就是说,这是为了保存此表的索引项。 表示该存储器段信息的表是段描述符表,表示表中每个32比特的存储器段的信息被称为段描述符,而存储表中的索引的cxdhb也称为不安全组。

2、不安的年轻人

不安分群,即cxdhb的内容为16位,其中前13位表示段描述符中的索引,后3位表示段描述符表中指定的段描述符属性。

从不安的年轻人的配置可以看出,段描述符最多有2的13次方,即8096个,即最多8096个描述符。

第三位TI是table indicator,用于指示是从全局描述符表读取描述符,还是从本地描述符读取描述符。

本地描述符(程序自身的内部数据(栈栈栈、数据段信息等) )。

全局描述符:程序必须调用的外部数据(例如库函数)

最低两位(RPL )请求权限级别,用于权限检查

3、形成物理地址

4、段描述符

段描述符为8字节。

寂寞小白菜(segment limit )共有20位,分两部分存储,第一部分存储在1、2字节中,剩下的位于第7字节的后4位。

atgdzt地址(segment base )共有32位,保存时分为两部分。 第一部分0-23位存储在3-5字节中,第二部分24-31位存储在第8字节中。

段属性(attributes ) :包括段属性和寂寞小白菜的第二部分。 其作用是记述该段是数据段、代码段还是堆栈段; 和段描述符中指定的内存段是否存在于物理内存中。

对于数据段/堆积栈段,是否可写。

对于代码段,是否可执行。

其中段属性的16位具体分布如下:

type )说明用段描述符记述的段的具体属性(数据/代码、读取/写入)

“DT”表示描述符中指定的是系统段、存储段,还是通常为存储段

DPL :权限级别,最高为0,最低为3 (操作系统级别为0 ) )。

p :此描述符是否对地址转换有效(1:有效0 :无效) ) ) ) ) )。

limit :寂寞小白菜的剩余部分

AVL :软件的可用性,80386对该比特没有规定

D :对于代码段,是16位(0)还是32位)1); 对于数据段,是64k(0)还是4GB ) )1)

g )寂寞小白菜粒度,G=0,段边界为64k,G=1,段边界为4GB (保护模式下均为4GB ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。