说明:Linux linux-gate.so.1库/动态共享对象[vdso]
时间:2020-01-09 10:41:44 来源:igfitidea点击:
我使用ldd命令获取有关/usr/local/nginx/sbin/nginx二进制文件的信息,我看到linux-gate.so.1库。
但是,我无法在系统上的任何地方找到此文件吗?
什么是linux-gate.so.1,如何复制此文件?
linux-gate.so.1只是Linux虚拟动态共享对象。
该文件仅存在于每个可执行文件地址空间中。
换句话说,您不必复制或担心此文件,因为它是一个虚拟库。
该虚拟库提供了必要的逻辑,以允许用户程序通过特定处理器上可用的最快方式(中断或与大多数较新的处理器一起)快速访问系统功能。
内核在每个进程内存中的固定地址处公开此VDSO:
cat /proc/self/maps
输出示例:
00400000-00405000 r-xp 00000000 08:03 917599 /bin/cat 00604000-00606000 rw-p 00004000 08:03 917599 /bin/cat 006b5000-006d6000 rw-p 006b5000 00:00 0 [heap] 2ac89a38d000-2ac89a3a9000 r-xp 00000000 08:03 13435115 /lib64/ld-2.5.so 2ac89a3a9000-2ac89a3ab000 rw-p 2ac89a3a9000 00:00 0 2ac89a5a8000-2ac89a5a9000 r--p 0001b000 08:03 13435115 /lib64/ld-2.5.so 2ac89a5a9000-2ac89a5aa000 rw-p 0001c000 08:03 13435115 /lib64/ld-2.5.so 2ac89a5aa000-2ac89a6f8000 r-xp 00000000 08:03 13434936 /lib64/libc-2.5.so 2ac89a6f8000-2ac89a8f8000 ---p 0014e000 08:03 13434936 /lib64/libc-2.5.so 2ac89a8f8000-2ac89a8fc000 r--p 0014e000 08:03 13434936 /lib64/libc-2.5.so 2ac89a8fc000-2ac89a8fd000 rw-p 00152000 08:03 13434936 /lib64/libc-2.5.so 2ac89a8fd000-2ac89a903000 rw-p 2ac89a8fd000 00:00 0 2ac89a903000-2ac89dedc000 r--p 00000000 08:03 22135818 /usr/lib/locale/locale-archive 7fffe69cf000-7fffe69e4000 rw-p 7ffffffe9000 00:00 0 [stack] 7fffe69fc000-7fffe6a00000 r-xp 7fffe69fc000 00:00 0 [vdso] ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vsyscall]