0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux的發(fā)展歷史和Linux與Unix有怎么樣的關(guān)系

Wildesbeast ? 來(lái)源:21IC ? 作者:21IC ? 2020-06-27 09:00 ? 次閱讀

這篇文章將介紹Linux的發(fā)展歷史以及Linux與著名操作系統(tǒng)Unix之間的關(guān)系。不會(huì)深入探討Linux的技術(shù)問(wèn)題。

說(shuō)到Linux,我們首先要了解Unix。

Unix是一種在AT&T貝爾實(shí)驗(yàn)室已經(jīng)存在很長(zhǎng)時(shí)間的操作系統(tǒng)。該項(xiàng)目由兩位著名的計(jì)算機(jī)科學(xué)家Ken Thompson和Dennis Ritchie領(lǐng)導(dǎo)。

Unix的正式開發(fā)始于1969年的夏天,Unix的第一個(gè)版本于1971年3月發(fā)布,隨后的第二個(gè)版本于1972年發(fā)布。

如果你在Linux機(jī)器上或MacOS上輸入date命令,你會(huì)得到一個(gè)名為Unix時(shí)間戳的數(shù)字。這個(gè)數(shù)字是自1970年1月1日00:00:00起的秒數(shù)。為什么是1970年1月1日呢?現(xiàn)在你應(yīng)該知道答案了,那時(shí)Unix正處于開發(fā)過(guò)程中。

Ken Thompson和Dennis Ritchie創(chuàng)建了B語(yǔ)言,這是Unix早期版本中支持的編程語(yǔ)言。然后,在1972年,里奇(Ritchie)重寫了B語(yǔ)言,對(duì)它進(jìn)行了更好的改進(jìn),成為了C語(yǔ)言,這種語(yǔ)言在今天仍然非常流行。后來(lái)的大多數(shù)Unix組件都是用C編寫的。

在20世紀(jì)70年代后期,AT&T與教育機(jī)構(gòu)和外部商業(yè)組織共享了Unix,從而導(dǎo)致了許多不同版本Unix的誕生。其中最突出的是由加州大學(xué)伯克利分校的計(jì)算機(jī)系統(tǒng)研究小組構(gòu)建的教育版本。此版本被廣泛稱為Berkeley Software Distribution,即BSD。

最初,BSD是建立在Unix設(shè)計(jì)和代碼庫(kù)的基礎(chǔ)上,但是后來(lái),Unix和BSD的版本變得越來(lái)越有特色,導(dǎo)致了Unix BSD版本和AT&T代號(hào)為System V的Unix版本之間的“標(biāo)準(zhǔn)競(jìng)爭(zhēng)”。最終,勝利屬于SystemV。后來(lái)的BSD版本使System V更接近于學(xué)習(xí),并納入了公認(rèn)的普遍接受的標(biāo)準(zhǔn)。

隨著FreeBSD、NetBSD和OpenBSD等開源項(xiàng)目的出現(xiàn),BSD分支的歷史發(fā)展告一段落。BSD的最終版本于1995年推出。Unix的最終版本是1989年發(fā)布的Unix 10版本,是由Bell Laps開發(fā)的。

盡管作為Unix的官方版本和BSD很久以前就停止了開發(fā),但是目前許多操作系統(tǒng)(從閉源到開源)都是基于這兩個(gè)分支開發(fā)的。

比較著名和成功的商業(yè)版本可能是蘋果的MacOS。目前iOS、watchOS和tvOS系統(tǒng)以及其他蘋果操作系統(tǒng)都基于BSD平臺(tái)。MacOS也是少數(shù)幾個(gè)被認(rèn)為是類UNIX的操作系統(tǒng)之一。

在Unix的發(fā)展過(guò)程中,1983年發(fā)生了一件重要的事情,這是后來(lái)發(fā)生劇變的前提。

1983年9月,Richard Stallman宣布引入GNU計(jì)劃(GNU代表的是GNU,不是Unix)。

GNU項(xiàng)目的目標(biāo)是創(chuàng)建一個(gè)自由的、類unix的操作系統(tǒng),在這個(gè)系統(tǒng)中,人們?nèi)藗兛梢宰杂傻貜?fù)制,開發(fā),修改和分發(fā)軟件,并且不受限制。

請(qǐng)記住,Unix和Unix的派生版本最初是封閉源的,并擁有版權(quán)。

1985年,理查德(Richard)建立了自由軟件基金會(huì)(FSF),這是一個(gè)非營(yíng)利性組織,旨在促進(jìn)軟件開發(fā)的自由。

