我在 Linux的命令输出中发现了术语“ LSB可执行文件”或“ LSB共享对象”file
。例如:
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=4637713da6cd9aa30d1528471c930f88a39045ff, stripped
Run Code Online (Sandbox Code Playgroud)
在这种情况下,“LSB”是什么意思?
处理器是否需要 MMU(内存管理单元)芯片才能支持虚拟内存?
是否可以在软件中模拟 MMU 功能?(我知道它可能会对性能产生很大影响)。
memory hardware hardware-compatibility emulation virtual-memory
我注意到我编译为 gcc 的所有程序都链接到 vdso 库。这是包含对内核的系统调用的库,例如 mmap() 和 fork() 以及其他系统调用吗?
我知道系统调用不是 GNU C 标准库的函数,所以它们的目标代码必须在编译时与应用程序链接的某个库中?
那么 vdso 是那个库吗?
kernel libraries system-calls dynamic-linking shared-library
我尝试了这两个命令,命令 find | grep 'filename'
比简单find 'filename'
命令慢很多倍。
这种行为的正确解释是什么?
command-line ×1
elf ×1
emulation ×1
executable ×1
file-format ×1
file-search ×1
find ×1
grep ×1
hardware ×1
kernel ×1
libraries ×1
memory ×1
search ×1
system-calls ×1
terminology ×1