【问题标题】:how do programs communicate - micro kernel monolithic kernel exo kernel程序如何通信 - 微内核 单片内核 exo 内核
【发布时间】:2012-04-21 00:13:56
【问题描述】:

程序如何与微内核/单片内核/exo内核通信?

我读过很多书,如图所示,单片内核通过系统调用表/文件系统层与程序通信。

但是微内核和exo内核如何与程序通信呢?

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

更新: 我发现这回答得很好

客户端-服务器或微内核操作系统 操作系统设计中新概念微内核的出现旨在将操作系统的传统服务从单片内核迁移到用户级进程。其思想是将操作系统划分为若干个进程,每个进程实现一组单一的服务——例如,I/O 服务器、内存服务器、进程服务器、线程接口系统。每个服务器都以用户模式运行,为请求的客户端提供服务。客户端可以是另一个操作系统组件或应用程序,它通过向服务器发送消息来请求服务。以内核模式运行的 AnOS 内核(或微内核)将消息传递到相应的服务器;服务器执行操作;微内核在另一条消息中将结果传递给客户端

【问题讨论】:

  • 这些书都没有提到系统调用接口吗?从某种意义上说,在 *nix 系统上,这是大多数进程与内核通信的唯一方式。
  • @AdamMihalcin 所以你的意思是程序通过系统调用接口而不是通过服务器与基本内核通信?
  • 同样在这些文档docs.google.com/… 中,它显示了所有事物都通过消息总线进行通信。但我仍然不知道这些微内核的系统调用表在哪里。
  • 程序 -> 内核 -> 服务器 -> 内核 -> 程序。

标签: kernel inter-process-communicat microkernel


【解决方案1】:

系统调用是与单片内核和微内核进行通信的主要方式。使用系统调用接口内核可以提供大量的 IPC 方法(例如信号、共享内存、消息传递)。由于微内核的性质,IPC 通常是此类内核中最​​重要的部分,用于允许程序与服务器进行通信。

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

【讨论】:

  • 所以程序与内核通信就像这样程序->库->服务器->内核然后
猜你喜欢
  • 2018-03-06
  • 2011-05-31
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
  • 1970-01-01
  • 2015-05-17
  • 1970-01-01
相关资源
最近更新 更多