我在一篇文章中读到以下内容: 任何一种方法(指单片或微内核)都可以提供POSIX接口,其中内核的设计对于想要编写代码以在任何给定设计上运行的人来说变得不太感兴趣。 POSIX接口在这种情况下意味着什么?
答案 0 :(得分:1)
POSIX是一套定义应用程序编程接口(API)的标准,以及其他一些东西,但我们只关注API。基本上它定义了一组应该可用的用户空间函数。如果所有POSIX系统都具有所述功能,则可以轻松地将程序从一个POSIX系统移植到另一个POSIX系统,因此称为便携式操作系统接口。
微内核与单片内核描述了系统的设计方式。微内核被设计为尽可能简单地执行内核必须完成的必要工作。这通常是线程,内存和中断管理以及进程间通信(IPC)。 IPC是一个重要的因为微内核不能实现的功能,但是典型的单块将被实现为用户空间服务并通过IPC访问。例如,设备驱动程序和文件系统通常将实现为用户空间服务。在整体内核设计中,这些是在内核中实现的(尽管Linux可以使用用户空间设备驱动程序或文件系统)。
所以POSIX定义了用户空间函数,但它没有说明这些函数是如何实现的。因此,整体中的open
可能会导致open
系统调用被触发。在微内核中open
实际上可能只是IPC系统调用的包装器,它将联系负责处理open
的用户空间服务(这可能取决于你打开的内容) )。所有POSIX都关心的是open
并且行为正确,它并不关心open
如何完成其任务。
答案 1 :(得分:-2)
POSIX interface
表示用户界面,在POSIX标准中描述。
由于它是 user 接口,因此它不依赖于特定的内核的实现。