bsd mac linux,macos-Mac OS X和BSD有多紧密的联系?
macos-Mac OS X和BSD有多紧密的联系?
我读到Mac OS X和bsd相关。 它们之间有多紧密的联系。 可以调整Mac OS X软件并将其安装在BSD上吗?
6个解决方案
31 votes
在OS X 10.4时代,我花了一些时间未能为OS X编写VFS。在那些日子里,在内核的主要子系统中,只有网络堆栈和VFS仍然是真正的BSD。 那时,甚至对VFS进行了部分重写,以使其更具模块化(所有BSD VFS数据结构都变为不透明指针,并且API通过所谓的KPI函数)。 我相信网络堆栈将以同样的方式运行。 在与用户区的接口上还存在一个薄层,这使得OS对用户区程序而言就像BSD。
其他所有内容几乎都被重写或替换了:内存管理,过程管理等来自Mach微内核; 设备驱动程序子系统由Apple从头开始编写。
在用户界面编程方面,OS X与BSD非常相似,为BSD编写的程序应易于移植。 但是,OS X具有许多BSD中不可用的API。 这些几乎包括与用户界面有关的所有内容-图形,声音等。还有BSD中不存在的其他界面,例如启动API,它是OS X启动后台进程的首选方式。
JeremyP answered 2020-07-03T05:54:39Z
20 votes
Wikipedia BSD的文章很好(并且根据我的理解,这是值得的)。 它说,构建苹果Mac OS X的系统Darwin是4.4BSD-Lite2和FreeBSD的派生产品,并指出4.4BSD是Berkeley参与的最后一个版本。
因此,达尔文就是您所能获得的BSD(就像其他所有BSD一样!)。 OS X指的是发行版中那些不是开源的部分,主要是GUI,但包括各种框架,而依赖这些框架的任何部分都不是可移植的。
OS X总体上是UNIX 03系统。 这等效于成为真正的POSIX兼容系统(而不是类似POSIX的系统)。
正如其他答案所指出的那样,对于拥有大量Unix经验的人来说,操作系统的用户区部分并不令人惊讶,而且我在OS X上构建可移植的unix软件几乎没有任何困难。
相比之下,操作系统的非用户部分则完全不同。 苹果似乎很乐意在这些领域进行创新。 我认为(但我不是很肯定)这些变化是达尔文的正式组成部分。 最明显的区别之一是,launchd已取代了inetd和许多启动基础架构中的cron。
Norman Gray answered 2020-07-03T05:55:18Z
7 votes
如果Mac软件使用Apple专有的显示库Cocoa(如果在带有GUI的Mac上运行并且不需要启动X服务器,则可以使用该库),那么在正常的BSD系统上运行代码可能会遇到一些问题。
如果您的代码仅使用POSIX指定的功能,它将干净地移植到Linux,BSD甚至Windows。
Mac OS X和BSD确实是相关的。 尽管它们具有不同的内核,但是它们共享一个共同的祖先和大量的用户区代码。 显然,我无法量化“接近程度”-这是主观的。
Borealid answered 2020-07-03T05:55:47Z
4 votes
Mac OS X是BSD Unix的一种。 正如Borelaid已经指出的那样,这并不一定意味着将Mac应用程序移植到其他BSD版本将很容易甚至可管理,远不及其他常见BSD版本之间。 他们每个人都有自己的特点,而OS X比大多数人都多。
将程序从其他BSD风格移植到OS X也涉及工作,并且并不总是(顺利或根本没有)工作,但是通常要简单得多。
Christopher Creutzig answered 2020-07-03T05:56:12Z
1 votes
这取决于您要移植的应用程序类型。 如果编写兼容POSIX的C / C ++控制台程序,它们将在任何兼容POSIX的系统(主要是Linux和BSD风格)下编译并正常工作,但是请注意OS X通常不会实现最新的POSIX功能(例如utimensat )(可在Linux中使用)。 另一方面,图形应用程序使用Cocoa或较旧的Carbon,这需要GNUstep。 移植图形应用程序非常少见,因为每个图形环境都有不同的设计标准和约定,因此通常必须为每个图形环境从头开始编写图形应用程序。
Philipp answered 2020-07-03T05:56:33Z
0 votes
已安装-否。
从源代码移植,也许-参见Gnustep,Cocotron,EtoileOS-所有这些都与Cocoa开发堆栈(但与较旧的Carbon不兼容)具有不同程度的兼容性。以此方式开发的x平台Objective-C软件数量有限。
JulesLt answered 2020-07-03T05:56:58Z
bsd mac linux,macos-Mac OS X和BSD有多紧密的联系?相关推荐
- linux bsd命令,linux ps命令详解(BSD风格)
linux ps命令详解(BSD风格) linux中ps只显示进程的静态快照,及瞬间的进程状态,它拥有众多的风格,可分为3组:UNIX风格,BSD风格,GNU风格,本文介绍BSD风格的ps指令. 参数 ...
- mvn Mac Linux 版本,Mac 下 Maven 的命令行安装
JDK 的安装 系统的"系统偏好设置"中我们可以看到 Java的设置, Java 7(含) 之后的版本在这里可以看到. 点击进去后,可以看到独立的 Java 控制面板 注意,这里是 ...
- mac linux 远程,Mac远程桌面到Linux服务器
假期结束,回到学校开始干活 :] 为了远程使用Linux服务器,折腾了一个下午.最终看来还是用vnc最简单了. 实验室有两台强劲的Linux服务器用来做研究.之前我一直都是用ssh登到服务器上去码代码 ...
- VIM安装YouCompleteMe(Windows/Mac/Linux)
VIM安装YouCompleteMe 前言 前一阵子一直在折腾YouCompleteMe这个插件,在Mac.Ubuntu.Windows上都试过,全部安装成功,其中 windows最费劲,今天也写出来 ...
- linux macos 程序员,关于macos:Linux相当于Mac OS X“open”命令
我在命令行中发现Mac OS X中的"open"命令非常方便. 从"男人开放": The open command opens a file (or a dir ...
- bcd 增加 引导linux系统 mac os x 系统,Windows 7+Windows XP+Ubuntu+Mac OS多系统引导完全解决方案...
4个操作系统集成:Windows XP(选择原版最好 15G),Windows 7(选择原版最好 25G),Ubuntu(10G),Mac OS(iDeneb版Mac OS 才能安装到PC机上 20G ...
- 将服务端移植到Linux和MAC OS
文章目录 1 将服务端移植到Linux和MAC OS 1.1 概述 1.2 服务端代码实现 1 将服务端移植到Linux和MAC OS 1.1 概述 这里我们将服务端移植到Linux和MAC OS,差 ...
- bcd 增加 引导linux系统 mac os x 系统,系统引导维护工具 EasyBCD 2.4.0.237 中文多语免费版...
EasyBCD 2.4 中文多语特别版由大眼仔旭(www.dayanzai.me)发布.EasyBCD 是一款免费软件,EasyBCD 能够极好地支持多种操作系统与 Windows 7.Vista 结 ...
- 将客户端移植到Linux和MAC OS
文章目录 1 将客户端移植到Linux和MAC OS 1.1 概述 1.2 客户端移植代码 1 将客户端移植到Linux和MAC OS 1.1 概述 我们这里把将客户端移植到Linux和MAC OS, ...
最新文章
- R语言dplyr包使用mutate函数生成新的数据列(不改变原数据列)实战
- redhat6.4 添加yum本地源和安装virtualbox增强组件
- AQS抽象队列同步器详解(待更新)
- C# 解决串口接收数据不完整
- SAP云平台上的Business Partner业务合作伙伴和账户主数据服务
- LPWSTR 类型的实参与const.char *类型形参不兼容
- 数学哲学与科学哲学和计算机科学的能动作用,数学哲学与科学哲学和计算机科学的能动作用...
- vue创建项目报错Failed to get response from /vue-cli-version-marker 只有一个package.json文件
- 测试技术-兼容性测试
- 程序员今年最值得关注的 23 种新移动技术
- 如何阅读一本书——阅读笔记+个人体会【建议写书评或文献综述前读读这本书】
- AlibabaCloud
- 我喜欢出发 - 汪国真
- 14、odoo的仪表板
- c#开发wps插件(3)部署
- 华为海思人脸识别方案 海思 3516嵌入式 Linux系统人脸识别开发模组套件
- 一文带你了解学习python的用处及好处,建议收藏
- 网络设备的升级与备份
- 联想LJ2400激光打印机开机4灯闪烁维修分析
- 怎么注册国外企业电子邮箱地址?有微信企业邮箱登录入口吗?
热门文章
- 云媒体服务器设置在哪个文件夹,安装和使用Jellyfin配置Linux媒体服务器
- Markdown图片居中、文字居中
- 求职软件开发工程师,我需要准备什么?一些资源分享
- 第一章 什么是CRM?
- 杰奇1.7用php53,杰奇CMS 1.7商业版注入漏洞
- 关于苹果开发证书失效的解决方案(2016年2月14日Failed to locate or generate matching signing assets)
- 微型计算机拆的步骤视频,微型计算机拆卸.ppt
- 企企通受邀参加中国供应链高层峰会,共同探讨采购与供应链解决方案
- 永恒之蓝黑脏牛提权范围
- 激光SLAM理论与实践(一)--激光SLAM简要介绍