内存为什么要分段 分段指的是“段基址+段内偏移”。先说如果没有分段会导致什么情况:CPU访问内存需要把代码编译成机器指令,并以绝对物理地址方式访问内存,如果程序中的地址是绝对物理地址,则必然要存放在内存的固定地方,如果两个程序编译出来的机器指令是相同的物理地址,则会造成覆盖。即只能运行其中一个。 这时便引出分段,“段基址+段内偏移”,如果你知道了程序里面的内容位置相对于程序的头部位置是不变的,即相对位置不变,那么改变段基址,可以避免上面的覆盖现象,所以便有了分段的概念。