我正在尝试一段时间来了解该段注册的内容 目的是什么?我已经准备好知道这来自过去(8086) 那里只有1 MB的物理内存。但是CPU已经有了 只有16位宽的地址寄存器。使用这16个地址位 你只能解决64K字节。因此1MByte地址空间必须分开 分为64K大小的段。
在我看来,这是过去的要求,那些工程师在某种程度上限制了有限的存储空间等工作。但我的问题是今天段寄存器的优势是什么?您如何以及在何处使用它们以有用的方式注册? 如果你需要澄清只是评论。
答案 0 :(得分:3)
阅读关于the Flat Model。
今天的段寄存器主要用作向后兼容的遗产(@Jester提到的FS-GS除外)
答案 1 :(得分:2)
可以说,x86-64长模式是“今天”的技术。大多数情况下,经典分段是不存在的,只有FS
和GS
用于实际目的。 FS
通常用于用户模式下的各种线程本地和系统数据,而GS
用于内核模式。后一种用法由SWAPGS
指令支持。