【发布时间】:2017-06-24 12:28:58
【问题描述】:
我正在上我的第一堂操作系统课,所以希望我在这里没有任何大的误解。
我想知道为什么 getpid() 在 Linux 中被实现为系统调用。据我了解,某些函数被制成系统调用,因为它们访问或更改操作系统可能想要保护的信息,因此它们被实现为系统调用,以便将控制权转移到内核。
但据我了解,getpid() 只是返回调用进程的进程 ID。是否存在不授予此信息许可的情况?让 getpid() 成为普通的用户函数不是很安全吗?
感谢您的帮助。
【问题讨论】:
-
这不是为了保护,只是因为进程内部结构是在内核中实现的,而不是用户态库。
标签: linux operating-system kernel system