共享库是共享的,因为它们是从磁盘上的同一文件加载的,还是共享的,因为它们被加载到内存中一次并且每个人共享相同的内存区域?在
Linux中,它们被加载一次并虚拟映射到每个进程空间吗?这是如何运作的?
编辑:当我说共享我认为我的意思是动态链接,但如果有差异请告诉我.
最佳答案 通常是后者(尽管$LD_PRELOAD更改了这一点;有关详细信息,请参阅ld.so(8)手册页,ENVIRONMENT部分). CPU TLB用于将库的页面映射到应用程序的进程空间.
共享库是共享的,因为它们是从磁盘上的同一文件加载的,还是共享的,因为它们被加载到内存中一次并且每个人共享相同的内存区域?在
Linux中,它们被加载一次并虚拟映射到每个进程空间吗?这是如何运作的?
编辑:当我说共享我认为我的意思是动态链接,但如果有差异请告诉我.
最佳答案 通常是后者(尽管$LD_PRELOAD更改了这一点;有关详细信息,请参阅ld.so(8)手册页,ENVIRONMENT部分). CPU TLB用于将库的页面映射到应用程序的进程空间.