canonical-address 地址形式

转自:点击打开链接


canonical-address 地址形式就是:64 位的 linear address(virtual address)中的从 MSB(Most Significant Bit)最高有效位到第 63 位全是 0 或 1 的这种形式。


看下面的地址:
   FFFF8010_bc001000:这是符合 canonical-address 的地址,MSB 是 bit47,值为 1。 而 bit63 ~ bit48 全是 1

   00007c80_b8102040:这是符合 canonical-address 的地址,MSB 是 bit47,值为 0。 而 bit63 ~ bit48 全是 0


  实质上,canonical-address 地址中 bit63 ~ bit48 是符号扩展位。bit47 是 64 位地址中最高能表示的位(MSB)。



1、canonical-address 地址形式产生的前提

  当前的 x64 体系中,64 位的 virtual address(linear address)仅实现了 48 位 virtual address,剩下的高 16 位仅仅是作为符号扩展,组成最终的 64 位 virtual address。
  高 16 位是符号位加上 48 位真正的 virtual address 组成 64 位 virtual address,这种地址形式就是 x64 体系中的 canonical-address 地址形式。
  之所以这样做,是考虑到以后实现 52、56、60 以及真正的 64 位 virtual address 时,这种地址形式(48 位+16 符号位)无需做出任何的改变就可以平滑的兼容(52、56、60 或 64 位 virtual address)。
  即:48 位 + 16 符号位这个实现,既可以看成是 52 位 + 12 位符号,也可看成是 56 位 + 8 位符号位,或看成是 60 位 + 4 位符号位,或看成全 64 位 virtual address。这对于软件层面来看完全没有任何影响。
  实现的不同只是 processor 才能感受到,processor 在做 virtual address 转到为 physical address 才有影响。



2、非 canonical-address 地址形式检查

  processor 会对软件上的非 canonical-address 地址形式进行检查,程序中使用了非 canonical-address 会产生 #GP 异常。

象下面这种情形:
   mov rax, qword ptr [0x11223344557788]
--------------------------------------------------------------
  这里 [0x1122334455667788] 明显不是 canonical-address 地址,processor 检查到将会产生 #GP 异常。

  又如:64 bit 下 processor 不会对 descriptor 的 limit 进行任何检查,但会以 canonical-address 地址检查为代替。若 gate descriptor 中的 offset 值是非 canonical-address 地址,processor 检测到就会产生 #GP 异常。等等诸如之类的检查。
### shopplus 域名 DNS 解析配置方法 对于shopplus域名的DNS解析配置,通常涉及设置不同的DNS记录来实现特定的功能需求。这些功能可以包括将域名指向指定的IP地址、邮件服务器或其他子域的服务。 #### 配置A记录 为了使访问者能够通过输入`www.shopplus.com`或`shopplus.com`到达托管网站的实际Web服务器,需要创建一条A(Address)记录。这条记录会把域名直接映射到一个IPv4地址上。例如,在阿里云平台上操作时,应当进入DNS管理界面并添加如下所示的一条新记录: | 类型 | 主机记录 | 记录值 | |------|----------|--------------| | A | @ | 云服务器IP | 这表示当有人尝试访问顶级域名`shopplus.com`时,它会被导向至所填写的具体IP地址[^3]。 #### 设置CNAME记录 如果希望所有的HTTP请求都自动跳转到带有前缀的形式如`http://www.shopplus.com/`, 可以为裸域(`@`)创建一个CNAME (Canonical Name) 别名指向 `www` 子域: | 类型 | 主机记录 | 记录值 | |----------|-----------|-------------| | CNAME(CN)| @ | www.shopplus.com| 这样做的好处是可以集中管理和更新单一的目标位置而不需要更改多个地方的信息。 #### 添加MX记录用于电子邮件接收 为了让发送给此域名下的邮箱能被正确路由处理,还需要定义至少一组Mail Exchange(MX)优先级数值以及对应的SMTP服务器名称作为目标地址。比如: | 类型 | 主机记录 | MX交换机 | TTL(秒) | |-------|---------| | MX | @ | mail.example.com | 86400 | 这里的`mail.example.com`应替换为实际提供邮件服务提供商给出的相关参数[^2]。 #### 使用TXT记录验证所有权和其他用途 有时可能还会用到Text(TXT)类型的资源记录来进行SPF(Sender Policy Framework), DKIM(DomainKeys Identified Mail),或是Google站点认证等功能的支持。这类记录的内容通常是按照具体应用的要求编写而成的文字字符串形式的数据[^1]。 ```bash # SPF Record Example "v=spf1 include:_spf.google.com ~all" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值