主頁 > 作業系統 > linux與unix區別

linux與unix區別

2021-01-30 06:09:22 作業系統

UNIX 與 Linux 之間的關系是一個很有意思的話題,在目前主流的服務器端作業系統中,UNIX 誕生于 20 世紀 60 年代末,Windows 誕生于 20 世紀 80 年代中期,Linux 誕生于 20 世紀 90 年代初,可以說 UNIX 是作業系統中的"老大哥",后來的 Windows 和 Linux 都參考了 UNIX,

現代的 Windows 系統已經朝著“圖形界面”的方向發展了,和 UNIX 系統有了巨大的差異,從表面上甚至看不出兩者的關聯,

UNIX 的坎坷歷史

UNIX 作業系統由肯?湯普森(Ken Thompson)和丹尼斯?里奇(Dennis Ritchie)發明,它的部分技術來源可追溯到從 1965 年開始的 Multics 工程計劃,該計劃由貝爾實驗室、美國麻省理工學院和通用電氣公司聯合發起,目標是開發一種互動式的、具有多道程式處理能力的分時作業系統,以取代當時廣泛使用的批處理作業系統,

說明:分時作業系統使一臺計算機可以同時為多個用戶服務,連接計算機的終端用戶互動式發出命令,作業系統采用時間片輪轉的方式處理用戶的服務請求并在終端上顯示結果(作業系統將CPU的時間劃分成若干個片段,稱為時間片),作業系統以時間片為單位,輪流為每個終端用戶服務,每次服務一個時間片,

可惜,由于 Multics 工程計劃所追求的目標太龐大、太復雜,以至于它的開發人員都不知道要做成什么樣子,最終以失敗收場,

以肯?湯普森為首的貝爾實驗室研究人員吸取了 Multics 工程計劃失敗的經驗教訓,于 1969 年實作了一種分時作業系統的雛形,1970 年該系統正式取名為 UNIX,

想一下英文中的前綴 Multi 和 Uni,就明白了 UNIX 的隱意,Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧,這是 UNIX 開發者的設計初衷,這個理念一直影響至今,

有意思的是,肯?湯普森當年開發 UNIX 的初衷是運行他撰寫的一款計算機游戲 Space Travel,這款游戲模擬太陽系天體運動,由玩家駕駛飛船,觀賞景色并嘗試在各種行星和月亮上登陸,他先后在多個系統上試驗,但運行效果不甚理想,于是決定自己開發作業系統,就這樣,UNIX 誕生了,

自 1970 年后,UNIX 系統在貝爾實驗室內部的程式員之間逐漸流行起來,1971-1972 年,肯?湯普森的同事丹尼斯?里奇發明了傳說中的C語言,這是一種適合撰寫系統軟體的高級語言,它的誕生是 UNIX 系統發展程序中的一個重要里程碑,它宣告了在作業系統的開發中,匯編語言不再是主宰,

到了 1973 年,UNIX 系統的絕大部分源代碼都用C語言進行了重寫,這為提高 UNIX 系統的可移植性打下了基礎(之前作業系統多采用匯編語言,對硬體依賴性強),也為提高系統軟體的開發效率創造了條件,可以說,UNIX 系統與C語言是一對孿生兄弟,具有密不可分的關系,

20 世紀 70 年代初,計算機界還有一項偉大的發明——TCP/IP 協議,這是當年美國國防部接手 ARPAnet 后所開發的網路協議,美國國防部把 TCP/IP 協議與 UNIX 系統、C語言捆綁在一起,由 AT&T 發行給美國各個大學非商業的許可證,這為 UNIX 系統、C語言、TCP/IP 協議的發展拉開了序幕,它們分別在作業系統、編程語言、網路協議這三個領域影響至今,肯?湯普森和丹尼斯?里奇因在計算機領域做出的杰出貢獻,于 1983 年獲得了計算機科學的最高獎——圖靈獎,

Linux和UNIX的關系及區別(詳解版)
圖 1 為肯?湯普森與丹尼斯?里奇的合影,天才都是不修邊幅的……

隨后出現了各種版本的 UNIX 系統,目前常見的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等,

Solaris 和 FreeBSD

我們重點介紹一下 Solaris,它是 UNIX 系統的一個重要分支,Solaris 除可以運行在 SPARC CPU 平臺上外,還可以運行在 x86 CPU 平臺上,在服務器市場上,Sun 的硬體平臺具有高可用性和高可靠性,是市場上處于支配地位的 UNIX 系統,

