Unix, Linux 和MacOS

原文地址: juejin.im/post/5cd5d1…linux

目錄

常見問題

我經常會聽到相似的問題: Unix, Linux和MacOS之間有什麼聯繫? 又有什麼區別?shell

先說結論:macos

  • Linux操做系統的內核Unix的分支, 內核上的大部分軟件是按照POSIX協議運行,因此跟Unix系統上運行效果相似,所以是Linux是類Unix的操做系統.
  • MacOS的內核是在Unix的家族分支上的,其內核是基於NeXTSTEP和FreeBSD混合開發組成,因此有部分功能運行的跟Unix系統同樣,有部分又不一樣(定製開發)

以下圖:架構

下面開始詳細描述.工具

Unix

Unix是一個由多用戶、多進程的計算機操做系統的統稱,源自於從20世紀70年代開始在美國AT&T公司的Bell Labs開發的 AT&T Unix, 包括不少個類似但不一樣的變種操做系統. Unix是一個商業上的專利產品, 須要購買或受權才能使用.post

POSIX

隨着Unix變種操做系統的增長,就須要有標準來規範各個變種操做系統,以保證系統之間的兼容性,這樣就有了POSIX.學習

POSIX: Portable Operating System Interface,中文爲可移植操做系統接口,爲一系列標準的集合,是由IEEE Computer Society定義的覺得保證各UNIX操做系統之間的兼容性.操作系統

POSIX中定義的標準有:3d

  • Core Services: 核心服務,包括Process, Signals, Pipes, C Library等.
  • Real-time extensions: 包含Priority Scheduling, Real-Time Signals, Shared Memory, Asynchronous and Synchronous I/O等.
  • Threads extensions: 包括Thread Creation, Control, and Cleanup, Thread Scheduling, Thread Synchronization, Signal Handling等.
  • Shell and Utilities: 包括Command Interpreter和Utility Programs, utility program如:cd,cp,ls等.

SUS

SUS: Single UNIX Specification, 建立的目的與POSIX相似,都是爲了保證Unix系統之間的兼容性. 如今由IEEE和The Open Group共同組成的Austin Group來開發和維護.unix

Austin Group從POSIX和SUS中定義了一套通用的標準,稱爲Open Group Base Specification.

POSIX和SUS是有交集的

Linux

Linux是一個基於Linux kernel的類Unix操做系統的統稱.

Linux kernel是一個operating system kernel,由Linus Torvalds發佈.

GNU Project

GNU Project是一個關於free-software, mass-collaboration的項目,理念是: 用戶能夠自由的使用,分享,學習和修改軟件.

由GNU項目和Linux kernel就能夠組成一個類Unix的操做系統:

  • GNU packages: 包含了許多操做系統的工具和應用軟件,如shell,coreutils,compilers,libraries以及按照POSIX標準實現的類庫等.
  • Linux kernel: 提供了進程調度,多重任務處理,驅動管理,內存管理等功能.
  • non-GNU programs: 非GNU應用程序.

Linux kernel不屬於GNU project, 但基於GNU General Public License.

Linux distribution

Linux發行版, 是由Linux kernel加上一些軟件組成,不一樣的組合就構成了不一樣的發行版. 一般發行版會包括:

  • Linux kernel.
  • GNU packages.
  • 窗口管理軟件: 如GNOME.
  • 文檔.

比較受歡迎的發行版有: Debian, Fedora, Ubuntu等.

MacOS

MacOS新的名稱爲Darwin, 這是Apple發佈的類Unix的操做系統, 內核由XNU構成, 而XNU是基於NeXTSTEP和FreeBSD混合開發組成. 架構圖以下:

Unix和類Unix系統的演進

Evolution of Unix and Unix-like system

參考

相關文章
相關標籤/搜索