0

例如,当我们在 minix 的程序中调用 write(...) 时。是否创建了新进程(如使用 fork())还是在当前进程中完成?进行大量系统调用是否有效?

4

1 回答 1

1

进程创建严格来说是fork' / exec' 的工作。像 write 这样的系统调用可能会产生什么样的进程?

现在,Minix 是一个微内核,这意味着文件系统之类的东西在用户态进程中运行。因此,写入文件可能会在其他地方产生一个新进程,但这取决于您的文件系统驱动程序。到目前为止,我还没有关注 MinixFS 驱动程序,因此我无法告诉您是否会发生这种情况——但这不太可能,进程创建仍然相对昂贵。

进行大量系统调用(涉及上下文切换)几乎永远不会有效。但是,“performant”、“efficient”和“a lot”都是非常相对的东西,所以我不能告诉你一些你可能还不知道的东西。

于 2015-02-08T17:25:58.770 回答