请输入您要查询的百科知识:

 

词条 VDSO
释义

  1. See also

  2. References

{{Refimprove|date=June 2010}}{{lowercase}}vDSO (virtual dynamic shared object) is a kernel mechanism for exporting a carefully selected set of kernel space routines to user space applications so that applications can call these kernel space routines in-process, without incurring the performance penalty of a context switch that is inherent when calling these same kernel space routines by means of the system call interface.[1]

vDSO has been developed to offer the vsyscall features and to overcome its limitations: small amount of allocated memory allowing only 4 system calls and same addresses ABI in each process compromising security. This security issue has been by emulating a virtual system call introducing a penalty latency.[2]

vDSO uses standard mechanisms for linking and loading i.e. standard Executable and Linkable Format (ELF) format.[3][4]

vDSO is a memory area allocated in user space which exposes some kernel functionalities. vDSO is dynamically allocated (vsyscall is statically allocated) offering memory space randomization safer and more than 4 system calls. vDSO links are provided via the glibc library. If the kernel does not have vDSO support, a traditional syscall is made.[2]

It helps to reduce the calling overhead on simple kernel routines, and also can work as a way to select the best system-call method on some computer architectures such as IA-32.[5]

An advantage over other methods is that such exported routines can provide proper DWARF (Debug With Attributed Record Format) debugging information.

Implementation generally implies hooks in the dynamic linker to find the vDSOs.

See also

  • Application binary interface

References

1. ^{{cite web|url=http://manpages.ubuntu.com/manpages/wily/man7/vdso.7.html|title=vDSO - overview of the virtual ELF dynamic shared object|publisher=Canonical|accessdate=10 December 2015}}
2. ^{{cite web|url=http://stackoverflow.com/questions/19938324|title=Community answer to question "What are vDSO and vsyscall?"|accessdate=19 November 2016}}
3. ^{{cite web|url=http://www.linuxjournal.com/content/creating-vdso-colonels-other-chicken|title=Creating a vDSO: the Colonel's Other Chicken|publisher=Linuxjournal.com|accessdate=16 February 2015}}
4. ^{{cite web|url=https://lwn.net/Articles/446528/|title=On vsyscalls and the vDSO|publisher=Lwn.net|accessdate=16 February 2015}}
5. ^{{cite web|url=https://lwn.net/Articles/604515/|title=Anatomy of a system call, part 2|publisher=Lwn.net|accessdate=19 November 2018}}
{{Linux-stub}}{{Unix-stub}}

2 : Application programming interfaces|Operating system technology

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/14 13:57:51