在ELf加载中使用段的概念,在内存管理中,逻辑地址也使用段来查找运算符或指令。那么,段之间是否相同? ELF文件加载到内存中进行分段,而这个段就是内存管理中使用的同一个段?
最佳答案
现代操作系统通常不再使用分段内存。分段内存是 1980 年代和 1990 年代 DOS 时代的遗物。虽然您仍然可以为内存操作数选择“段”,但这仅限于 FS 和 GS“段”,它们实际上不是段,而只是偏移量。
大多数架构上的大多数程序的内存模型都是扁平的(不是分段的)。
ELF 段只不过是加载到内存中供进程运行的特定数据 block 。如果进程使用共享库,可能会有很多很多段,因为每个库都包含自己的段。
“分段内存”和“ELF段”这两个概念并没有真正的关联,它们只是共享一个名称。
关于linux - ELF和内存中的段有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45687646/