在 Minix 中调用 syscall 时是否创建了一个新进程?
Does a new process is created when syscall is called in Minix?
比如我们在minix的程序中调用write(...)。是否创建了一个新进程(如使用 fork())还是在当前进程中完成?
进行大量系统调用是否有效?
进程创建严格来说是 fork
/exec
的工作。像 write 这样的系统调用可能产生什么样的进程?
现在,Minix 是一个微内核,这意味着用户态进程中的文件系统 运行 之类的东西。因此,写入文件 可能 可能会在其他地方产生一个新进程,但这取决于您的文件系统驱动程序。到目前为止我还没有关注 MinixFS 驱动程序,所以我不能告诉你是否会发生这种情况——但不太可能,进程创建仍然相对昂贵。
进行大量系统调用(涉及上下文切换)几乎从来没有效率。但是,"performant"、"efficient" 和 "a lot" 都是 非常 相关的东西,所以我不能告诉你一些你可能还不知道的事情.
比如我们在minix的程序中调用write(...)。是否创建了一个新进程(如使用 fork())还是在当前进程中完成? 进行大量系统调用是否有效?
进程创建严格来说是 fork
/exec
的工作。像 write 这样的系统调用可能产生什么样的进程?
现在,Minix 是一个微内核,这意味着用户态进程中的文件系统 运行 之类的东西。因此,写入文件 可能 可能会在其他地方产生一个新进程,但这取决于您的文件系统驱动程序。到目前为止我还没有关注 MinixFS 驱动程序,所以我不能告诉你是否会发生这种情况——但不太可能,进程创建仍然相对昂贵。
进行大量系统调用(涉及上下文切换)几乎从来没有效率。但是,"performant"、"efficient" 和 "a lot" 都是 非常 相关的东西,所以我不能告诉你一些你可能还不知道的事情.