读书小笔记

2018-01-19  本文已影响0人  孙悟空365

关于程序装载时的方案,windows和linux采用了不同的方案,在对这两进行比较的时候,书中提到了"空间换时间的案例"这个概念。

然后我脑洞小开,想到了之前看过的一个泰国电影《天才枪手》,男女主角从泰国打飞的到澳大利亚考SAT,就是想利用澳大利亚和泰国的时差,从某种程度上来说,也算是空间换时间的一个例子了。

以下是书中的内容小总结,希望通过“空间换时间”这个例子来帮助自己理解和记忆。
Windows PE的DLL重定基地址方案,会比较浪费内存。比如当一个DLL被多个进程共享,并且这个DLL被这些进程装载到不同的位置,那么每个进程都需要有一份单独的DLL代码段的副本。(因为DLL代码段不是地址无关的)
Linux ELF的共享对象代码段地址无关方案,比DLL重定基地址方案,更加节省内存,但是由于ELF的PIC机制需要对外部数据和函数的引用计算GOT位置,所有理论上速度会比DLL重定基地址方案更慢。

上一篇下一篇

猜你喜欢

热点阅读