2012-04-08 73 views
7

程序如何与微内核/单核内核/外核内核进行通信?程序如何通信 - 微内核单片内核exo内核

enter image description here

我已经读了很多书,显示在画面中,单内核通过系统调用表/文件系统层的程序进行通信。

但微内核和exo内核如何与程序进行通信?

微内核的基础是否与程序直接对话,然后微内核与服务器进行通信?

更新: 我发现这个回答也相当不错

客户端 - 服务器或微内核操作系统的操作系统设计的,微内核新概念的出现,是为了迁移操作系统的traditionalservices出整体的内核进入用户级进程。这个想法将操作系统分解为多个进程,每个进程实现一组服务 - 例如I/O服务器,内存服务器,进程服务器,线程接口系统。每台服务器都运行在用户模式下,为请求的客户端提供服务。客户端可以是其他操作系统组件或应用程序,通过向服务器发送消息来请求服务。以内核模式运行的AnOS内核(或微内核)将消息传递给相应的服务器;服务器执行操作;微内核在另一条消息中将结果提供给客户端

+0

这些书不提到系统调用接口吗?从某种意义上说,在* nix系统上,这是大多数进程与内核进行通信的唯一方式。 – 2012-04-08 00:15:46

+0

@AdamMihalcin所以你说的是程序通过系统调用接口与基础内核进行通信,而不是通过服务器进行通信? – zeitue 2012-04-08 03:09:59

+0

同样在这些文档中https://docs.google.com/viewer?a=v&q=cache:P8U0Y9-4UPkJ:community.qnx.com/sf/sfmain/do/downloadAttachment/projects.core_os/wiki/Oct27_Microkernel_Innovation% 3Fid%3Datch1222 + HL = EN&GL = US&PID = BL&srcid = ADGEESgXFLBn6HJD6f9RndRAJJikgttpH7VoD8MW-YVTg7X2AsucCnhr6m2Jj9ivbSS7DjXnqll7Z8WDyvd2Gb7cBGMWCkjb3sLcqSJinAemmdSHuA0nOJPkXw1KGO05uSJPzpSXAgXn与SIG = AHIEtbSwaYInyP7NR98kM2hMJw5tsX5OrQ就说明,所有的东西传达通过消息总线。但我仍然不知道系统调用表在哪个微内核中。 – zeitue 2012-04-08 07:00:43

回答

2

系统调用是与单核和微内核进行通信的主要方式。使用系统调用接口内核可能会提供许多IPC方法(如信号,共享内存,消息传递)。由于微内核的本质,IPC通常是这种内核中最重要的部分,用于允许程序与服务器进行通信。

换句话说,有系统调用允许程序向内核发出请求。内核提供了一些IPC方法,允许程序彼此通信,包括基于微内核的操作系统中的服务器。

+0

所以程序与内核通信就像程序 - >库 - >服务器 - >内核然后< - ,是吗? – zeitue 2012-04-09 19:43:12