Linux中國

macOS 和 Linux 的內核有什麼區別

macOS 內核的歷史

我們將從 macOS 內核的歷史開始。1985 年,由於與首席執行官 John Sculley 和董事會不和, 史蒂夫·喬布斯 Steve Jobs 離開了蘋果公司。然後,他成立了一家名為 NeXT 的新電腦公司。喬布斯希望將一款(帶有新操作系統的)新計算機快速推向市場。為了節省時間,NeXT 團隊使用了卡耐基梅隆大學的 Mach 內核 和部分 BSD 代碼庫來創建 NeXTSTEP 操作系統

NeXT 從來沒有取得過財務上的成功,部分歸因於喬布斯花錢的習慣,就像他還在蘋果公司一樣。與此同時,蘋果公司曾多次試圖更新其操作系統,甚至與 IBM 合作,但從未成功。1997年,蘋果公司以 4.29 億美元收購了 NeXT。作為交易的一部分,史蒂夫·喬布斯回到了蘋果公司,同時 NeXTSTEP 成為了 macOS 和 iOS 的基礎。

Linux 內核的歷史

與 macOS 內核不同,Linux 的創建並非源於商業嘗試。相反,它是由芬蘭計算機科學專業學生 林納斯·托瓦茲 Linus Torvalds 於 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](https://en.wikipedia.org/wiki/Mach_(kernel))和宏內核([BSD](https://en.wikipedia.org/wiki/FreeBSD))的特性,但 Linux 只是一個宏內核。宏內核負責管理 CPU、內存、進程間通信、設備驅動程序、文件系統和系統服務調用( LCTT 譯註:原文為 system server calls,但結合 Linux 內核的構成,譯者認為這裡翻譯成系統服務調用更合適,即 system service calls)。

用一句話總結 Linux 和 Mac 的區別

macOS 內核(XNU)比 Linux 歷史更悠久,並且基於兩個更古老一些的代碼庫的結合;另一方面,Linux 新一些,是從頭開始編寫的,並且在更多設備上使用。

如果您發現這篇文章很有趣,請花一點時間在社交媒體,黑客新聞或 Reddit 上分享。

via: https://itsfoss.com/mac-linux-difference/

作者:John Paul 選題:lujun9972 譯者:stephenxs 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國