GNU項(xiàng)目創(chuàng)建了許多重要的產(chǎn)品,如GNU Compiler Collection (gcc)、GNU Debugger、GNU Emacs text editor (Emacs)、GNU build automator (make)等,還有今天使用最廣泛的:GNU通用公共許可證(GPL)。

GNU項(xiàng)目取得了許多偉大的成就,創(chuàng)造了許多與Unix相似的工具。然而,GNU仍然缺少一個(gè)重要的組成部分:內(nèi)核(用于處理與硬件設(shè)備(CPU、RAM、設(shè)備等)的控制和通信的部分)。

Linux

1991年8月25日,一位名叫Linus Torvalds的芬蘭學(xué)生介紹了一種個(gè)人產(chǎn)品,后來(lái)成為L(zhǎng)inux內(nèi)核。

Linus的項(xiàng)目很快受到了許多個(gè)人和組織的關(guān)注。

Linux內(nèi)核和GNU軟件的結(jié)合創(chuàng)造了第一個(gè)完全免費(fèi)的操作系統(tǒng)。它的名字是GNU/Linux。

注意:

Linux本身只是一個(gè)內(nèi)核,它不是一個(gè)完整的操作系統(tǒng)。電腦上使用的操作系統(tǒng)叫做GNU / Linux,人們簡(jiǎn)單地稱它為L(zhǎng)inux。

Linux操作系統(tǒng)不使用或共享Unix或BSD代碼的任何部分。它由Linus和GNU Project全新構(gòu)建,成為Unix的克隆版本。這就是為什么Linux和當(dāng)前的Unix后代操作系統(tǒng)(例如MacOS)有很多共同點(diǎn)的原因。

普遍認(rèn)為,無(wú)論是在MacOS上還是Linux上運(yùn)行像ls、cat、grep這樣的命令,其本質(zhì)是相同的。但它們其實(shí)是兩種不同的工具。在Ubuntu上運(yùn)行g(shù)rep——help或man grepon可以得到GNU版本的介紹,在Mac上可以得到BSD版本的介紹。當(dāng)然,大多數(shù)GNU和BSD (Unix)工具對(duì)于每個(gè)選項(xiàng)都是相同的,但是也有例外。

您可以在Mac上安裝GNU版本,而不是默認(rèn)版本,這就可以像Linux一樣使用相同的命令。

Linux只是內(nèi)核部分,GNU提供了在該內(nèi)核上運(yùn)行的必要工具。但是,我們可以自由決定內(nèi)核配置。

一些組織和公司通過(guò)將Linux內(nèi)核與實(shí)用程序或程序包管理器相結(jié)合來(lái)創(chuàng)建完整的操作系統(tǒng)發(fā)行版,這些稱為L(zhǎng)inux發(fā)行版。

今天,有無(wú)數(shù)的Linux發(fā)行版,其中許多都是非常熟悉和流行的。一些最常用的發(fā)行版包括:Ubuntu, Debian, CentOS, Fedora, Redhat, Linux Mint等。

發(fā)行版可以構(gòu)建在另一個(gè)發(fā)行版之上。事實(shí)上,我上面提到的發(fā)行版彼此之間有許多密切的關(guān)系。最古老的兩個(gè)發(fā)行版(現(xiàn)在仍然在使用)是Slackware和Debian。它們創(chuàng)建于1993年。

Debian的后代分支也可能是比較大的發(fā)行版。除了Debian本身之外,這個(gè)分支的主要代表還有Ubuntu(構(gòu)建在Debian之上)、Linux Mint(構(gòu)建在Ubuntu之上)和Kali Linux。

另一個(gè)著名的發(fā)行版是Redhat,主要發(fā)行版是Red Hat Enterprise Linux (RHEL),這是一個(gè)針對(duì)Redhat的企業(yè)客戶的發(fā)行版。除了提供RHEL作為付費(fèi)發(fā)行版之外,Redhat還向社區(qū)提供另一個(gè)免費(fèi)發(fā)行版,即Fedora。

實(shí)際上,通常首先對(duì)Fedora版本進(jìn)行測(cè)試以獲取反饋和錯(cuò)誤修復(fù),然后在穩(wěn)定的Fedora版本上構(gòu)建RHEL。此外,Redhat還為RHEL的幾乎所有組件提供了免費(fèi)的源代碼,并且社區(qū)可以構(gòu)建發(fā)行版(類似于 RHEL)。CentOS是一個(gè)社區(qū)版本(不受Redhat支持),完全免費(fèi),是一個(gè)與RHEL類似的企業(yè)級(jí)質(zhì)量的發(fā)行版。