對于難以接觸到 Sun SPARC 架構計算機的用戶來說,可以通過使用 Solaris x86 來體驗世界知名大廠的商業 UNIX 風采,當然,Solaris x86 也可以用于實際生產應用的服務器,在遵守 Sun 的有關許可條款的情況下,Solaris x86 可以免費用于學習研究或商業應用,

FreeBSD 源于美國加利福尼亞大學伯克利分校開發的 UNIX 版本,它由來自世界各地的志愿者開發和維護,為不同架構的計算機系統提供了不同程度的支持,FreeBSD 在 BSD 許可協議下發布,允許任何人在保留著作權和許可協議資訊的前提下隨意使用和發行,并不限制將 FreeBSD 的代碼在另一協議下發行,因此商業公司可以自由地將 FreeBSD 代碼融入它們的產品中,蘋果公司的 OS X 就是基于 FreeBSD 的作業系統,

Linux和UNIX的關系及區別(詳解版)

FreeBSD 與 Linux 的用戶群有相當一部分是重合的,二者支持的硬體環境也比較一致,所采用的軟體也比較類似,FreeBSD 的最大特點就是穩定和高效,是作為服務器作業系統的不錯選擇;但其對硬體的支持沒有 Linux 完備,所以并不適合作為桌面系統,

其他 UNIX 版本因應用范圍相對有限,在此不做過多介紹,

Linux 的那些往事

Linux 內核最初是由李納斯?托瓦茲(Linus Torvalds)在赫爾辛基大學讀書時出于個人愛好而撰寫的,當時他覺得教學用的迷你版 UNIX 作業系統 Minix 太難用了,于是決定自己開發一個作業系統,第 1 版本于 1991 年 9 月發布,當時僅有 10 000 行代碼,

Linux和UNIX的關系及區別(詳解版)

李納斯?托瓦茲沒有保留 Linux 源代碼的著作權,公開了代碼,并邀請他人一起完善 Linux,與 Windows 及其他有專利權的作業系統不同,Linux 開放源代碼,任何人都可以免費使用它,

據估計,現在只有 2% 的 Linux 核心代碼是由李納斯?托瓦茲自己撰寫的,雖然他仍然擁有 Linux 內核(作業系統的核心部分),并且保留了選擇新代碼和需要合并的新方法的最終裁定權,現在大家所使用的 Linux,我更傾向于說是由李納斯?托瓦茲和后來陸續加入的眾多 Linux 好者共同開發完成的,

李納斯?托瓦茲無疑是這個世界上最偉大的程式員之一,何況,他還搞出了全世界最大的程式員交友社區 GitHub (開源代碼庫及版本控制系統),

關于 Linux Logo 的由來是一個很有意思的話題,它是一只企鵝,

Linux和UNIX的關系及區別(詳解版)

為什么選擇企鵝,而不是選擇獅子、老虎或者小白兔?有人說因為李納斯?托瓦茲是芬蘭人,所以選擇企鵝,有人說因為其他動物圖案都被用光了,李納斯?托瓦茲只好選擇企鵝,

我更愿意相信以下說法,企鵝是南極洲的標志性動物,根據國際公約,南極洲為全人類共同所有,不屬于世界上的任何國家,可國家都無權將南極洲納入其版圖,Linux 選擇企鵝圖案作為 Logo,其含義是:開放源代碼的 Linux 為全人類共同所有,可公司無權將其私有,

UNIX與Linux的親密關系

二者的關系,不是大哥和小弟,"UNIX 是 Linux 的父親"這個說法更怡當,之所以要介紹它們的關系,是因為要告訴讀者,在學習的時候,其實 Linux 與 UNIX 有很多的共通之處,簡單地說,如果你已經熟練掌握了 Linux,那么再上手使用 UNIX 會非常容易,

二者也有兩個大的區別:

  1. UNIX 系統大多是與硬體配套的,也就是說,大多數 UNIX 系統如 AIX、HP-UX 等是無法安裝在 x86 服務器和個人計算機上的,而 Linux 則可以運行在多種硬體平臺上;
  2. UNIX 是商業軟體,而 Linux 是開源軟體,是免費、公開源代碼的,

