线程调用系统调用时的上下文切换

时间:2012-03-15 21:25:52

标签: linux scheduling system-calls context-switching

我有一个多线程的进程。如果我的一个线程调用类似gettimeofday()的系统调用,内核是否只将该线程切换到上下文以服务系统调用,或者是否将整个进程(以及所有其他线程)切换出上下文? / p>

2 个答案:

答案 0 :(得分:2)

大多数system calls可能涉及上下文切换(如果其他任务可运行)并将处理器的状态切换到内核模式。

gettimeofday(例如getpid())不常见。使用最新的内核,他们使用VDSO来避免它(甚至避免syscallsysenter指令切换到内核模式。

答案 1 :(得分:1)

对于linux内核,线程是一个进程。因此,当其中一个进程进行系统调用时,内核对进程的其他线程没有兴趣。