學(xué)習(xí)和熟悉Linux,在我個(gè)人看來(lái)Ubuntu(或Debian)和CentOS將是你應(yīng)該熟悉的組合。

還有其他完全基于Linux內(nèi)核的操作系統(tǒng)。其中最突出的就是Android。Android可能是使用Linux內(nèi)核的比較流行的操作系統(tǒng)。

Linux內(nèi)核版本

您可以在項(xiàng)目主頁(yè)上的https://www.kernel.org/上查看Linux內(nèi)核版本的列表。

要檢查正在使用的發(fā)行版上的內(nèi)核版本,可以使用uname -r命令。

使用uname -a命令將打印出整個(gè)系統(tǒng)信息,uname -o將打印出操作系統(tǒng)名稱。您將得到的結(jié)果是:操作系統(tǒng)名稱是GNU / Linux,而不僅僅是Linux。

類Unix

MacOS是少數(shù)通過(guò)Single UNIX Specification(SUS)認(rèn)證的操作系統(tǒng)之一,并且被認(rèn)為是類Unix的操作系統(tǒng)。

當(dāng)前,UNIX商標(biāo)版權(quán)歸Open Group所有(請(qǐng)注意,UNIX商標(biāo)名稱中的字母均大寫,而對(duì)于操作系統(tǒng),我們可以寫成Unix或UNIX)。

“類Unix(Unix-like”)”用于表示具有SUS認(rèn)證的操作系統(tǒng),并且可以使用UNIX品牌。

問(wèn)題是:按照上述定義,Linux是“類Unix”操作系統(tǒng)嗎?答案是否定的?,F(xiàn)在Linux發(fā)行版不允許使用UNIX商標(biāo)。

除了將“Unix-like”解釋為SUS的一個(gè)組成部分之外,還有人建議應(yīng)該在更廣泛的意義上使用“Unix-like”這個(gè)詞。具體來(lái)說(shuō),它可分為三類:

Genetic UNIX:僅與Bell Labs Unix版本的代碼庫(kù)直接相關(guān)的操作系統(tǒng)。

Trademark UNIX:操作系統(tǒng)符合SUS要求,可以使用UNIX商標(biāo)。

