Darwin

未知
BSD
2009-10-25
红薯

Darwin 是由 蘋果電腦 於 2000年 所釋出的一個 開放原始碼 作業系統

Darwin 是 Mac OS X 和iPhone OS操作環境的作業系統部份。蘋果電腦於 2000年 把 Darwin 釋出給開放原始碼社群。現在的 Darwin 皆可以在蘋果電腦的 PowerPC 架構和 X86 架構下執行,然而後者的架構只有有限的驅動程式支援。

Darwin 是一種 類Unix 作業系統,整合數種的技術,包含開放原始碼的 XNU 核心,一種以微核心為基礎的核心架構來實作Mach kernel作業系統 的服務和 userland 工具是以 4.4 BSD(柏克萊軟體套件的UNIX),特別是 FreeBSD 和 NetBSD 為基礎。類似其他 Unix-like 作業系統,Darwin 也有 對稱多處理器 的優點,高效能的網路設施和支援多種整合的檔案系統。

整合 Mach microkernelXNU 核心 的好處是可攜性,或者是在不同形式的系統使用軟體的能力。舉例來說,一個 作業系統 核心整合了 Mach microkernel ,能夠提供多種不同 CPU 架構的二進位格式到一個單一的檔案(例如 x86 和 PowerPC),這是因為它使用了 Mach-O 的二進位格式。Mach 整合 的缺點則是增加了 作業系統核心 - kernel - 的複雜度。在過去的 microkernel 實作上,這種複雜度有時候會導致很難分離 kernel 效能的問題。因此,採用 Mach microkernel 會伴隨風險,但它有潛在的好處是廣泛的可攜性。以 Darwin 可攜性的具體例子來說,在 2005年6月,蘋果電腦宣佈它會於 2006年 在 Mac 電腦上開始採用 Intel 處理器。

Darwin 的開發者在 2000年 決定採用一個 吉祥物,選擇了鴨嘴獸 Hexley 而不是它的競爭對手,像是一隻Aqua Darwin fish、Clarus、和一隻海怪。蘋果電腦也沒有把 Hexley 認可為 Darwin 的一個標誌。

2002年4月,在 ISC(Internet Software Consortium,網際網路軟體論壇)上,Apple 成立 OpenDarwin.org,是一個協助合作 Darwin 發展的社群。OpenDarwin 建立它自己釋出的 Darwin 作業系統。值得注意的是 OpenDarwin 子計畫中包含了 DarwinPorts,目標是組合下一世代的 port 集合給 Darwin 使用(對於長期而言,也給其他的 BSD 所衍生的作業系統)。

2003年7月,蘋果在 APSL 的 2.0 版本下釋出了 Darwin,是由 自由軟體基金會 (FSF) 批准為 自由軟體 的許可證。先前在較早的 APSL 版本下,儘管它已經達到開放原始碼定義的要求,但所釋出的先前版本並不符合 FSF 對於自由軟體的定義。

2005年5月蘋果公司關閉了基於Intel架構的Darwin的原始碼。蘋果公司同時宣布,他們將繼續完全開放基於PowerPC架構的Darwin的原始碼。

加载中

评论(0)

暂无评论

苹果发布 OS X 10.10 Yosemite 开源 Darwin 代码

根据 Tonymacx86 网站报告,苹果已经发布了 OS X 10.10 Yosemite 的开源代码,也就是 Darwin 10.10.0 代码,包含 xnu-2782.1.97内核。开源代码昨晚发布,任何人都可以下载研究。Darwin 是一种...

2014/11/01 06:52

没有更多内容

加载失败,请刷新页面

没有更多内容

2
回答
苹果服务器上的应用能否在其他服务器上运行?

问问大伙,我们公司现在有款iPhone App,但是需要后台连接到公司苹果的服务器,OS为:Darwin。现在想问问大家,苹果服务器上的程序能不能移至其他...

2012/05/01 07:24

没有更多内容

加载失败,请刷新页面

没有更多内容

darwin streaming server 6.0.3 ubuntu setup

hursday, April 28, 2011 4:16:51 AM Video Streaming has gained lot of popularity these days and there are very few Open Source Streaming server available that can give Audio/Vide...

2012/06/05 15:50
731
0
Objective-C 中 NULL、nil、Nil、NSNull

NULL NULL 定义在 usr/include/sys/_types/_null.h 文件里: #ifndef NULL #define NULL __DARWIN_NULL #endif /* NULL */ 其中 __DARWIN_NULL 的定义在 usr/include/sys/__types.h 文件里,...

2016/12/20 17:41
11
0
iOS Mach异常和signal信号

本着探究下iOS Crash捕获的目的,学习了下Crash捕获相关的Mach异常和signal信号处理,记录下相关内容,并提供对应的测试示例代码。Mach为XNU的微内核,Mach异常为最底层的内核级异常,在iOS...

2018/07/10 14:47
19
0
go build 不同平台交叉编译

Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能。 Mac下编译Linux, Windows平台的64位可执行程序: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go CGO_ENABLED...

2018/07/15 15:37
218
0
Mac CMake 安装

解决Mac下安装完CMake后,提示"command not found"的问题

2016/11/20 19:57
119
0
Darwin Streaming Server 安装流程

Darwin StreamingServer 安装流程 Darwin StreamingServer 支持开放源代码和基于标准的实时传输协议/实时流协议(RTP/ RTSP)、MPEG-4 和MP3 流协议。 一、安装前的准备 Darwin StreamingSe...

2014/08/16 13:58
403
0
mac使用minikube安装kubernetes

##安装minikube ``` curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.10.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ ``` ...

2016/10/03 11:07
125
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部