进程中的系统调用

4
假设一个进程正在运行并调用了系统调用。这是否意味着该进程现在将被阻塞?所有系统调用都会阻塞进程并将其状态从运行更改为阻塞吗?还是取决于当时的情况?

你可以在这里询问:http://unix.stackexchange.com - Mustafa Ekici
1
这个问题是理论性质的,与特定的Unix无关。SO是正确的地方。 - jørgensen
2个回答

3
不,这并不意味着进程被阻塞。一些系统调用是阻塞的,而另一些则不是。但请注意,在内核处理系统调用的时间内,虽然进程仍在运行,但您自己的用户代码不会执行,而是内核代表进程执行代码。

1
一些操作系统甚至具有上调功能,其中用户应用程序注册某些函数以在某些情况下由内核(回到用户空间)调用。 Unix信号机制是一个非常简单的例子,但是一些操作系统具有更复杂的上调功能。
我认为有一些操作系统,在系统调用触发某些内核处理后,可能会触发一些用户空间的上调用。 我忘记了细节

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接