有些人可能會認為 macOS 和 Linux 內核之間存在相似之處,因為它們可以處理類似的命令和類似的軟件。有些人甚至認為蘋果公司的 macOS 是基于 Linux 的。事實上是,兩個內核有著截然不同的歷史和特征。今天,我們來看看 macOS 和 Linux 的內核之間的區別。
macOS 內核的歷史
我們將從 macOS 內核的歷史開始。1985 年,由于與首席執行官 John Sculley 和董事會不和,史蒂夫·喬布斯離開了蘋果公司。然后,他成立了一家名為NeXT的新電腦公司。喬布斯希望將一款(帶有新操作系統的)新計算機快速推向市場。為了節省時間,NeXT 團隊使用了卡耐基梅隆大學的Mach 內核和部分 BSD 代碼庫來創建NeXTSTEP 操作系統。
NeXT 從來沒有取得過財務上的成功,部分歸因于喬布斯花錢的習慣,就像他還在蘋果公司一樣。與此同時,蘋果公司曾多次試圖更新其操作系統,甚至與 IBM 合作,但從未成功。1997年,蘋果公司以 4.29 億美元收購了 NeXT。作為交易的一部分,史蒂夫·喬布斯回到了蘋果公司,同時 NeXTSTEP 成為了 macOS 和 iOS 的基礎。
Linux 內核的歷史
與 macOS 內核不同,Linux 的創建并非源于商業嘗試。相反,它是由芬蘭計算機科學專業學生林納斯·托瓦茲于 1991 年創建的。最初,內核是按照林納斯自己的計算機的規格編寫的,因為他想利用其新的 80386 處理器(的特性)。林納斯于 1991 年 8 月在 Usenet 上發布了他的新內核代碼。很快,他就收到了來自世界各地的代碼和功能建議。次年,Orest Zborowski 將 X Window 系統移植到 Linux,使其能夠支持圖形用戶界面。
在過去的 27 年中,Linux 已經慢慢成長并增加了不少功能。這不再是一個學生的小型項目。現在它運行在世界上大多數的計算設備和超級計算機上。不錯!
macOS 內核的特性
macOS 內核被官方稱為 XNU。這個首字母縮寫詞代表“XNU is Not Unix”。根據蘋果公司的 Github 頁面,XNU 是“將卡耐基梅隆大學開發的 Mach 內核和 FreeBSD 組件整合而成的混合內核,加上用于編寫驅動程序的 C++ API”。代碼的 BSD 子系統部分“在微內核系統中通常實現為用戶空間的服務”。Mach 部分負責底層工作,例如多任務、內存保護、虛擬內存管理、內核調試支持和控制臺 I/O。
Linux 內核的特性
雖然 macOS 內核結合了微內核(Mach)和宏內核(BSD)的特性,但 Linux 只是一個宏內核。宏內核負責管理 CPU、內存、進程間通信、設備驅動程序、文件系統和系統服務調用( LCTT 譯注:原文為 system server calls,但結合 Linux 內核的構成,譯者認為這里翻譯成系統服務調用更合適,即 system service calls)。
用一句話總結 Linux 和 Mac 的區別
macOS 內核(XNU)比 Linux 歷史更悠久,并且基于兩個更古老一些的代碼庫的結合;另一方面,Linux 新一些,是從頭開始編寫的,并且在更多設備上使用。
-
Linux
+關注
關注
87文章
11304瀏覽量
209476 -
MacOS
+關注
關注
0文章
210瀏覽量
17498
原文標題:macOS 和 Linux 的內核有什么區別
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論