Linux 受至曠大計算機愛好者的喜愛,主要原因也有兩個:

  1. 它屬于開源軟體,用戶不用支付可費用就可以獲得它和它的源代碼,并且可以根據自己的需要對它進行必要的修改,無償使用,無約束地繼續傳播;
  2. 它具有 UNIX 的全部功能,任何使用 UNIX 作業系統或想要學習 UNIX 作業系統的人都可以從 Linux 中獲益,

開源軟體是不同于商業軟體的一種模式,從字面上理解,就是開放源代碼,大家不用擔心里面會搞什么貓膩,這會帶來軟體的革新和安全,

另外,開源其實并不等同于免費,而是一種新的軟體盈利模式,目前很多軟體都是開源軟體,對計算機行業與互聯網影響深遠,

開源軟體本身的模式、概念比較晦澀,這套《Linux教程》旨在指導讀者應用 Linux,大家簡要理解即可,

近年來,Linux 已經青出于藍而勝于藍,以超常的速度發展,從一個丑小鴨變成了一個擁有龐大用戶群的真正優秀的、值得信賴的作業系統,歷史的車輪讓 Linux 成為 UNIX 最優秀的傳承者,

總結一下 Linux 和 UNIX 的關系/區別

Linux 是一個類似 Unix 的作業系統,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用戶體驗上進行優化,所以 Linux 模仿了 UNIX(但并沒有抄襲 UNIX 的原始碼),使得 Linux 在外觀和互動上與 UNIX 非常類似,

說模仿可能會被人噴,你也可以說微創新或者改進,

相比于 UNIX,Linux 最大的創新是開源免費,這是它能夠蓬勃發展的最重要原因;而目前的 UNIX 大部分都是收費的,小公司和個人都難以承受,

正是由于 Linux 和 UNIX 有著千絲萬縷的聯系,所以人們把 Linux 叫做“類UNIX系統”,下節我們將會著重講解,

UNIX/Linux系統結構

UNIX/Linux 系統可以粗糙地抽象為 3 個層次(所謂粗糙,就是不夠細致、精準,但是便于初學者抓住重點理解),如圖 3 所示,底層是 UNIX/Linux 作業系統,即系統內核(Kernel);中間層是 Shell 層,即命令解釋層;高層則是應用層,

Linux和UNIX的關系及區別(詳解版)
圖 3 UNIX/Linux 系統結掏層次概要

  1. 內核層

內核層是 UNIX/Linux 系統的核心和基礎,它直接附著在硬體平臺之上,控制和管理系統內各種資源(硬體資源和軟體資源),有效地組織行程的運行,從而擴展硬體的功能,提高資源的利用效率,為用戶提供方便、高效、安全、可靠的應用環境,

  1. Shell層

Shell 層是與用戶直接互動的界面,用戶可以在提示符下輸入命令列,由 Shell 解釋執行并輸出相應結果或者有關資訊,所以我們也把 Shell 稱作命令解釋器,利用系統提供的豐富命令可以快捷而簡便地完成許多作業,

  1. 應用層

應用層提供基于 X Window 協議的圖形環境,X Window 協議定義了一個系統所必須具備的功能(就如同 TCP/IP 是一個協議,定義軟體所應具備的功能),可系統能滿足此協議及符合 X 協會其他的規范,便可稱為 X Window,

現在大多數的 UNIX 系統上(包括 Solaris、HP-UX、AIX 等)都可以運行 CDE (Common Desktop Environment,通用桌面環境,是運行于 UNIX 的商業桌面環境)的用戶界面;而在 Linux 上廣泛應用的有 Gnome(見圖 4)、KDE 等,

Linux和UNIX的關系及區別(詳解版)
圖 4 Gnome圖形界面

X Window 與微軟的 Windows 圖形環境有很大的區別:

  • UNIX/Linux 系統與 X Window 沒有必然捆綁的關系,也就是說,UNIX/Linux 可以安裝 X Window,也可以不安裝;而微軟的 Windows 圖形環境與內核捆綁密切,
  • UNIX/Linux 系統不依賴圖形環境,依然可以通過命令列完成 100% 的功能,而且因為不使用圖形環境還會節省大量的系統資源,

作為服務器部署,絕大多數 Linux 并不安裝或并不啟用圖形環境,本教程的講解也基本上為 Linux 命令列下的操作,

本文由博客一文多發平臺 OpenWrite 發布!

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/254245.html

標籤:Linux

上一篇:linux查看命令

下一篇:linux與unix區別

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more