linux内存管理只基于页面,没有“段”的概念。
但是,at&t的程序集仍然有“段”的概念,像代码段、数据段,就像intel assmebly的“段”,它们看起来非常相似。
所以我的问题是,“部分”是否和intel汇编中的“段”具有相同的含义?
最佳答案
链接器将具有相同属性的页面收集到“sections”或“program sections”或“psects”中。通常默认情况是为每个内存属性创建一个节。通常:
只读
读/写
需求为零
可执行文件
然而,大多数链接器都有高级设置,允许程序员以不同的方式设置psects。
有些汇编程序有psect指令来将数据放在特定的节中。
有时psect被称为“segments”。例如,“code segment”
还有一些硬件段,正如你所说,在许多英特尔处理器中,它们几乎是大脑受损的一部分(尽管有些其他处理器使用它们)。在64位模式下,英特尔最终转储了段。段寄存器访问此用途的段。
因此,这是两个不同的概念。
关于linux - “内存段”是汇编编程中仅用于英特尔的概念吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41420852/