当一个系统调用被执行时,有一个权限切换,即允许被执行的代码执行更多的指令和访问用户态代码禁止的数据。
但是没有进程上下文切换,因此内核代码仍在调用进程上下文中运行。这意味着内核不需要搜索哪个进程正在调用它,它已经知道了。getpid 系统调用代码只是从指向包含其自己的进程/线程特定信息的内部结构的指针中检索进程 ID。此结构取决于操作系统的实现。
例如,对于 Illumos (OpenSolaris),该结构被命名为 proc:http : //src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/proc.h#131
归档时间: |
|
查看次数: |
5569 次 |
最近记录: |