2012-04-08 74 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