最新消息:

macos – os系统 – Mac OS X和BSD有多紧密相关?

感想 eben 535浏览 0评论

我读到Mac OS X和bsd是相关的。 他们有多紧密相关。 可以在BSD上调整和安装Mac OS X软件吗?

macos unix (6)

Mac OS X  BSD Unix的一种风格。 正如Borelaid已经指出的那样,这并不一定意味着将Mac应用程序移植到其他版本的BSD将是容易的甚至是可管理的,远远不如其他常见的BSD风格。 他们每个人都有自己的细节,而OS X比大多数都要多。

将程序从其他 BSD风格移植到OS X也涉及工作,并不总是有效(顺利或根本),但通常要简单得多。


回到OS X 10.4的时代,我花了一些时间未能为OS X编写VFS。在那些日子里,在内核的主要子系统中,只有网络堆栈和VFS仍然是真正的BSD。 那时,甚至VFS也被部分重写以使其更加模块化(所有BSD VFS数据结构都成为不透明的指针,而API则通过所谓的KPI函数)。 我相信网络堆栈的方式是一样的。 在userland的界面上还有一个薄层,使操作系统看起来像BSD到用户程序。

其他所有东西都被重写或替换:内存管理,流程管理等来自Mach微内核; 设备驱动程序子系统是Apple公司从头开始编写的。

在用户态编程方面,OS X与BSD非常相似,为BSD编写的程序应该易于移植。 但是,OS X有很多在BSD中不可用的API。 这几乎包括与用户界面有关的一切 – 图形,声音等。在BSD中还有其他接口,例如启动API,这是OS X启动后台进程的首选方式。


如果Mac软件使用Cocoa,Apple的专有显示库(如果它在带有GUI的Mac上运行,并且不需要启动X服务器),那么在正常的BSD系统上运行代码可能会遇到一些问题。

如果您的代码仅使用POSIX指定的函数,它将干净地移植到Linux,BSD甚至Windows。

Mac OS X和BSD确实是相关的。 虽然它们具有不同的内核,但它们共享共同的祖先和重要的用户区代码。 显然,我无法量化“多近” – 这是主观的。


安装 – 没有。

从源头开始,可能 – 参见Gnustep,Cocotron,EtoileOS–所有这些都提供与Cocoa开发堆栈不同程度的兼容性(但不与旧的Carbon相容)。 以这种方式开发的x-platform objective-C软件数量有限。

转载请注明:落伍老站长 » macos – os系统 – Mac OS X和BSD有多紧密相关?

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址