更改调用进程优先级的函数(例如: nice())应该实现为库调用还是系统调用?我在网上读到它,据我所知,它过去是一个系统调用,但现在它是一个库调用。为什么会这样呢?
发布于 2019-12-07 23:24:46
所有函数都是库调用。您现在看到的问题是一个草率的简写,即是否存在与语义直接对应的syscall,这样库函数就可以按照return syscall(SYS_foo, ...);的思路做一些微不足道的事情。
通常,在历史上的某个时刻,会出现一个完全对应于该函数在该时刻的操作的syscall,但是:
在任何一种情况下,如果有一种合理的方法来完全使用其他syscall实现操作,这通常比实现syscall的"v2“更有意义。此外,即使添加了新的syscall,为了可扩展性或为了满足其他现有需求,通常也会添加比旧接口更通用的接口。因此,它可能不会直接对应于所实现的功能,只是提供了一种获取功能的方法。
https://stackoverflow.com/questions/59227332
复制相似问题