在 Solaris 下编写的代码与 Open Solaris 的兼容性如何?我会对一些内核模块特别感兴趣。
4 回答
我认为很难量化软件兼容性,但我想说为 Solaris 编写的代码与 OpenSolaris 内核非常兼容。OpenSolaris 源代码演变成 Solaris 11,Sun 对向后兼容性的承诺是不争的事实。
为 Solaris 编写的内核模块应该在简单的重新编译后在 OpenSolaris 中运行,前提是您使用在 Solaris 和 OpenSolaris 中使用的发行版之间兼容的公开内核 API。
Sun 做了大量工作来确保使用公开的接口编写的程序是兼容的。大多数 API 的手册页底部都有一个列出的“暴露/稳定性”条目,以定义的术语说明人们如何使用它。
特别是内核模块将在 Solaris 和 OpenSolaris 之间非常兼容。OpenSolaris(通过 Project Indiana)正在大力发展用户空间组件,包括安装程序和软件包。
这仅与核心操作系统守护进程有关,而不是内核模块,但我已经成功地从源代码编译 OpenSolaris 组件并在商业 Solaris 上使用生成的二进制文件就好了。使用 Makefile 显然更容易,但我手动完成了一个。
我用少量的二进制文件尝试了这个,我需要添加调试输出并使用 gcc 在商业 Solaris 系统上直接编译它们而没有问题。如前所述,YMMV 基于它是什么应用程序/模块。