Minix / Microkernel中系统调用和内核调用之间的区别

时间:2019-10-25 17:19:05

标签: operating-system minix microkernel

从概念上讲,系统调用和内核调用之间的Minix有什么区别?

我有点理解像Linux这样的操作系统中的这种区别,但是对于像Minix这样的微内核呢?两种通话类型都一样吗?

1 个答案:

答案 0 :(得分:0)

在实现上,微内核和整体内核中的系统调用是相同的-系统调用捕获到内核,并且内核处理请求。

最大的不同是系统调用的目的-让我们以文件系统为例。

在单片内核中,大多数服务都在内核内部实现,包括文件系统。因此,要打开文件,对文件进行操作,需要系统调用。

在微内核中,大多数服务都是在用户级别实现的,需要进行系统调用的内容实际上取决于系统的架构。在组成服务的Minix型系统中,向文件系统服务器发出文件系统请求。这仍然涉及系统调用-但是系统调用是发给文件系统服务器的IPC消息,对所需的操作进行编码,而不是对内核的特定操作的请求。内核只是简化了消息传输。

但是正如我所说,这取决于系统架构。基于微内核的系统可以具有一种体系结构,在该体系结构中,访问文件系统包含在文件系统中,因此大多数文件操作不需要系统调用(但您的存储驱动程序可能会需要一些系统调用)。