先说一下内存分段,我们知道,一个程序的运行后,在内存中分配情况是分为代码段,数据段,BSS段,堆区还有栈区,如果不分段的话,那么这几个部分就都是连在一起的,这个程序所占用的连续的内存空间就很大,我们内存可能没有这么多的连续内存空间,但是如果是分成这几段的话,内存可能就能够放进去了。 而分页的话,是将虚拟内存和物理内存切成一页一页,每一页的大小是4KB,然后通过页表来进行虚拟地址和物理地址的映射。当程序需要访问某一页时,如果当前内存有就直接访问,如果没有就从磁盘中加载那一页到内存当中再进行访问。(这块没那么好说,可以说一说虚拟地址的映射) 还有段页式的,就是先将程序分段,形成一个段表,每个段又对应自己的页表,页表下面就对应着页。