Functional UNIX:“類似于Unix”的操作系統(tǒng),Linux可以歸為此類。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207912
  • UNIX
    +關(guān)注

    關(guān)注

    0

    文章

    296

    瀏覽量

    41335
  • GNU
    GNU
    +關(guān)注

    關(guān)注

    0

    文章

    142

    瀏覽量

    17404
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式linux開發(fā)的基本步驟哪些?

    之前,首先需要選擇合適的硬件平臺(tái)。硬件選擇需要考慮以下幾個(gè)方面: 1.1 處理器 嵌入式Linux開發(fā)需要一個(gè)處理器,常見的處理器ARM、MIPS、PowerPC等。選擇處理器時(shí),需要考慮處理器的性能、功耗、成本等因素。 1.2 存儲(chǔ)器 嵌入式系統(tǒng)需要存儲(chǔ)器來(lái)存儲(chǔ)操
    的頭像 發(fā)表于 09-02 09:11 ?181次閱讀

    Linux操作系統(tǒng)份額創(chuàng)歷史新高,逼近4.5%里程碑

    在最新的全球操作系統(tǒng)市場(chǎng)份額報(bào)告中,市調(diào)機(jī)構(gòu)StatCounter于8月27日發(fā)布了令人矚目的數(shù)據(jù):2024年7月,Linux系統(tǒng)實(shí)現(xiàn)了歷史性的飛躍,其市場(chǎng)份額首次逼近4.5%的關(guān)口,達(dá)到了4.44%的新高。這一成就標(biāo)志著Linux
    的頭像 發(fā)表于 08-27 17:05 ?368次閱讀

    freebsd和linux哪個(gè)好用

    操作系統(tǒng)歷史和起源: FreeBSD和Linux都是基于UNIX的操作系統(tǒng)。FreeBSD起源于加州大學(xué)伯克利分校的BSD項(xiàng)目,而Linux則是由Linus Torvalds在1991
    的頭像 發(fā)表于 08-08 10:29 ?304次閱讀

    QNX與Linux基礎(chǔ)差異對(duì)比

    對(duì)于QNX系統(tǒng)和Linux系統(tǒng)的內(nèi)核差異,我們拋開宏內(nèi)核、微內(nèi)核之類的爭(zhēng)議不談。單純從開發(fā)應(yīng)用的角度而言,QNX和Linux系統(tǒng)的差異到底多大,在開發(fā)的時(shí)候需要注意哪些細(xì)節(jié)問(wèn)題?
    發(fā)表于 04-17 10:52 ?526次閱讀

    Linux的用途及優(yōu)勢(shì)在哪里?

    Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。
    發(fā)表于 03-07 11:10 ?1172次閱讀
    <b class='flag-5'>Linux</b>的用途及優(yōu)勢(shì)在哪里?

    linux和windows的區(qū)別 linux系統(tǒng)一般用來(lái)干嘛

    Linux的設(shè)計(jì)理念 Linux是一個(gè)開源操作系統(tǒng),其設(shè)計(jì)理念是自由、共享和開放。Linux系統(tǒng)遵循類Unix的設(shè)計(jì)原則,注重系統(tǒng)的穩(wěn)定性、靈活性和安全性。它采用模塊化的設(shè)計(jì)結(jié)構(gòu),用
    的頭像 發(fā)表于 02-05 14:06 ?680次閱讀

    Linux內(nèi)核中信號(hào)詳解

    信號(hào)和多線程程序 4 與信號(hào)相關(guān)的數(shù)據(jù)結(jié)構(gòu) 4.2.1 x86/Linux2.6.11的定義 4.2.2 x86-64/Linux2.6.11的定義 4.2.3 x86-64/linux
    的頭像 發(fā)表于 01-13 09:40 ?1209次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核中信號(hào)詳解

    linux的常用命令

    Linux入門 1.1 Linux的介紹 (1)linux是一款操作系統(tǒng),免費(fèi)開源,安全高效,穩(wěn)定,能處理高并發(fā) (2)企業(yè)級(jí)的項(xiàng)目部署到linux/
    的頭像 發(fā)表于 11-24 16:04 ?488次閱讀
    <b class='flag-5'>linux</b>的常用命令

    linux系統(tǒng)的用途

    Linux是一種自由和開放源代碼的操作系統(tǒng),最初由芬蘭的計(jì)算機(jī)科學(xué)家林納斯·托瓦茲創(chuàng)建。它基于UNIX操作系統(tǒng),并且非常靈活,適用于各種不同類型的應(yīng)用程序和用途。本文將詳細(xì)介紹Linux操作系統(tǒng)
    的頭像 發(fā)表于 11-23 11:12 ?851次閱讀

    linux重啟命令哪些

    Linux是一種自由和開放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux中,多種命令用于重啟系統(tǒng)。在本文中,我們將詳細(xì)介紹常用的Linux重啟命令并解釋每個(gè)命令的用途
    的頭像 發(fā)表于 11-17 09:49 ?1827次閱讀

    linux屬于什么操作系統(tǒng)

    Linux屬于一種類UNIX操作系統(tǒng)。Linux,全稱GNU/Linux,是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX
    的頭像 發(fā)表于 11-08 11:01 ?3437次閱讀

    linux命令和shell編程什么聯(lián)系

    Linux命令和Shell編程之間存在密切的聯(lián)系。 首先,Shell是Linux命令行下的解釋器,它提供了一個(gè)用戶界面,使用戶能夠與Linux內(nèi)核進(jìn)行交互。Shell解釋器可以解釋和執(zhí)行用戶輸入
    的頭像 發(fā)表于 11-08 10:53 ?771次閱讀

    shell命令和linux命令一

    Shell命令和Linux命令并不完全一。 首先,Shell是一種命令行解釋器,它是用來(lái)解釋和執(zhí)行用戶輸入的命令的。Shell既是一種命令語(yǔ)言,也是一種程序設(shè)計(jì)語(yǔ)言。它可以由一系列的Linux命令
    的頭像 發(fā)表于 11-08 10:51 ?2439次閱讀

    30道Linux面試題總結(jié)

    如果你是一名開發(fā)人員、系統(tǒng)管理員,或是僅僅對(duì) Linux 感興趣,那么這個(gè)列表是為你準(zhǔn)備的。它包含了類 Unix 系統(tǒng)管理或編程職位面試中涉及 Linux 相關(guān)的所有常見問(wèn)題。
    發(fā)表于 10-27 15:29 ?1911次閱讀
    30道<b class='flag-5'>Linux</b>面試題總結(jié)

    Linux模塊相關(guān)命令 Linux驅(qū)動(dòng)模塊的編寫與掛載

    Linux模塊相關(guān)命令 Linux驅(qū)動(dòng)模塊的編寫與掛載
    發(fā)表于 10-01 12:20 ?361次閱讀
    <b class='flag-5'>Linux</b>模塊相關(guān)命令 <b class='flag-5'>Linux</b>驅(qū)動(dòng)模塊的編寫與掛載