从概念上讲,系统调用和内核调用在Minix中有什么不同?
我有点理解像Linux这样的操作系统中的这种区别,但是在像Minix这样的微内核中又如何呢?这两种类型的呼叫是否相同?
发布于 2020-03-09 08:08:16
在实现方面,微内核中的系统调用与单片内核中的系统调用是相同的-系统调用捕获到内核,而内核处理请求。
最大的不同在于系统调用的目的--让我们以文件系统为例。
在单片内核中,大多数服务都是在内核内部实现的,包括文件系统。所以要打开一个文件,对一个文件进行操作,需要一个系统调用。
在微内核中,大多数服务都是在用户级实现的,什么需要系统调用实际上取决于系统是如何架构的。在服务被组件化的类Minix系统中,向文件系统服务器发出文件系统请求。这仍然涉及系统调用-但是系统调用是对所需操作进行编码的文件系统服务器的IPC消息,而不是对内核的特定操作的请求。内核只是简化了消息传输。
正如我所说的,这取决于系统架构。基于微内核的系统可以具有这样一种体系结构,即文件系统包含在访问它的进程中,因此大多数文件操作都不需要系统调用(但您的存储驱动程序可能需要一些系统调用)。
https://stackoverflow.com/questions/58563028
复制相似问题