0

我了解到操作系统中的分段是基于将不同的段(对于程序,这些段可以表示符号表、源文本、堆栈...)划分为从逻辑内存地址 0 开始的单元。这是除了偏移量之外,MMU (?) 用来获取真实值的虚拟地址。

分段的一个明显好处是,由于每个段都从地址 0 开始,因此多个进程可以同时利用单个段(例如共享库)。

但是,我看不出分割还能如何使程序员受益。会有什么例子?

谢谢!

4

1 回答 1

2

分段对程序员没有任何好处。分段是为克服架构限制而开发的一个组合。16 位 PDP-11 计算机只能寻址 64K 的内存。分段的使用允许程序员映射内存进出地址空间以访问更多内存。

8086芯片倒退了。IBM 在 PC 上使用它而不是 68000 使计算机行业倒退了数年。8086 使用段来减少指令的大小。指令可以使用段寄存器的偏移量,而不是使用 32 位作为地址。

在 64 位模式下,英特尔处理器中段的可憎性终于消失了。

于 2014-11-30T16:22:35.957 回答