【问题标题】:What does a POSIX interface refer to in terms of microkernels?就微内核而言,POSIX 接口指的是什么?
【发布时间】:2015-08-26 14:16:59
【问题描述】:

我在一篇文章中读到以下内容: 任何一种方法(指单片内核或微内核)都可以提供 POSIX 接口,其中内核的设计对于只想编写代码以在任何给定设计上运行的人来说变得不感兴趣。 在这种情况下,POSIX 接口是什么意思?

【问题讨论】:

  • POSIX接口是POSIX standard中定义的接口(可能需要注册,但是注册是免费的,注册后就可以免费使用了,除非以后规则变了我注册十年或更长时间,这是完全可能的)。它是一个类 Unix 接口,如果有帮助的话。

标签: unix linux-kernel operating-system posix


【解决方案1】:

POSIX 是一组标准,它定义了应用程序编程接口 (API) 以及其他一些东西,但我们只关注 API。基本上它定义了一组应该可用的用户空间函数。如果上述功能在所有 POSIX 系统上都可用,则程序可以很容易地从一个 POSIX 系统移植到另一个系统,因此得名可移植操作系统接口。

微内核与单片内核描述了系统的设计方式。微内核被设计为尽可能简单地执行内核必须完成的必要工作。这通常是线程、内存和中断管理以及进程间通信 (IPC)。 IPC 是一个重要的功能,因为微内核没有实现但典型的单体应用程序将实现为用户空间服务并通过 IPC 访问的功能。例如,设备驱动程序和文件系统通常会被实现为用户空间服务。在单体内核设计中,这些都是在内核中实现的(尽管 Linux 也可以有用户空间设备驱动程序或文件系统)。

所以 POSIX 定义了用户空间函数,但没有说明必须如何实现这些函数。因此,单体应用中的open 可能会导致触发open 系统调用。在微内核中,open 实际上可能只是 IPC 系统调用的包装器,它将联系负责处理 open 的用户空间服务(这可能取决于您打开的内容)。所有 POSIX 关心的是有一个 open 并且它的行为正确,它不关心 open 如何完成它的任务。

【讨论】:

    【解决方案2】:

    POSIX interface 表示用户界面,在 POSIX 标准中描述。

    由于是用户接口,它不依赖于特定内核的实现。

    【讨论】:

    • 请详细说明。这个答案对不知道 POSIX 是什么的人没有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2010-10-28
    • 2017-07-16
    相关资源
    最近更新 更多