{eval=Array;=+count(Array);}
目前,主流的服務(wù)器端操作系統(tǒng):
UNIX誕生于20世紀(jì)60年代末;
Windows誕生于20世紀(jì)80年代中期;
Linux誕生于20世紀(jì)90年代。
可以說,UNIX是操作系統(tǒng)的“老大哥”,windws、linux都參考了UNIX,后來的android,蘋果的IOS與UNIX也有一定的淵源。
1969年,貝爾實(shí)驗(yàn)室的研究員肯?湯普森,編寫了一款計(jì)算機(jī)游戲Space Travel,先后在多個系統(tǒng)上運(yùn)行,然而效果不理想,所以決定自己開發(fā)操作系統(tǒng),就這樣UNIX誕生了。
自1970之后,UNIX系統(tǒng)在貝爾實(shí)驗(yàn)室流行開來。1972年,肯?湯普森和同時丹尼斯?里奇發(fā)明了傳說中的C語言,宣告了操作系統(tǒng)的開發(fā),不再是匯編語言主宰,為可移植性打下了基礎(chǔ)。緊接著,TCP/IP協(xié)議發(fā)明了,至此UNIX系統(tǒng)、C語言、TCP/IP協(xié)議,在操作系統(tǒng)、編程語言、網(wǎng)路協(xié)議方面的影響至今。下圖就是肯?湯普森和丹尼斯?里奇兩位傳奇人物。
隨后,出現(xiàn)了各種不同版本的UNIX系統(tǒng),比如Sun Solaris、Free BSD、IBM AIX、HP-UX等等。
1991年,李納斯?托瓦茲大學(xué)讀書時,為了個人愛好編寫了Linux,相當(dāng)于迷你版的UNIX,當(dāng)時僅有10000行代碼。隨后,李納斯?托瓦茲公開了Linux遠(yuǎn)嗎,邀請他人一塊完善Linux。現(xiàn)在,只有2%的Linux核心代碼是有李納斯?托瓦茲編寫的。
Linux和Unix有很多共通之處,如果熟練掌握了Linux,那么上手UNIX就會簡單一些。
Linux是一個類似UNIX的操作系統(tǒng),Linux的初衷就是為了代替UNIX,并在功能上和用戶體驗(yàn)上有所優(yōu)化,所以Linux模仿了UNIX,然而并沒有抄襲UNIX的源碼,只是交互上類似UNIX。
系統(tǒng)結(jié)構(gòu)上,UNIX和Linux都分為三層:系統(tǒng)內(nèi)核、中間Shell層、高層應(yīng)用層,如下圖所示。
UNXI系統(tǒng)大多與硬件配套,比如大多數(shù)的UNXI系統(tǒng)AIX、HP-UX是無法去安裝到x86服務(wù)器和個人計(jì)算機(jī)的,而Linux可以安裝多多種硬件平臺,比如x86、arm、mips等等。
UNIX是商業(yè)軟件,而Linux是開源、免費(fèi)的,公開源代碼。
如果覺得對你有幫助,可以多多點(diǎn)贊哦,也可以隨手點(diǎn)個關(guān)注哦,謝謝。
不要說專業(yè)的程序員,就算是平常和計(jì)算機(jī)打交道的人們也很難不會不知道除了windows操作系統(tǒng)外還有其他的桌面操作系統(tǒng),Linux和Unix系統(tǒng)就是其中的翹楚,那么他們之間是什么關(guān)系呢?
Linux就是Unix克隆(派生),它是由Linus Torvalds在全球一些黑客的幫助下從頭開始編寫的。Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net.
這段話來源于:Linux kernel 源代碼頂層目錄下的README文件, Linux kernel release 2.6.xx。相信大家對他們之間的關(guān)系不明覺厲了吧。
Linux就是Unix克隆,實(shí)際上在創(chuàng)建Linux之前和Windows興起之前,計(jì)算世界由Unix和Unix操作系統(tǒng)家族主導(dǎo)。
Unix 操作系統(tǒng)的誕生:Unix誕生于1960年代后期。AT&T貝爾實(shí)驗(yàn)室的一個由肯·湯普森領(lǐng)導(dǎo)下小型程序員小組,發(fā)布了一個用C編寫的操作系統(tǒng)被命名為Unix,那時的操作系統(tǒng)不是可移植的,使用低級源語言意味著為操作系統(tǒng)編寫的硬件平臺就是它所依賴的平臺。但是使用C語言編寫的Unix使得可以將其移植到其他硬件體系結(jié)構(gòu)中,它可以更快地進(jìn)行修改和移植。
Unix被認(rèn)為是大多數(shù)操作系統(tǒng)的母親,它具有以下特征:
Unix Philosophy:Unix操作系統(tǒng)的可移植性(幫助Unix在其他研究,學(xué)術(shù)和商業(yè)環(huán)境中的快速采用)使某些操作系統(tǒng)的核心設(shè)計(jì)概念吸引了程序員和用戶。Unix哲學(xué)是針對軟件模塊化設(shè)計(jì),其思想是可以將小型的,專門構(gòu)建的程序組合起來,以處理大型和復(fù)雜的任務(wù)。因?yàn)閁nix是圍繞管道和文件設(shè)計(jì)的,所以這種將程序的輸入和輸出“插入”到輸入的直接操作集的方法今天仍然很流行。實(shí)際上,當(dāng)前的云功能即服務(wù)(FaaS)/無服務(wù)器體系架構(gòu)起源于Unix思維方式。
“盡管不能用一句話寫下哲學(xué),但其核心思想是系統(tǒng)的力量更多地來自程序之間的關(guān)系,而不是程序本身。許多Unix程序孤立地完成瑣碎的事情,但與其他程序結(jié)合在一起,成為通用且有用的工具。”– Brian Kernighan和Rob Pike(開發(fā)Unix的主要貢獻(xiàn)者)。
Unix體系結(jié)構(gòu):如果了解了Unix的架構(gòu),基本上可以說對所有的操作系統(tǒng)就都有了一個認(rèn)知。
Unix的主控制程序是其內(nèi)核。內(nèi)核可以完全控制整個系統(tǒng),是操作系統(tǒng)的心臟,并充當(dāng)用戶和硬件之間的接口。每個內(nèi)核子系統(tǒng)都具有某些功能,例如并發(fā),虛擬內(nèi)存,分頁和虛擬文件系。在體系結(jié)構(gòu)的外層,具有“外殼”(shell)、命令和應(yīng)用程序。Shell是用戶和內(nèi)核之間的接口。Shell和用戶鍵入命令,解釋這些命令并相應(yīng)地調(diào)用計(jì)算機(jī)程序。
Unix的歷史:由于肯·湯普森于1970年代開始在伯克利大學(xué)“休假”,許多Unix的故事就從這里開始了,在伯克利期間湯普森繼續(xù)Unix研究并發(fā)布了版本,從而創(chuàng)建了Berkeley Software Distribution,即BSD(最初,BSD并未想和AT&T Unix競爭)。1979年2BSD(第二個Berkeley軟件發(fā)行版)問世時,Berkeley研究生Bill Bill Joy提供了更多程序,如vi和C shell(/bin/csh),商業(yè)化的Unix產(chǎn)品在1980年代和1990年代初變得很普遍。隨著Unix家族樹的不同分支的形成,隨之而來的是“Unix戰(zhàn)爭”。。。可以關(guān)于Unix的戰(zhàn)爭可以說很久(現(xiàn)在的蘋果MacOS操作系統(tǒng)是從BSD派生的),甚至可以拍一部“宮廷劇”(給美國短暫的歷史增加一些戲碼),但這超出了本文的范圍(和篇幅),我就此打住,就知道版本多,主權(quán)復(fù)雜就好了。
Unix最主要的特點(diǎn):Unix是一個多任務(wù),多用戶計(jì)算機(jī)操作系統(tǒng)家族,它可以用作工作站和服務(wù)器中的主控制程序。但是Unix并不是開源軟件,這意味著任何想要使用它的人都需要向擁有它機(jī)構(gòu)購買許可證。
Linux操作系統(tǒng)的來源:Linux操作系統(tǒng)是1990年代開始的兩個項(xiàng)目的結(jié)合。理查德·斯托曼希望建立一個免費(fèi)和開源的Unix替代方案。他將程序命名為GNU,意思是“GNU不是Unix!”但項(xiàng)目進(jìn)展很困難,由于沒有內(nèi)核支持,對自由和開源操作系統(tǒng)的任何希望都將落空。隨后出現(xiàn)了赫爾辛基大學(xué)的Linus Torvald,他有一個名為Linux的可行內(nèi)核,Linus使用了許多GNU工具,事實(shí)證明它們非常適合Linux內(nèi)核。于是兩個項(xiàng)目結(jié)合就誕生了Linux操作系統(tǒng)(Linux發(fā)行版)。Linux發(fā)行版中包含的大多數(shù)軟件都是免費(fèi)和開源的。
Linux內(nèi)核是重寫的:Linux內(nèi)核代碼是完全從頭開始編寫的。它的設(shè)計(jì)方式使其類似于Unix,但其中沒有原始的Unix代碼。它是Unix設(shè)計(jì)基礎(chǔ)的延續(xù)。還值得注意的是,Linux只是內(nèi)核,而不是完整的OS。該Linux內(nèi)核通常打包在Linux發(fā)行版中,從而使其成為一個完整的OS。因此,Linux只是內(nèi)核,Unix本身就是一個完整的OS。
基于Linux的OS體系結(jié)構(gòu):可以看出仍然有Unix的印記:
因此,通過向Linux發(fā)行版添加不同的應(yīng)用程序,實(shí)際上可以使Linux內(nèi)核完全可用作操作系統(tǒng)。現(xiàn)在總共大約有600個Linux發(fā)行版。Linux OS主要針對家用PC和筆記本電腦。但是,由于它的普及性和穩(wěn)定性,它開始在辦公室和高端系統(tǒng)中使用,包括手機(jī)、服務(wù)器、甚至是嵌入式系統(tǒng)現(xiàn)在最著名的移動智能操作系統(tǒng)Google的Android就是基于Linux的,Android OS的每個迭代都基于當(dāng)前的Linux內(nèi)核。
Linux是類Unix的操作系統(tǒng):人們確實(shí)在Unix和Linux之間混淆了很多,他們通常會問諸如:Linux和Unix是同一回事嗎?Linux是否建立在Unix上?這樣的問題。這些所有的疑惑都是有答案的:Linux和Unix不同,但是它們確實(shí)有關(guān)系,因?yàn)長inux是從Unix克隆(派生)的。Linux不是Unix,而是類似Unix的操作系統(tǒng)。根據(jù)Linux內(nèi)核官方README文件(見文章開頭),它的目標(biāo)是符合POSIX。
什么是類Unix的操作系統(tǒng)呢?以類似于Unix系統(tǒng)的方式工作,但不必符合單一Unix規(guī)范(SUS)或類似的POSIX(可移植)操作系統(tǒng)接口)標(biāo)準(zhǔn)。SUS是任何操作系統(tǒng)都必須滿足的標(biāo)準(zhǔn),才能使用Unix商標(biāo)。該商標(biāo)由“The Open Group”授予。
開源軟件:Linux的開發(fā)是由世界各地的開發(fā)人員團(tuán)體免費(fèi)提供的(Linux內(nèi)核由社區(qū)開發(fā),Linus Torvalds負(fù)責(zé)監(jiān)督事務(wù)),Linux OS是一個開源OS,其源代碼是免費(fèi)提供的。任何人可以在計(jì)算機(jī)上閱讀、修改和實(shí)現(xiàn)它。但是,不能出售它,因?yàn)樗蹽NU GPL許可。Linux的開發(fā)是自由和開源軟件協(xié)作的最杰出例子之一。開源理念就此興起,開始了自有開源的時代。
操作系統(tǒng)是非常復(fù)雜的系統(tǒng)工程,Unix和Linux操作系統(tǒng)的區(qū)別可以寫一本小書。通過表格的方式簡單看一下:
Linux的局限性
Unix的局限性
從用戶的角度來看,Linux和Unix之間并沒有很多明顯的區(qū)別。Linux的許多吸引力來自于以下事實(shí):它可以在不同的體系結(jié)構(gòu)類型(包括現(xiàn)代PC)上工作,并且它的工具為Unix用戶和系統(tǒng)管理員所熟悉。
Linux和Unix之間的其他差異主要與許可有關(guān)。Linux vs Unix主要是免費(fèi) vs 許可軟件的較量。除此之外,Unix發(fā)行版缺少通用內(nèi)核這一事實(shí)也影響到軟件和硬件供應(yīng)商。使用Linux,供應(yīng)商可以合理地期望它可以在大多數(shù)發(fā)行版中正常運(yùn)行,從而為特定的硬件設(shè)備創(chuàng)建設(shè)備驅(qū)動程序。但是由于Unix具有商業(yè)和學(xué)術(shù)分支機(jī)構(gòu),因此可能有必要針對所有Unix變體發(fā)布不同的驅(qū)動程序。還存在許可問題,以及與跨多個版本的Unix作為二進(jìn)制設(shè)備驅(qū)動程序訪問軟件的SDK或分發(fā)模型有關(guān)的其他擔(dān)憂。
Unix和Linux都是偉大的操作系統(tǒng),創(chuàng)造了人類計(jì)算機(jī)的歷史。現(xiàn)在的操作系統(tǒng)中還有很多他們的印記。Unix很老,據(jù)說是所有操作系統(tǒng)的母親,Linux內(nèi)核也源自Unix,說明他們之間有著糾纏不清的關(guān)系。Linux OS非常適合中小型操作,如今,它還用于以前被認(rèn)為是Unix唯一選擇的大型企業(yè)。但是遺憾的是,由于各種原因,Unix和Linux的商業(yè)市場反應(yīng)都不好。
反倒是后起之秀Windows和在Unix基礎(chǔ)上發(fā)展而來的MacOS大出風(fēng)頭,倒是有些讓人唏噓。近年來Linux借助Google的Android在移動市場倒是火熱起來,總算讓人有了些安慰。
以上是我的淺薄之見,歡迎指正,謝謝!
Linux和Unix,你看這兩哥們兒長得還挺像的,倒是沒有直接的血緣關(guān)系,不過Linux作為一個奔放的后生,確實(shí)借鑒了前輩Unix的很多優(yōu)點(diǎn),總的來說Unix、Linux的誕生都是操作系統(tǒng)歷史上比較有標(biāo)志性和革命性的事件。
macOS、iOS、Linux、Windows,C語言、Emacs、Vim、GCC等眾多經(jīng)典軟件,很大程度上都是因?yàn)閁nix的誕生直接催生的。貝爾實(shí)驗(yàn)室、MIT、通用電氣聯(lián)合開發(fā)Multics操作系統(tǒng),不過當(dāng)時這個工程追求的目標(biāo)太強(qiáng)大了,導(dǎo)致了這項(xiàng)工程太復(fù)雜,最終這個項(xiàng)目也沒能做成功。
神奇的事情總是伴隨著一些奇妙的事情,這些奇妙的事情往往都伴隨著一些偉大的技術(shù)革命,Google、Facebook、Amazon AWS、ucloud云、QQ等等,都符合這個規(guī)律。Unix也是因?yàn)槠婷畹氖虑檎Q生的,Unix之父肯湯普森是初代“網(wǎng)癮少年”,工作期間沉迷于計(jì)算機(jī)游戲無法自拔,人家自己寫了一個叫做Space Travel的游戲,這款游戲模擬的是太陽系天體運(yùn)動,玩家駕駛飛船,觀賞景色和模擬在行星和月亮上登陸,不過他把這個在多個系統(tǒng)上運(yùn)行實(shí)驗(yàn),不過運(yùn)行效果很差,實(shí)在忍不了了,肯湯普森就干脆自己寫個操作系統(tǒng),這就是大名鼎鼎的Unix操作系統(tǒng)。
作為這個行業(yè)的祖師爺,自然也有一群出色的祖師爺同事。肯湯普森有個同事,也就是另一位祖師爺?shù)つ崴估锲姘l(fā)明了C語言,Unix盡管在貝爾實(shí)驗(yàn)室內(nèi)部流行起來了。后來Unix就用C語言重寫,這次重寫真正改變了操作系統(tǒng)領(lǐng)域的發(fā)展線路,C語言重寫之后的Unix,具有非常好的可移植性,把操作系統(tǒng)發(fā)展推向了一個新的高度,操作系統(tǒng)不再是匯編語言主導(dǎo),對硬件依賴性進(jìn)一步降低。
Unix和C語言相輔相成、是一對技術(shù)孿生兄弟,雙劍合璧奠定了整個計(jì)算機(jī)行業(yè)的軟件工程體系。Unix和C語言的誕生,本質(zhì)上不僅僅是變革了計(jì)算機(jī)操作系統(tǒng)行業(yè),甚至可以說Unix真正改變了整個計(jì)算機(jī)工業(yè)界,奠定了整個計(jì)算機(jī)行業(yè)最初的模板和行業(yè)基礎(chǔ),這讓之后的互聯(lián)網(wǎng)、計(jì)算機(jī)軟件、甚至計(jì)算機(jī)硬件的發(fā)展起到了關(guān)鍵的推進(jìn)作用。
林納斯大學(xué)的時候用Unix教學(xué)版Minix,他覺得這個非常難用,可是沒辦法啊,市場上也沒有更好的系統(tǒng)可以使用,于是林納斯就結(jié)合Unix的設(shè)計(jì)理念自己寫了一個操作系統(tǒng),第一個版本在91年9月的時候發(fā)布,當(dāng)時只有10000行代碼。不過林納斯不屬于企業(yè)啊,那時候他就是個學(xué)生,也不像兩位祖師爺都是有單位的,于是他就把Linux源代碼放出來,還主動邀請大家一起來完善Linux。現(xiàn)在只有2%Linux核心代碼是林納斯寫的,不過他依然擁有對Linux內(nèi)核最核心部分的所有權(quán),依然保留著對Linux發(fā)展的最終決定權(quán)。
Linux的很多理念都是根據(jù)Unix來的,Unix大多數(shù)版本都是商業(yè)版本。現(xiàn)在具備純正Unix血統(tǒng)的發(fā)行版中,也只有FreeBSD等少數(shù)發(fā)行版是免費(fèi)的;Linux則剛好相反,大多數(shù)Linux發(fā)行版都是免費(fèi)開源的,只有RedHat等少數(shù)發(fā)行版是付費(fèi)的。Unix能做的,基本上Linux也都能做,幾乎所有軟件應(yīng)用也都是能夠互通的,Linux本質(zhì)上是類Unix系統(tǒng),所以并不是Unix分支,只是模仿了Unix的操作系統(tǒng)而已,兩者在接口上也是兼容的。
Linux主要應(yīng)用領(lǐng)域是PC和嵌入式,Android最初也是基于Linux發(fā)展起來的,一些小企業(yè)的服務(wù)器以及現(xiàn)在互聯(lián)網(wǎng)行業(yè)服務(wù)器用Linux也比較多,Unix依然壟斷著大型企業(yè)的關(guān)鍵性應(yīng)用領(lǐng)域,全球最基礎(chǔ)的技術(shù)服務(wù)都是跑在Unix上的。當(dāng)年FreeBSD因?yàn)楹虯T&的版權(quán)糾紛耽誤了,現(xiàn)在這個問題解決了,具備純正Unix血統(tǒng)的FreeBSD開始逐漸復(fù)蘇,蘋果的macOS、iOS,Windows都采用了很多FreeBSD的技術(shù),全球最大的即時通訊工具WhatsApp也運(yùn)行在FreeBSD服務(wù)器上,F(xiàn)reeBSD的強(qiáng)大讓W(xué)hatsApp公司僅僅用50名工程師就服務(wù)了9億用戶。
Linux和Unix都是操作系統(tǒng)領(lǐng)域的革命性產(chǎn)品,兩者沒有直接的關(guān)系,但又息息相關(guān),兩個操作系統(tǒng)基本上變革了計(jì)算機(jī)行業(yè)的技術(shù)革命。Unix和C語言是整個現(xiàn)代計(jì)算機(jī)工業(yè)的基礎(chǔ),在互聯(lián)網(wǎng)時代Linux和Unix作為服務(wù)器,又是整個行業(yè)最重要的基礎(chǔ)設(shè)施。
UNIX OS誕生于1960年代后期。AT&T貝爾實(shí)驗(yàn)室發(fā)布了一個用C編寫的名為Unix的操作系統(tǒng),它可以更快地進(jìn)行修改,接受和移植。
它最初是在貝爾實(shí)驗(yàn)室的肯·湯普森(Ken Thompson)的領(lǐng)導(dǎo)下進(jìn)行的單人項(xiàng)目。后來它成為使用最廣泛的操作系統(tǒng)。Unix是專有操作系統(tǒng)。
Unix OS在CLI(命令行界面)上運(yùn)行,但是最近,Unix系統(tǒng)上的GUI有了發(fā)展。Unix是一種在公司,大學(xué),大企業(yè)等中流行的操作系統(tǒng)。
Linux是1991年由赫爾辛基大學(xué)的Linus Torvalds構(gòu)建的操作系統(tǒng)。“ Linux”的名稱來自Linux內(nèi)核。它是計(jì)算機(jī)上的軟件,使應(yīng)用程序和用戶可以訪問計(jì)算機(jī)上的設(shè)備以執(zhí)行某些特定功能。
Linux操作系統(tǒng)中繼來自計(jì)算機(jī)處理器的應(yīng)用程序的指令,并將結(jié)果通過Linux操作系統(tǒng)發(fā)送回應(yīng)用程序。它可以安裝在其他類型的計(jì)算機(jī),手機(jī),平板電腦視頻游戲機(jī)等上。
Linux的開發(fā)是自由和開源軟件協(xié)作的最杰出例子之一。今天,許多公司和類似數(shù)量的個人已經(jīng)發(fā)布了他們自己的基于Linux內(nèi)核的OS版本。
Linux源代碼可供公眾使用,而在Unix中,源代碼是專有的。UNIX OS是在1960年代后期由AT&T貝爾實(shí)驗(yàn)室創(chuàng)建的,而Linux是1991年由赫爾辛基大學(xué)的Linus Torvalds構(gòu)建的操作系統(tǒng)。Linux的默認(rèn)shell是BASH,而Unix的shell是Bourne Shell。Linux威脅檢測和解決方案非常快速,而Unix用戶需要更長的等待時間才能獲得正確的錯誤修復(fù)補(bǔ)丁。Linux的重要版本是Redhat,Ubuntu,OpenSuse,Solaris,而Unix的重要版本是HP-UX,AIS,BSD等。
根據(jù)我自己這2天的學(xué)習(xí)和了解,Linux系統(tǒng)其實(shí)就是Unix系統(tǒng)的一個參考借鑒開源版,也就是計(jì)算機(jī)領(lǐng)域?qū)I(yè)人士熟稱的“類Unix操作系統(tǒng)”,它們在內(nèi)核層方面確實(shí)存在一定得差異性。
從它們的發(fā)展角度來講,Linux操作系統(tǒng)之所以能夠出現(xiàn)主要是因?yàn)閁nix系統(tǒng)的閉源間接導(dǎo)致。當(dāng)然,這種局面的產(chǎn)生離不開一名偉大的程序員理查德·斯托曼,他希望互聯(lián)網(wǎng)中的用戶和開發(fā)者讓軟件有真正的自由度,而他得GNU計(jì)劃也間接孵化出很多優(yōu)秀軟件,比如Linux內(nèi)核等。
最早的Unix系統(tǒng)雛形是在1970年問世,它由肯·湯普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)在貝爾實(shí)驗(yàn)室中開發(fā)的一款分時系統(tǒng),并于1973年使用更高級的C語言進(jìn)行了重新編寫,讓其系統(tǒng)有更高的可靠性,且增強(qiáng)在眾多電子設(shè)備中的可移植性。
Unix操作系統(tǒng)之所以能被出現(xiàn),主要是因?yàn)楫?dāng)時的貝爾實(shí)驗(yàn)室、MIT和美國通用電氣公司覺得早期計(jì)算機(jī)個頭大、內(nèi)部運(yùn)行電子元件數(shù)量較多,使用起來不僅不方便還很費(fèi)電。而且,早期的計(jì)算機(jī)系統(tǒng)一次只能做一件事情,Unix系統(tǒng)的出現(xiàn)讓這三家合作方看到了計(jì)算機(jī)能夠實(shí)現(xiàn)多用戶多任務(wù)操作的目的。這在當(dāng)時引起了很多人的注意,尤其是在美國加州的伯克利大學(xué)分校有很多從事開源軟件的程序員,他們曾多次向肯·湯普森和丹尼斯·里奇借鑒Unix系統(tǒng)源碼進(jìn)行深入研究,這極大推進(jìn)了Unix的發(fā)展進(jìn)程。
時間到了1983年,貝爾實(shí)驗(yàn)室的母公司AT&T發(fā)布了Unix最新版System V,從此Unix只能進(jìn)行商業(yè)使用,不再對外開放最新版本的源碼。由于Unix早期開源的版本較多流入到伯克利分校,它為了避免因更多的版權(quán)問題和AT&T打官司,終究推出完全屬于自己的Unix版本,也就是我們現(xiàn)在計(jì)算機(jī)行業(yè)都熟知的“類Unix系統(tǒng)”。隨著互聯(lián)網(wǎng)商業(yè)化進(jìn)程的到來,Unix系統(tǒng)已經(jīng)完全閉源和商業(yè)化,程序員們只有依靠更多的開源軟件才能在計(jì)算機(jī)領(lǐng)域的世界里增加活力。
有人曾問:“Linux操作系統(tǒng)是Unix系統(tǒng)的包裝升級版嗎?”我現(xiàn)在只能回答:并不是。因?yàn)長inux系統(tǒng)的內(nèi)核層一直是對外開放的,而Unix 系統(tǒng)的內(nèi)核層現(xiàn)在是封閉的,這是它們之間最本質(zhì)的區(qū)別。
在1983年9月27日,美國的職業(yè)黑客理查德·馬修·斯托曼教授公開發(fā)起了著名的GNU計(jì)劃,此計(jì)劃的目標(biāo)是創(chuàng)建完全自由的操作系統(tǒng)。直到1990年,斯托曼教授通過GNU計(jì)劃
開發(fā)出了很多知名軟件,比如文字編輯器Emacs、C語言編譯器GCC以及大部分UNIX系統(tǒng)的程序庫和工具。
而這個自由的系統(tǒng)內(nèi)核,最終還是在1991年依靠林納斯·本納第克特·托瓦茲(Linus Benedict Torvalds)完成,也就是我們現(xiàn)在國內(nèi)IT行業(yè)很多運(yùn)維人員熟知的Linux。而Linux系統(tǒng)的初級完整版,應(yīng)該是從1992年開始算起,此時Linux已經(jīng)與其它GNU軟件進(jìn)行了很好的融合,讓參與此開源項(xiàng)目的很多開發(fā)者能夠更好的使用Linux操作系統(tǒng)。我們現(xiàn)在簡單的Linux叫法其實(shí)并不準(zhǔn)確,Linux操作系統(tǒng)其實(shí)完整正確的叫法應(yīng)該是GNU/Linux。
回到現(xiàn)在來看,很多Linux工程師都認(rèn)為自己的工作是拜林納斯·本納第克特·托瓦茲所賜予。但我現(xiàn)在認(rèn)為理查德·馬修·斯托曼才是Linux系統(tǒng)的最大貢獻(xiàn)者,因?yàn)榇巳艘簧铝τ谕茝V自由軟件并促進(jìn)用戶自由發(fā)展。最直接的證明就是,Linux通過GPL公共許可證的開源協(xié)議讓其FreeBSD(類Unix改進(jìn)版)等閉源項(xiàng)目被淘汰,使Linux系統(tǒng)的開源軟件項(xiàng)目變得越來越多,讓當(dāng)時有些對Linux項(xiàng)目感興趣的國際老牌企業(yè)也無法對其產(chǎn)品進(jìn)行閉源,這也導(dǎo)致后面有更多的程序員在GNU項(xiàng)目中開發(fā)自己的開源軟件。
關(guān)于Linux與Unix之間的關(guān)系和區(qū)別,從自己之前學(xué)習(xí)和了解的信息來看,Unix操作系統(tǒng)確實(shí)是現(xiàn)在很多PC端操作系統(tǒng)的借鑒模版,不過由于它的商業(yè)化閉源導(dǎo)致后面出現(xiàn)了很多類Unix系統(tǒng),比如內(nèi)核層不一樣的GNU/Linux。
作為曾經(jīng)一名熱愛編程的程序員,我在這里確實(shí)需要向理查德·馬修·斯托曼教授致敬,正是他一生致力于軟件的自由(真的不為錢),才會讓GNU/Linux操作系統(tǒng)被更多優(yōu)秀的程序員參與進(jìn)來,讓軟件的世界變得生機(jī)勃勃不再死寂。
本文參考資料:
可在今日頭條APP搜索“理查德·斯托曼”,即可獲取相關(guān)內(nèi)容。
先有的Unix,然后有的Linux。Linux是基于Unix演變而來的,主要原因就是因?yàn)閁nix不是開源的,需要收費(fèi)!哈哈哈。。。蘋果的Mac系統(tǒng)內(nèi)核就是Unix,其他的例如redhat、centos、kali還有現(xiàn)在手機(jī)的Android等都是基于Linux開發(fā)的。
Unix的歷史久于Linux,Linux是從Unix發(fā)展而來的。Linux是開源軟件,是免費(fèi)、公開源代碼的,而UNIX系統(tǒng)基本上需要有償使用,Unix系統(tǒng)大多是與硬件配套的,如:AIX、HP-UX等是無法安裝在x86服務(wù)器和個人計(jì)算機(jī)上的,而Linux可以運(yùn)行在多種硬件平臺上。
Unix是一個強(qiáng)大的多用戶、多任務(wù)操作系統(tǒng),支持多種處理器架構(gòu),前身為1964年開始的Multics(一套分時多任務(wù)操作系統(tǒng))。
Unix是1965年由貝爾實(shí)驗(yàn)室、通用電氣和麻省理工學(xué)院聯(lián)合發(fā)起,但因?yàn)殚_發(fā)速度太慢,1969年貝爾實(shí)驗(yàn)室退出了這個計(jì)劃。此時,貝爾實(shí)驗(yàn)室的工程師肯·湯普遜和丹尼斯·里奇自行開發(fā)了Unix。
肯?湯普森當(dāng)年寫的一款計(jì)算機(jī)游戲 Space Travel(模擬太陽系天體運(yùn)動,由玩家駕駛飛船嘗試在各種行星上登陸)。他先后在多個系統(tǒng)上試驗(yàn),但運(yùn)行效果不理想。于是決定自己開發(fā)操作系統(tǒng)。就這樣,UNIX誕生了。自1970年后,UNIX系統(tǒng)在貝爾實(shí)驗(yàn)室內(nèi)部的程序員之間逐漸流行起來。
1971-1972年,丹尼斯?里奇發(fā)明了C語言,一種適合編寫系統(tǒng)軟件的高級語言,它的誕生是UNIX系統(tǒng)發(fā)展過程中的一個重要里程碑。在操作系統(tǒng)的開發(fā)中匯編語言不再是主宰。
1973年,UNIX系統(tǒng)絕大部分源代碼都用C語言進(jìn)行了重寫,提高 UNIX 系統(tǒng)的可移植性(匯編語言,對硬件依賴性強(qiáng))和軟件的開發(fā)效率。
隨后,Unix風(fēng)靡于學(xué)術(shù)機(jī)構(gòu)和大型企業(yè),當(dāng)時的UNIX擁有者AT&T公司以低廉甚至免費(fèi)的許可將Unix源碼授權(quán)給學(xué)術(shù)機(jī)構(gòu)做研究或教學(xué)之用,許多機(jī)構(gòu)在此源碼基礎(chǔ)上加以擴(kuò)展和改進(jìn),形成了“Unix變種”,如:加州大學(xué)柏克萊分校開發(fā)的伯克利軟件套件(BSD)產(chǎn)品。這些變種反過來也促進(jìn)了Unix發(fā)展。
Unix因?yàn)槠浒踩煽浚咝?qiáng)大的特點(diǎn)在服務(wù)器領(lǐng)域得到了廣泛的應(yīng)用。直到GNU/Linux流行開始前,Unix是科學(xué)計(jì)算、大型機(jī)、超級計(jì)算機(jī)等所用主流操作系統(tǒng)。現(xiàn)在也仍然被應(yīng)用于一些對穩(wěn)定性要求極高的數(shù)據(jù)中心之上。
在20 世紀(jì) 70 年代初,計(jì)算機(jī)界還有一項(xiàng)偉大的發(fā)明—TCP/IP 協(xié)議,這是當(dāng)年美國國防部接手 ARPAnet后所開發(fā)的網(wǎng)絡(luò)協(xié)議。美國國防部把TCP/IP協(xié)議與UNIX系統(tǒng)、C語言捆綁在一起,由 AT&T 發(fā)行給美國各個大學(xué)非商業(yè)的許可證,這為 UNIX 系統(tǒng)、C語言、TCP/IP 協(xié)議的發(fā)展拉開了序幕,它們分別在操作系統(tǒng)、編程語言、網(wǎng)絡(luò)協(xié)議這三個領(lǐng)域影響至今。肯?湯普森和丹尼斯?里奇因在計(jì)算機(jī)領(lǐng)域做出的杰出貢獻(xiàn),于 1983 年獲得了計(jì)算機(jī)科學(xué)的最高獎(圖靈獎)。
Linux內(nèi)核最初是由李納斯?托瓦茲在赫爾辛基大學(xué)讀書時出于個人愛好而編寫的。當(dāng)時他覺得教學(xué)用的迷你版UNIX操作系統(tǒng)Minix太難用了,并且只允許在教育上(不允許未授權(quán)被用作任何商業(yè)使用)。于是他決定自己開發(fā)一個操作系統(tǒng)。
Linux第1個版本在1991年9月發(fā)布,僅有10000行代碼,并沒有包括Unix源碼,它是按照公開的POSIX標(biāo)準(zhǔn)重新編寫的。Linux大量使用了由麻省劍橋免費(fèi)軟件基金的GNU軟件,Linux也是用它們構(gòu)造而成。
李納斯?托瓦茲沒有保留Linux源代碼的版權(quán),公開了代碼,并邀請他人一起完善 Linux,任何人都可以免費(fèi)使用它。據(jù)估計(jì),現(xiàn)在Linux核心代碼只有2%是由李納斯?托瓦茲自己編寫的,但他仍然擁有Linux內(nèi)核,并且保留了選擇新代碼和需要合并的新方法的最終裁定權(quán)。
李納斯?托瓦茲無疑是這個世界上最偉大的程序員之一。程序員交友社GitHub就是出自他。
Linux在外觀和交互上與 UNIX 非常類似,Linux 的初衷就是要替代 UNIX,并在功能和用戶體驗(yàn)上進(jìn)行優(yōu)化,所以 Linux改進(jìn)了UNIX(但并沒有抄襲UNIX的源碼)。
Linux已經(jīng)從一個丑小鴨蛻變成了一個擁有龐大用戶群的真正優(yōu)秀的、值得信賴的操作系統(tǒng)。歷史的車輪讓Linux成為UNIX最優(yōu)秀的傳承者。
以上個人淺見,歡迎批評指正。喜歡的可以關(guān)注我,謝謝!
認(rèn)同我的看法的請點(diǎn)個贊再走,再次感謝!
Unix 很好用 很多人想用 但是太貴。
幾個程序員就寫了個類似的叫Linux 允許大家免費(fèi)使用 并可以修改內(nèi)容加入自己需要的東西 但是公開源代碼 。 于是很多人拿來用用 覺得不錯。開始個人用 后來有線公司也覺得不錯 這個省事多了也拿來用了。
現(xiàn)在的操作系統(tǒng)大體上都是歸結(jié)到Unix以及最早到的MULTCS系統(tǒng),本人不善言辭,便畫下面這個圖來說明
最開始的系統(tǒng)比現(xiàn)在單片機(jī)還low,真的是手工操作,純手工敲擊01二進(jìn)制數(shù)輸入進(jìn)去運(yùn)行,單一任務(wù),完全獨(dú)占,可以說沒有操作系統(tǒng)。
慢慢的,隨著輸入方式改進(jìn),工程師將程序編成低帶,一段程序就是一條紙帶,“送進(jìn)”去就ok了。
那么紙帶就可以預(yù)先多弄幾條,然后用電腦時一條條紙帶(程序)連續(xù)往里送,這就提高了效率,其實(shí)就是簡易批處理操作系統(tǒng)了,所以批處理,就是先準(zhǔn)備一大堆,然后成批的處理即可。
后來存儲技術(shù)、輸入輸出技術(shù)的發(fā)展,紙帶變磁帶等等存儲方法,一次性可以處理的程序就可以更大、更多、更快了,管理批處理的事情也用手工送紙帶變成“程序”送“程序”了,送程序的程序就是原始操作系統(tǒng),即批處理操作系統(tǒng)了,典型代表DOS操作系統(tǒng),被送的程序就是應(yīng)用程序。
即使微軟的win32、win95/98只不過他的程序支持圖形界面/鼠標(biāo)這些輸入輸出方式而已,他運(yùn)行一個程序時另一個程序就得停止運(yùn)行,所以本質(zhì)仍然是批處理系統(tǒng),運(yùn)行WIN32仍然要先啟動DOS,WIN95/98也是一樣的,只是讓用戶看不到DOS啟動界面而已(win95還是會一閃而過)。
此時Windows頂多算個批處理系統(tǒng)下的超級應(yīng)用程序。
差不多這也是批處理系統(tǒng)的絕唱了。
電腦運(yùn)行速度加快,一臺電腦主機(jī)又貴,當(dāng)時又不可能人手一臺,如果人人排隊(duì)使用電腦就太浪費(fèi)了,很自然的就有人想到一個主機(jī)可不可同時分配多個輸入輸出終端,讓多個人同時使用不同的任務(wù)。
即多用戶多任務(wù)系統(tǒng)。
老外當(dāng)時雄心勃勃,想一步到位搞個完美的操作系統(tǒng),即MULTCS操作系統(tǒng),這是一個非常超前的系統(tǒng),不過步子大了扯了蛋,因?yàn)樘傲耍允×恕?/p>
但是,失敗了也是有意義的,雖然失敗了但培養(yǎng)了人才和積累了經(jīng)驗(yàn),計(jì)算機(jī)的好多大牛就產(chǎn)生于此。
期間剛好美國人登月成功,這激活了幾個程序員想玩星際這款游戲的想法,從而搞了個簡化版的系統(tǒng),因?yàn)殚幐盍薓ULTTCS太多功能,被稱為即太監(jiān)版的MULTTCS。
這個玩游戲的太監(jiān)MULTTCS雖然搞不成什么大事情但用于簡單辦公還是可以的,于是這個太監(jiān)版系統(tǒng)開始在辦公室內(nèi)流行起來,這個就是大名鼎鼎的Unix原型。
最開始Unix是匯編寫的,寫起來很累,想將unix搬遷到其他電腦上會相當(dāng)吃力,專業(yè)話講就是可移植性差。
這位大牛于是發(fā)明了C語言,C語言有高級語言的超好移植性、又有比肩匯編語言的效率,于是成就了經(jīng)典到不能再經(jīng)典的語言了。
于是大牛又用C語言重寫了Unix,這下爽翻天,由于當(dāng)時還不知道unix會火,也沒有版權(quán)意識,程序員們可以方便的得到unix的C語言源代碼,并將unix移植到其他電腦中,包括一些小型機(jī),unix和C語言都火了起來。
后來意識到這是個商機(jī),想收版權(quán),但為時已晚,源碼早已流向社會,程序員們完全可以模仿unix的機(jī)制重寫一個類似于unix的代碼
這個就是類unix系統(tǒng)。
比如一個老師為了教學(xué),仿unix寫了minix系統(tǒng)。
…
類unix也就很多很多,但因?yàn)閁nix前車之鑒都沒完全開放,直到芬蘭一個學(xué)生又參考minix寫了Linux并將之搞成一個開源項(xiàng)目…于是一個可以抗衡Unix的、類似于unix的操作系統(tǒng)火了起來。
Unix的授權(quán)版本于是誕生了許多系統(tǒng),微軟也買了unix版權(quán)的,最著名的就蘋果的ios,當(dāng)然也有IBM、甲骨文等大企業(yè)。
linux的派生包括安桌、紅帽子、烏班圖、以及中國的紅旗、深度等。
Windows最開始是基于DOS的批處理系統(tǒng),如果一直用這個技術(shù)他遲早也會被LIUNX干翻,比爾也意識到這個問題,于是急切找了個在Unix和類Unix圈里的大牛來重寫Windows。
這個大牛極度鄙視比爾視為親兒子的Windows,一向高傲的比爾也是不敢多說,完全交他操刀重寫。
之前Windows前面講了都是基于DOS操作系統(tǒng)的一個外掛程序而已,但程序確實(shí)界面做得好,DOS比起Unix/Linux差了一個時代,不過用戶界面都不友好,而Linux都是高級玩家不擔(dān)心界面友好問題,但Windows要考慮市場占有率,大神模仿Unix系統(tǒng)同時還是得從最開始就要考慮用戶界面、兼容舊版Windows程序的因素。
于是Windows的NT版誕生,這個是鳥槍換炮的跨代升級,當(dāng)然最開始主打服務(wù)器市場,到了win2000最終普通用戶版也升級到了NT版,這個才是Windows的真正的重生。
所以windows2000這才是劃時代的操作系統(tǒng)。
從上看到,操作系統(tǒng)要?dú)v史積累、技術(shù)積累、理想主義的刺激、用戶數(shù)量…這些共同因素主導(dǎo)下才成功的,不是敲兩下鍵盤振背一呼就出來了。
都想要要超越Windows,個人覺得連Linux都很難做到,如果要超個人覺得。
方法一,要技術(shù)上先進(jìn)性,像當(dāng)年Unix/Linux領(lǐng)先DOS一個時代一樣,要內(nèi)核技術(shù)上領(lǐng)先Windows一個時代,同時還要有友好的交互界面,否則人家憑什么放棄Windows選擇你的系統(tǒng)。
方法二,技術(shù)上持平,但要重構(gòu)用戶生態(tài)就只能走免費(fèi)開源的路線(如Linux),而且最好做到兼容Windows的應(yīng)用程(如reatos),然后慢慢圍殺Windows,就像安桌路線一樣,但這個事情一般企業(yè)真做不了,而且一不小心又是版權(quán)問題,但這么艱難還是有人罵不是純國產(chǎn)。
Unix的發(fā)明者是肯?湯普森,發(fā)明于1969年,1970年起廣泛運(yùn)行在小型計(jì)算機(jī)上,逐步擴(kuò)展到中大型計(jì)算機(jī)應(yīng)用。Unix是傳統(tǒng)商業(yè)軟件,對代碼、應(yīng)用都得授權(quán)和收費(fèi)。
而Linux的發(fā)明者是林納斯·本納第克特·托瓦茲,發(fā)明于1991年,它繼承了Minix和Unix以網(wǎng)絡(luò)為核心的思想,是一個基于GNU開源協(xié)議的多用戶、多任務(wù)、多線程和多CPU的類Unix操作系統(tǒng)。最大的特點(diǎn)就是自由免費(fèi),內(nèi)核開放給任何個人或者公司,可在GPL的允許范圍之內(nèi)對Linux的代碼進(jìn)行修改,并且進(jìn)行再發(fā)行。Linux可以運(yùn)用于任何的領(lǐng)域,包括商業(yè)應(yīng)用。Linux對各種架構(gòu),各種命令的兼容性更好,學(xué)過Unix或Dos轉(zhuǎn)用Linux都沒問題。
記得我讀書的時候有學(xué)Unix操作系統(tǒng),但學(xué)藝不精,漸漸全還給老師了。開源免費(fèi)的Linux內(nèi)核也在全球開發(fā)者的幫助下,依然保持著版本更新。甚至連微軟的Windows系統(tǒng)都借鑒了Unix,區(qū)別是微軟強(qiáng)在圖形化界面,操作更簡單;而Unix和Linux更偏向于命令操控,操作稍顯專業(yè),是程序員最喜歡的操作系統(tǒng)。值得一提的是Linux發(fā)明者林納斯?托瓦茲也創(chuàng)立了全世界最大的開源代碼倉庫及社區(qū)GitHub,已被微軟收購。
鴻蒙操作系統(tǒng)微內(nèi)核,分布式,也是基于開源Linux而來,兼容同用Linux內(nèi)核的安卓應(yīng)用也就不在話下。而MacOS的內(nèi)核是基于Unix的NeXTSTEP和FreeBSD混合開發(fā)而成,是正統(tǒng)血脈的Unix分支操作系統(tǒng)。
打造純國產(chǎn)的操作系統(tǒng),也沒啥必要,開源的Linux還是很香的。中標(biāo)麒麟、銀河麒麟、紅旗等國產(chǎn)系統(tǒng)都是基于Linux深度開發(fā)。暫時我沒用過這些,就不做評論,大名鼎鼎的烏班圖Ubuntu倒是裝過,還挺好用的。
以上回答期望能給讀者朋友有一些幫助,我花了一些時間整理,能否關(guān)注、轉(zhuǎn)發(fā)、收藏或點(diǎn)贊,支持一下呢?
極客縱觀,科技生活,關(guān)注我共探科技真知!
0
回答0
回答0
回答3
回答0
回答0
回答0
回答0
回答0
回答0
回答