3 ms·
Oh, so it's like kernel32.dll on the Windows side of things?
by Joker_vD 2y ago
Oh, so it's like kernel32.dll on the Windows side of things?
- account42 2y agoNo, kernel32.dll is a real library that is referenced in the import section of executables and libraries that need it.
- Joker_vD 2y agoWell, yes, it is a real file, but it is always mapped (at least it used to) into every process' memory space, even if you don't import it explicitly, and it provides a user-space layer above the low-level syscalls.
- mrspuratic 2y agolinux-vdso.so is mostly about sharing a data page so syscalls can be optimised away. It's not for all the kernel API entry points (and it's userland specific so the VDSO varies with the libc version according to which features it optimises in this way). For the specific example above gettimeofday() - each process can read the clock value straight out of the shared VVARS page mapped into its space, no expensive context switch.