鳥哥的Linux私房菜2018簡體化 第一章(2)檩帐、Linux是什么與如何學(xué)習(xí)

1.2 Torvalds的Linux發(fā)展

我們前面一節(jié)當(dāng)中厚骗,提到了Unix的歷史,也提到了Linux是由Torvalds這個芬蘭人所發(fā)明的。那么為何托瓦茲可以發(fā)明Linux呢蒋失?憑空想像而來的?還是有什么淵源返帕?這里我們就來談一談啰!

1.2.1 與Minix之間

Linus Torvalds(托瓦茲, 1969年出生,(注10))的外祖父是赫爾辛基大學(xué)的統(tǒng)計學(xué)家,他的外祖父為了讓自己的小孫子能夠?qū)W點東西篙挽,所以從小就將托瓦茲帶到身邊來管理一些微計算機荆萤。在這個時期,托瓦茲接觸了匯編語言(AssemblyLanguage)铣卡,那是一種直接與芯片對話的程序語言链韭,也就是所謂的低級語言。必須要很了解硬件的架構(gòu)煮落,否則很難以匯編語言撰寫程序的敞峭。

在1988年間,托瓦茲順利的進(jìn)入了赫爾辛基大學(xué)蝉仇,并選讀了計算機科學(xué)系儡陨。在就學(xué)期間,因為學(xué)業(yè)的需要與自己的興趣量淌,托瓦茲接觸到了Unix這個操作系統(tǒng)骗村。當(dāng)時整個赫爾辛基只有一部最新的Unix系統(tǒng),同時僅提供16個終端機(terminal)呀枢。 還記得我們上一節(jié)剛剛提過的胚股,早期的計算機僅有主機具有運算功能,terminal僅負(fù)責(zé)提供Input/Output而已裙秋。在這種情況下琅拌,實在很難滿足托瓦茲的需求,因為…光是等待使用Unix的時間摘刑,就很耗時~為此进宝,他不禁想到:“我何不自己搞一部Unix來玩?”不過枷恕,就如同Stallman當(dāng)初的GNU計劃一樣党晋,要寫核心程序,談何容易~

不過徐块,幸運之神并未背離托瓦茲未玻,因為不久之后,他就知道有一個類似Unix的系統(tǒng)胡控,并且與Unix完全兼容扳剿,還可以在Intel 386機器上面跑的操作系統(tǒng),那就是我們上一節(jié)提過的昼激,譚寧邦教授為了教育需要而撰寫的Minix系統(tǒng)庇绽!他在購買了最新的Intel 386的個人計算機后锡搜,就立即安裝了Minix這個操作系統(tǒng)。另外瞧掺,上個小節(jié)當(dāng)中也談到余爆,Minix這個操作系統(tǒng)是有附上源代碼的,所以托瓦茲也經(jīng)由這個源代碼學(xué)習(xí)到了很多的核心程序設(shè)計的設(shè)計概念喔夸盟!

1.2.2? 對386硬件的多任務(wù)測試

事實上蛾方,托瓦茲對于個人計算機的CPU其實并不滿意,因為他之前碰的計算機都是工作站型的計算機上陕,這類計算機的CPU特色就是可以進(jìn)行“多任務(wù)處理”的能力桩砰。什么是多任務(wù)呢?理論上释簿,一個CPU在一個時間內(nèi)僅能進(jìn)行一個程序糕篇,那如果有兩個以上的程序同時出現(xiàn)到系統(tǒng)中呢质礼?舉例來說,你可以在現(xiàn)今的計算機中同時打開兩個以上的辦公軟件,例如電子試算表與文書處理軟件胁赢。這個同時打開的動作代表著這兩個程序同時要交給CPU來處理~

笆浇谩父腕!CPU一個時間點內(nèi)僅能處理一個程序叼架,那怎么辦?沒關(guān)系套像,這個時候如果是具有多任務(wù)能力的CPU就會在不同的程序間切換~還記得前一章談到的CPU頻率吧酿联?假設(shè)CPU頻率為1GHz的話,那表示CPU一秒鐘可以進(jìn)行109次工作夺巩。假設(shè)CPU對每個程序都只進(jìn)行1000次運行周期贞让,然后就得要切換到下個程序的話,那么CPU一秒鐘就能夠切換106次呢A(當(dāng)然啦喳张,切換工作這件事情也會花去一些CPU時間,不過這里暫不討論)美澳。這么快的處理速度下销部,你會發(fā)現(xiàn),兩個程序感覺上幾乎是同步在進(jìn)行啦人柿!

Tips

為什么有的時候我同時開兩個文件(假設(shè)為A, B文件)所花的時間柴墩, 要比開完A再去開B文件的時間還要多?現(xiàn)在是否稍微可以理解凫岖?因為如果同時打開的話,CPU就必須要在兩個工作之間不停的切換~而切換的動作還是會耗去一些CPU時間的逢净!所以啰哥放,同時啟用兩個以上的工作在一個CPU上歼指,要比一個一個的執(zhí)行還要耗時一點。這也是為何現(xiàn)在CPU開發(fā)商要整合多個CPU于一個芯片中甥雕!也是為何在運行情況比較復(fù)雜的服務(wù)器上踩身,需要比較多的CPU負(fù)責(zé)的原因!

早期Intel x86架構(gòu)計算機不是很受重視的原因社露,就是因為x86的芯片對于多任務(wù)的處理不佳挟阻,CPU在不同的工作之間切換不是很順暢。但是這個情況在386計算機推出后峭弟,有很大的改善附鸽。托瓦茲在得知新的386芯片的相關(guān)信息后,他認(rèn)為瞒瘸,以性能價格比的觀點來看坷备,Intel的386相當(dāng)?shù)谋阋耍栽谛阅苌弦簿蜕晕⒖梢詫⒕蛯⒕蚟_^情臭。最終他就貸款去買了一部Intel的386來玩省撑。

早期的計算機性能沒有現(xiàn)在這么好,所以壓榨計算機性能就成了工程師的一項癖好俯在!托瓦茲本人早期是玩匯編語言的竟秫,匯編語言對于硬件有很密切的關(guān)系,托瓦茲自己也說:“我始終是個性能癖”^_^跷乐。為了徹底發(fā)揮386的性能鸿摇,于是托瓦茲花了不少時間在測試386機器上!他的重要測試就是在測試386的多任務(wù)性能劈猿。首先拙吉,他寫了三個小程序,一個程序會持續(xù)輸出A揪荣、一個會持續(xù)輸出B筷黔, 最后一個會將兩個程序進(jìn)行切換。他將三個程序同時執(zhí)行仗颈,結(jié)果佛舱,他看到屏幕上很順利的一直出現(xiàn)ABABAB……他知道,他成功了挨决!^_^

圖1.2.1请祖、386電腦的多任務(wù)測試

Tips

要達(dá)到多任務(wù)(multitasking)的環(huán)境,除了硬件(主要是CPU)需要能夠具有多任務(wù)的特性外脖祈,操作系統(tǒng)也需要支持這個功能喔肆捕!一些不具有多任務(wù)特性的操作系統(tǒng),想要同時執(zhí)行兩個程序是不可能的盖高。除非先被執(zhí)行的程序執(zhí)行完畢慎陵,否則眼虱,

后面的程序不可能被主動執(zhí)行。

至于多任務(wù)的操作系統(tǒng)中席纽,每個程序被執(zhí)行時捏悬,都會有一個最大CPU使用時間,若該工作運行的時間超過這個CPU使用時間時润梯,該工作就會先被丟出 CPU的運行中过牙,而再度的進(jìn)入核心工作調(diào)度中等待下一次被CPU取用來運行。

這有點像在開記者會啦纺铭,主持人(CPU)會問“誰要發(fā)問”寇钉?一群記者(工作程序) 就會舉手(看誰的工作重要!)彤蔽,先舉手的自然就被允許發(fā)問摧莽,問完之后, 主持人又會問一次誰要發(fā)問顿痪,當(dāng)然镊辕,所有人(包括剛剛那個記者)都可以舉手!如此一次一次的將工作給他完成耙舷征懈!^_^多任務(wù)的環(huán)境對于復(fù)雜的工作情況,幫助很大喔揩悄!

1.2.3? 初次發(fā)布Linux0.02

探索完386的硬件性能之后卖哎,終于拿到Minix并且安裝在托瓦茲的386計算機上之后,托瓦茲跟BBS上面一堆工程師一樣删性,他發(fā)現(xiàn)Minix雖然真的很棒亏娜,但是譚寧邦教授就是不愿意進(jìn)行功能的加強,導(dǎo)致一堆工程師在操作系統(tǒng)功能上面的欲求不滿蹬挺!這個時候年輕的托瓦茲就想:“既然如此维贺,那我何不自己來改寫一個我想要的操作系統(tǒng)?”于是他就開始了核心程序的撰寫了巴帮。

撰寫程序需要什么呢溯泣?首先需要的是能夠進(jìn)行工作的環(huán)境,再來則是可以將源代碼編譯成為可可執(zhí)行文件的編譯器榕茧。好在有GNU計劃提供的bash工作環(huán)境軟件以及gcc編譯器等自由軟件垃沦,讓托瓦茲得以順利的撰寫核心程序。他參考Minix的設(shè)計理念與書上的程序碼用押,然后仔細(xì)研究出386個人計算機的性能最優(yōu)化肢簿,然后使用GNU的自由軟件將核心程序碼與386緊緊的結(jié)合在一起,最終寫出他所需要的核心程序。而這個小玩意竟然真的可以在386上面順利的跑起來~還可以讀取Minix的文件系統(tǒng)译仗。真是太好了抬虽!不過還不夠官觅,他希望這個程序可以獲得大家的一些修改建議纵菌,于是他便將這個核心放置在網(wǎng)絡(luò)上提供大家下載,同時在BBS上面貼 了一則消息:

Hello everybody out there using minix-

I'm doing a (free) operation system? (just a hobby, won't be big and professional? like gnu) for386(486) AT clones.

I've currently ported bash (1.08) and gcc (1.40), and things seem to work. This? implies that i'll get something practical within a few months, and I'd like to know what? features most people want.? Any suggestions are welcome, butI? won't promise I'll implement them :-)

他說休涤,他完成了一個小小的操作系統(tǒng)咱圆,這個核心是用在386機器上的,同時功氨,他真的僅是好玩序苏,并不是想要做一個跟GNU一樣大的計劃!另外捷凄,他希望能夠得到更多人的建議與回饋來發(fā)展這個操作系統(tǒng)忱详!這個概念跟Minix剛好背道而馳呢!這則新聞引起很多人的注意跺涤,他們也去托瓦茲提供的網(wǎng)站上下載了這個核心來安裝匈睁。有趣的是,因為托瓦茲放置核心的那個FTP網(wǎng)站的目錄為:Linux桶错, 從此航唆,大家便稱這個核心為Linux了。(請注意院刁,此時的Linux就是那個kernel喔糯钙!另外,托瓦茲所放到該目錄下的第一個核心版本為0.02呢M诵取)

同時任岸,為了讓自己的Linux能夠兼容于Unix系統(tǒng),于是托瓦茲開始將一些能夠在Unix上面運行的軟件拿來在Linux上面跑狡刘。不過享潜,他發(fā)現(xiàn)到有很多的軟件無法在Linux這個核心上運行。這個時候他有兩種作法颓帝,一種是修改軟件米碰,讓該軟件可以在Linux上跑,另一種則是修改Linux购城,讓Linux符合軟件能夠運行的規(guī)范吕座!由于Linux希望能夠相容于Unix,于是托瓦茲選擇了第二個作法“修改Linux”瘪板!為了讓所有的軟件都可以在Linux上執(zhí)行吴趴,于是托瓦茲開始參考標(biāo)準(zhǔn)的POSIX規(guī)范。

Tips

POSIX是可移動式操作系統(tǒng)接口(PortableOperating System Interface)的縮寫侮攀,重點在規(guī)范核心與應(yīng)用程序之間的接口锣枝,這是由美國電器與電子工程師學(xué)會(IEEE)所發(fā)布的一項標(biāo)準(zhǔn)喔厢拭!

這個正確的決定讓Linux在起步的時候體質(zhì)就比別人優(yōu)良~因為POSIX標(biāo)準(zhǔn)主要是針對Unix與一些軟件運行時候的標(biāo)準(zhǔn)規(guī)范,只要依據(jù)這些標(biāo)準(zhǔn)規(guī)范來設(shè)計的核心與軟件撇叁,理論上供鸠,就可以搭配在一起執(zhí)行了。而Linux的發(fā)展就是依據(jù)這個POSIX的標(biāo)準(zhǔn)規(guī)范陨闹,Unix上面的軟件也是遵循這個規(guī)范來設(shè)計的楞捂,如此一來,Linux很容易就與Unix兼容共享互有的軟件了趋厉!同時寨闹,因為Linux直接放置在網(wǎng)絡(luò)下,提供大家下載君账,所以在流通的速度上相當(dāng)?shù)目旆北ぃ?dǎo)致Linux的使用率大增!這些都是造成Linux大受歡迎的幾個重要因素呢乡数!

Tips

其實托瓦茲有意無意之間常常會透露他自己是個只喜歡玩(Just for Fun)的怪人椭蹄!Linux一開始也只是托瓦茲的一個作業(yè)發(fā)展出來的玩具而已。他也說瞳脓,如果Minix或hurd這兩個中的任何一個系統(tǒng)可以提早開發(fā)出他想要的功能與環(huán)境塑娇,也許他根本不會想要自己開發(fā)一個Linux哩!哇劫侧!人類智慧真是沒有極限埋酬!各位啊:1)要先有基礎(chǔ)知識與技能烧栋、2)有了第一點后写妥,要勇于挑戰(zhàn)權(quán)威、3)把你們的玩具發(fā)揚光大吧审姓!^_^

1.2.4 Linux的發(fā)展:虛擬團(tuán)隊的產(chǎn)生

Linux能夠成功除了托瓦茲個人的理念與力量之外珍特,其實還有個最重要的團(tuán)隊!

個人維護(hù)階段

Linux雖然是托瓦茲發(fā)明的魔吐,而且內(nèi)容還絕不會涉及專利軟件的版權(quán)問題扎筒。不過,如果單靠托瓦茲自己一個人的話酬姆,那么Linux要茁壯實在很困難~因為一個人的力量是很有限的嗜桌。好在托瓦茲選擇Linux的開發(fā)方式相當(dāng)?shù)膭?wù)實!首先辞色,他將釋出的Linux核心放置在FTP上面骨宠,并且告知大家新的版本信息,等到使用者下載了這個核心并且安裝之后,如果發(fā)生問題层亿,或者是由于特殊需求亟需某些硬件的驅(qū)動程序桦卒,那么這些使用者就會主動回報給托瓦茲。在托瓦茲能夠解決的問題范圍內(nèi)匿又,他都能很快速的進(jìn)行Linux核心的更新與除錯方灾。

廣大黑客志愿者加入階段

不過,托瓦茲總是有些硬件無法取得的啊琳省,那么他當(dāng)然無法幫助進(jìn)行驅(qū)動程序的撰寫與相關(guān)軟件的改良迎吵。這個時候躲撰,就會有些志愿者跳出來說:“這個硬件我有针贬,我來幫忙寫相關(guān)的驅(qū)動程序÷5埃”因為Linux的核心是Open Source的桦他,黑客志愿者們很容易就能夠跟隨Linux的原本設(shè)計架構(gòu),并且寫出兼容的驅(qū)動程序或者軟件谆棱。志愿者們寫完的驅(qū)動程序與軟件托瓦茲是如何看待的呢快压?首先,他將該驅(qū)動程序/軟件帶入核心中垃瞧,并且加以測試蔫劣。只要測試可以運行,并且沒有什么主要的大問題个从,那么他就會很樂意的將志愿者們寫的程序碼加入核心中脉幢!

總之,托瓦茲是個很務(wù)實的人嗦锐,對于Linux核心所欠缺的項目嫌松,他總是“先求有且能跑,再求進(jìn)一步改良”的心態(tài)奕污!這讓Linux使用者與志愿者得到相當(dāng)大的鼓勵萎羔!因為Linux的進(jìn)步太快了!使用者要求虛擬內(nèi)存碳默,結(jié)果不到一個星期推出的新版Linux就有了贾陷!這不得不讓人佩服啊嘱根!

另外髓废,為了回應(yīng)這種隨時都有程序碼加入的狀況,于是Linux便逐漸發(fā)展成具有模塊的功能儿子!亦即是將某些功能獨立出于核心外瓦哎,在需要的時候才載入到核心中。如此一來,如果有新的硬件驅(qū)動程序或者其他協(xié)議的程序碼進(jìn)來時蒋譬,就可以模塊化割岛,大大的增加了Linux核心的可維護(hù)能力!

Tips

核心是一組程序犯助,如果這組程序每次加入新的功能都得要重新編譯與改版的話會變成如何癣漆?想像一下,如果你只是換了顯卡就得要重新安裝新的Windows操作系統(tǒng)剂买,會不會傻眼惠爽?模塊化之后,原本的核心程序不需要更動瞬哼,你可以直接將他想成是“驅(qū)動程序”即可婚肆!^_^

核心功能細(xì)部分工發(fā)展階段

后來,因為Linux核心加入了太多的功能坐慰,光靠托瓦茲一個人進(jìn)行核心的實際測試并加入核心原始程序?qū)嵲谔M力~結(jié)果较性,就有很多的朋友跳出來幫忙這個前置工作!例如考克斯(Alan Cox)结胀、與崔迪(StephenTweedie)等等赞咙, 這些重要的副手會先將來自志愿者們的修補程序或者新功能的程序代碼進(jìn)行測試,并且結(jié)果上傳給托瓦茲看糟港,讓托瓦茲作最后核心加入的源代碼的選擇與整合攀操!這個分層負(fù)責(zé)的結(jié)果,讓Linux的發(fā)展更加的容易秸抚!

特別值得注意的是速和,這些托瓦茲的Linux開發(fā)副手,以及自愿傳送修補程序的黑客志愿者耸别,其實都沒有見過面健芭,而且彼此在地球的各個角落,大家群策群力的共同發(fā)展出現(xiàn)今的Linux秀姐, 我們稱這群人為虛擬團(tuán)隊慈迈!而為了虛擬團(tuán)隊數(shù)據(jù)的傳輸,于是Linux便成立了核心網(wǎng)站:http://www.kernel.org省有!

而這群素未謀面的虛擬團(tuán)隊們痒留,在1994年終于完成的Linux的核心正式版!version 1.0蠢沿。 這一版同時還加入了X WindowSystem的支持呢伸头!且于1996年完成了2.0版、2011年發(fā)布3.0版舷蟀,更于2015年4月發(fā)布了4.0版哩恤磷!發(fā)展相當(dāng)迅速喔面哼!此外,托瓦茲指明了企鵝為Linux的吉祥物扫步。

Tips

奇怪的是魔策,托瓦茲是因為小時候去動物園被企鵝咬了一口念念不忘,

而正式的2.0推出時河胎,大家要他想一個吉祥物闯袒。他在想也想不到什么動物的情況下,就將這個念念不忘的企鵝當(dāng)成了Linux的吉祥物了……

Linux由于托瓦茲是針對386寫的游岳,跟386硬件的相關(guān)性很強政敢,所以,早期的Linux確實是不具有移植性的胚迫。不過喷户,大家知道Open source的好處就是,可以修改程序碼去適合工作的環(huán)境晌区。因此摩骨,在1994年以后,Linux便被開發(fā)到很多的硬件上面去了朗若!目前除了x86之外,IBM昌罩、HP等等公司出的硬件也都有被Linux所支持呢哭懈!甚至于小型單板計算機(樹莓派/香蕉派等)與手持設(shè)備(智能手機、平板電腦)的ARM架構(gòu)系統(tǒng)茎用,大多也是使用Linux核心喔遣总!

1.2.5? Linux的核心版本

Linux的核心版本編號有點類似如下的樣子:

3.10.0-123.el7.x86_64

主版本.次版本.釋出版本-修改版本

雖然編號就是如上的方式來編的,不過依據(jù)Linux核心的發(fā)展期程轨功,核心版本的定義有點不太相同喔旭斥!

奇數(shù)、偶數(shù)版本分類

在2.6.x版本以前古涧,托瓦茲將核心的發(fā)展趨勢分為兩股垂券,并根據(jù)這兩股核心的發(fā)展分別給予不同的核心編號,那就是:

主羡滑、次版本為奇數(shù):開發(fā)版(development)如2.5.xx菇爪,這種核心版本主要用在測試與開發(fā)新功能,所以通常這種版本僅有核心開發(fā)工程師會使用柒昏。如果有新增的核心程序碼凳宙,會加到這種版本當(dāng)中,等到眾多工程師測試沒問題后职祷,才加入下一版的穩(wěn)定核心中氏涩;

主届囚、次版本為偶數(shù):穩(wěn)定版(stable)如2.6.xx,等到核心功能發(fā)展成熟后會加到這類的版本中是尖,主要用在一般家用計算機以及企業(yè)版本中奖亚。重點在于提供使用者一個相對穩(wěn)定的Linux工作環(huán)境平臺。

至于釋出版本則是在主析砸、次版本架構(gòu)不變的情況下昔字,新增的功能累積到一定的程度后所新釋出的核心版本。而由于Linux核心是使用GPL的授權(quán)首繁,因此大家都能夠進(jìn)行核心程序碼的修改作郭。因此,如果你有針對某個版本的核心修改過部分的程序碼弦疮,那么那個被修改過的新的核心版本就可以加上所謂的修改版本了夹攒。

主線版本、長期維護(hù)版本(longterm version)

不過胁塞,這種奇數(shù)咏尝、偶數(shù)的編號格式在3.0推出之后就失效了。從3.0版開始啸罢,核心主要依據(jù)主線版本(MainLine)來開發(fā)编检,開發(fā)完畢后會往下一個主線版本進(jìn)行。

例如3.10就是在3.9的架構(gòu)下繼續(xù)開發(fā)出來的新的主線版本扰才。通常新一版的主線版本大約在2~3個月會被提出喔允懂!之所以會有新的主線版本,是因為有加入新功能之故●孟唬現(xiàn)在(2015/04)最新的主線版本已經(jīng)來到4.0版了喔蕾总!好快!

而舊的版本在新的主線版本出現(xiàn)之后琅捏,會有兩種機制來處理生百,一種機制為結(jié)束開發(fā)(End of Live, EOL),亦即該程序代碼已經(jīng)結(jié)束柄延,不會有繼續(xù)維護(hù)的狀態(tài)蚀浆。另外一種機制為保持該版本的持續(xù)維護(hù),亦即為長期維護(hù)版本(Longterm)拦焚!例如3.10即為一個長期維護(hù)版本蜡坊,這個版本的程序碼會被持續(xù)維護(hù),若程序碼有bug或其他問題赎败,核心維護(hù)者會持續(xù)進(jìn)行程序碼的更新維護(hù)喔秕衙!

所以啰,如果你想要使用Linux核心來開發(fā)你的系統(tǒng)僵刮,那么當(dāng)然要選擇長期支持的版本才行据忘!要判斷你的Linux核心是否為長期支持的版本鹦牛,可以使用“uname -r”來查閱核心版本,然后對照下列鏈接來了解其對應(yīng)值喔勇吊!

https://www.kernel.org/releases.html

Linux核心版本與Linux發(fā)布商版本

Linux核心版本與distribution(下個小節(jié)會談到)的版本并不相同曼追,很多朋友常常上網(wǎng)問到:“我的Linux是7.x版,請問…”之類的留言汉规,這是不對的提問方式礼殊,因為所謂的Linux版本指的應(yīng)該是核心版本,而目前最新的核心版本應(yīng)該是4.0.0(2015/04)才對针史,并不會有7.x的版本出現(xiàn)的晶伦。

你常用的Linux系統(tǒng)則應(yīng)該說明為distribution才對!因此啄枕,如果以CentOS這個distribution來說婚陪,你應(yīng)該說:“我用的Linux是CentOS這個distribution,版本為7.x版频祝,請問…”才對喔泌参!

Tips

當(dāng)你有任何問題想要在Linux論壇發(fā)言時,請務(wù)必仔細(xì)的說明你的distribution版本常空,因為雖然各家distributions使用的都是Linux核心沽一,不過每家distribution所選用的軟件以及他們自己發(fā)展的工具并不相同,多少還是有點差異窟绷,所以留言時得要先聲明distribution的版本才行喔锯玛!^_^

1.2.6 Linux distributions

好了,經(jīng)過上面的說明兼蜈,我們知道了Linux其實就是一個操作系統(tǒng)最底層的核心及其提供的核心工具。他是GNU GPL授權(quán)模式拙友,所以为狸,任何人均可取得源代碼與可執(zhí)行的核心程序,并且可以修改遗契。此外辐棒,因為Linux參考POSIX設(shè)計規(guī)范,于是兼容于 Unix操作系統(tǒng)牍蜂,故亦可稱之為Unix Like的一種漾根。

Tips

鳥哥曾在上課的時候問過同學(xué):“什么是Unix Like啊”?可愛的同學(xué)們回答的答案是:“就是很喜歡(like)Unix啦鲫竞!”囧rz…那個 like是“很像”啦!所以Unix like是“很像Unix的操作系統(tǒng)”哩辐怕!

可完整安裝的Linux發(fā)布套件

Linux的出現(xiàn)讓GNU計劃放下了心里的一塊大石頭,因為GNU一直以來就是缺乏了核心程序从绘,導(dǎo)致他們的GNU自由軟件只能在其他的Unix上面跑寄疏。既然目前有Linux出現(xiàn)了是牢,且Linux也用了很多的GNU相關(guān)軟件,所以Stallman認(rèn)為Linux的全名應(yīng)該稱之為 GNU/Linux呢陕截!不管怎么說驳棱,Linux實在很不錯,讓GNU軟件大多以Linux為主要操作系統(tǒng)來進(jìn)行開發(fā)农曲,此外社搅,很多其他的自由軟件團(tuán)隊,例如postfix, vsftpd, apache等等也都有以Linux 為開發(fā)測試平臺的計劃出現(xiàn)乳规!如此一來形葬,Linux除了主要的核心程序外,可以在 Linux 上面運行的軟件也越來越多驯妄,如果有心荷并,就能夠?qū)⒁粋€完整的Linux操作系統(tǒng)搞定了!

雖然由Torvalds負(fù)責(zé)開發(fā)的Linux僅具有Kernel與Kernel提供的工具青扔,不過源织,如上所述,很多的軟件已經(jīng)可以在Linux上面運行了微猖,因此谈息,“Linux + 各種軟件”就可以完成一個相當(dāng)完整的操作系統(tǒng)了。不過凛剥,要完成這樣的操作系統(tǒng)……還真難~ 因為Linux早期都是由黑客工程師所開發(fā)維護(hù)的侠仇,他們并沒有考慮到一般使用者的能力……

為了讓使用者能夠接觸到Linux,于是很多的商業(yè)公司或非營利團(tuán)體犁珠, 就將Linux Kernel(含tools)與可運行的軟件整合起來逻炊,加上自己具有創(chuàng)意的工具程序斋荞, 這個工具程序可以讓使用者以光盤/DVD或者通過網(wǎng)絡(luò)直接安裝/管理Linux系統(tǒng)恒傻。 這個“Kernel + Softwares + Tools + 可完整安裝程序”的東西,我們稱之為Linux distribution镜沽,一般中文翻譯成可完整安裝套件炊昆,或者Linux發(fā)布商套件等桨吊。

圖1.2.2、Linux可完整安裝發(fā)行套件

Tips

由于Linux核心是由黑客工程師寫的凤巨,要由源代碼安裝到x86計算機上面成為可以執(zhí)行的binary文件视乐, 這個過程可不是人人都會的~所以早期確實只有工程師對Linux有興趣。一直到一些社區(qū)與商業(yè)公司將Linux核心配合自由軟件敢茁,并提供完整的安裝程序佑淀,且制成光盤/DVD后,對于一般使用者來說卷要,Linux才越來越具有吸引力渣聚!因為只要一直“下一步”就可以將Linux安裝完成岸懒瘛!^_^

由于GNU的GPL授權(quán)并非不能從事商業(yè)行為奕枝,于是很多商業(yè)公司便成立來販?zhǔn)跮inux distribution棺榔。而由于Linux的GPL版權(quán)宣告,因此隘道,商業(yè)公司所販?zhǔn)鄣腖inux

distributions通常也都可以從Internet上面來下載的症歇!此外,如果你想要其他商業(yè)公司的服務(wù)谭梗,那么直接向該公司購買光盤來安裝忘晤,也是一個很不錯的方式的!

各大Linux Distributions的主要異同:支持標(biāo)準(zhǔn)激捏!

不過设塔,由于發(fā)展Linux distributions的社區(qū)與公司實在太多了,例如在臺灣有名的RedHat, SuSE, Ubuntu, Fedora, Debian等等远舅,所以很多人都很擔(dān)心闰蛔,如此一來每個distribution是否都不相同呢?這就不需要擔(dān)心了图柏,因為每個Linux distribution使用的kernel都是http://www.kernel.org所發(fā)布的序六,而他們所選擇的軟件,幾乎都是目前很知名的軟件蚤吹,重復(fù)性相當(dāng)?shù)母呃鳎缇W(wǎng)頁服務(wù)器的Apache,電子郵件服務(wù)器的Postfix/sendmail裁着,文件服務(wù)器的Samba等等繁涂。

此外,為了讓所有的Linux distributions開發(fā)不致于差異太大二驰,且讓這些開發(fā)商在開發(fā)的時候有所依據(jù)爆土,還有LinuxStandard Base(LSB)等標(biāo)準(zhǔn)來規(guī)范開發(fā)者,以及目錄架構(gòu)的Filesystem Hierarchy Standard(FHS)標(biāo)準(zhǔn)規(guī)范诸蚕!唯一差別的,可能就是該開發(fā)者自家所開發(fā)出來的管理工具氧猬,以及套件管理的模式吧背犯!所以說,基本上盅抚,每個Linuxdistribution除了架構(gòu)的嚴(yán)謹(jǐn)度與選擇的套件內(nèi)容外漠魏,其實差異并不太大啦!^_^妄均。大家可以選擇自己喜好的distribution來安裝即可柱锹!

FHS:http://www.pathname.com/fhs/

LSB:http://www.linuxbase.org/

事實上鳥哥認(rèn)為distributions主要分為兩大系統(tǒng)哪自,一種是使用RPM方式安裝軟件的系統(tǒng),包括Red Hat, Fedora, SuSE等都是這類禁熏;一種則是使用Debian的dpkg方式安裝軟件的系統(tǒng)壤巷,包括Debian, Ubuntu, B2D等等。若是加上商業(yè)公司或社區(qū)單位的分類瞧毙,那么我們可以簡單的用下表來做個解釋喔胧华!

????????????????????RPM軟件管理????????????????????DPKG軟件管理????????????????????????????????其他未分類

商業(yè)公司????RHEL(Red Hat公司)??????Ubuntu(Canonical Ltd.)

? ? ? ? ? ? ? ? ? ?SuSE(Micro Focus)

社區(qū)單位????Fedora????????????????????????????????Debian????????????????????????????????????????????????Gentoo

? ? ? ? ? ? ? ? ? CentOS???????????????????????????????B2D

? ? ? ? ? ? ? ? ? OpenSUSE

下面列出幾個主要的Linux distributions發(fā)行者網(wǎng)址:

Red Hat:http://www.redhat.com

SuSE:https://www.suse.com

Fedora:https://getfedora.org/

CentOS:http://www.centos.org/

Debian:http://www.debian.org/

Ubuntu:http://www.ubuntu.com/

Gentoo:http://www.gentoo.org/

Tips

到底是要買商業(yè)版還是社區(qū)版的Linux distribution呢?如果是要裝在個人計算機上面做為桌面電腦用的宙彪,建議使用社區(qū)版矩动,包括 Fedora, Ubuntu,

OpenSuSE等等。如果是用在服務(wù)器上面的释漆,建議使用商業(yè)版本悲没,包括Red Hat, SuSE等。這是因為社群版通常開發(fā)者會加入最新的軟件男图,這些軟件可能會有一些bug存在示姿。至于商業(yè)版則是經(jīng)過一段時間的磨合后,才將穩(wěn)定的軟件放進(jìn)去享言。

舉例來說峻凫,F(xiàn)edora放出來的軟件套件經(jīng)過一段時間的維護(hù)后,等到該軟件穩(wěn)定到不容易發(fā)生錯誤后览露,RedHat才將該軟件放到他們最新的發(fā)行版本中荧琼。所以,F(xiàn)edora的軟件比較經(jīng)常改版差牛,RedHat的軟件就比較少改版命锄。

Linux在臺灣

當(dāng)然發(fā)行套件者不僅于此。但是值得大書特書的偏化,是中文Linux的延伸計劃:CLE這個套件脐恩!早期的Linux因為是工程師開發(fā)的,而這些工程師大多以英文語系的國家為主侦讨,所以Linux對于國人的學(xué)習(xí)是比較困難一點驶冒。后來由國人發(fā)起的CLE計劃,開發(fā)很多的中文套件及翻譯了很多的英文文件韵卤,使得我們目前得以使用中文的Linux呢骗污!另外,目前正在開發(fā)中的還有臺南縣臥龍小三等老師們發(fā)起的眾多自由軟件計劃沈条,真是造福很多的朋友靶璺蕖!

自由軟件技術(shù)交流網(wǎng):http://freesf.tw/

B2D:http://b2d-linux.com/

此外,如果只想看看Linux的話屋厘,還可以選擇所謂的可光盤啟動進(jìn)入Linux的Live CD版本涕烧,亦即是KNOPPIX這個Linux distribution呢!臺灣也有阿里巴巴兄維護(hù)的中文LiveCD喔汗洒!

http://www.knoppix.net/

洪老師解釋 KNOPPIX:http://people.ofset.org/~ckhung/b/sa/knoppix.php

Tips

對于沒有額外的硬盤或者是沒有額外的主機的朋友來說议纯,KNOPPIX這個可以利用光盤啟動而進(jìn)入Linux操作系統(tǒng)的Live CD真的是一個不錯的選擇!你只要下載了KNOPPIX的鏡像文件仲翎,然后將它刻錄成為CD痹扇,放入你主機的光驅(qū),并在BIOS內(nèi)設(shè)置光盤為第一個啟動選項溯香,就可以使用Linux系統(tǒng)了呢鲫构!

如果你還想要知道更多的Linux distribution的下載與使用信息,可以參考:

http://distrowatch.com/

選擇適合你的Linux distribution

那我到底應(yīng)該要選擇哪一個distribution玫坛?就如同我們上面提到的结笨,其實每個distribution差異性并不大!不過湿镀,由于套件管理的方式主要分為Debian的dpkg及Red Hat系統(tǒng)的RPM方式炕吸,目前鳥哥的建議是,先學(xué)習(xí)以RPM套件管理為主的RHEL/Fedora/SuSE/CentOS等使用者較多的版本勉痴,這樣一來赫模,發(fā)生問題時,可以提供解決的渠道比較多蒸矛。如果你已經(jīng)接觸過Linux了瀑罗,還想要探討更嚴(yán)謹(jǐn)?shù)腖inux版本,那可以考慮使用Debian雏掠,如果你是以性能至上來考慮斩祭,那么或許Gentoo是不錯的建議!

總之乡话,版本很多摧玫,但是各版本差異其實不大,建議你一定要先選定一個版本后绑青,

先徹頭徹尾的了解它诬像,那再繼續(xù)玩其他的版本時,就可以很快的進(jìn)入狀況闸婴。鳥哥的網(wǎng)站僅提供一個版本颅停,不過是以比較基礎(chǔ)的方式來介紹的,因此掠拳,如果能夠熟練俺這個網(wǎng)站的話,呵呵纸肉!哪一個distribution對你來說溺欧,都不成問題啦喊熟!

不過,如果依據(jù)計算機主機的用途來分的話姐刁,在臺灣鳥哥會這樣建議:

用于企業(yè)環(huán)境:建議使用商業(yè)版本芥牌,例如Red Hat的RHEL或者是SuSE都是很不錯的選擇!畢竟企業(yè)的環(huán)境強調(diào)的是持久的經(jīng)營聂使,你可不希望網(wǎng)管人員走了之后整個機房的主機都沒有人管理吧壁拉!由于商業(yè)版本都會提供客戶服務(wù),所以可以降低企業(yè)的風(fēng)險喔柏靶!

用于個人或教學(xué)的服務(wù)器環(huán)境:要是你的服務(wù)器所在環(huán)境如果死機還不會造成太大的問題的話弃理,加上你的環(huán)境是在教學(xué)的場合當(dāng)中時(就是說,唔屎蜓!經(jīng)費不足的環(huán)境啦6徊)那么可以使用“號稱”完全兼容商業(yè)版RHEL的CentOS。因為CentOS是抓RHEL的源代碼來重新打包起來的一個Linux distribution炬转,所以號稱兼容于RHEL辆苔。這一版的軟件完全與RHEL相同,再改版的幅度較小扼劈,適合于服務(wù)器系統(tǒng)的環(huán)境驻啤;

用于個人的桌面電腦:想要嘗鮮嗎?建議使用很炫的Fedora/Ubuntu等Desktop(桌面環(huán)境)使用的版本荐吵!如果不想要安裝Linux的話骑冗,那么Fedora或CentOS也有推出Live CD了!也很容易學(xué)習(xí)喔捍靠!


1.3 Linux當(dāng)前應(yīng)用的角色

了解了什么是Linux之后沐旨,再來談?wù)劊悄壳癓inux用在哪里呢榨婆?由于Linux kernel實在是非常的小巧精致磁携,可以在很多強調(diào)省電以及較低硬件資源的環(huán)境下面執(zhí)行;此外良风,由于Linuxdistribution整合了非常多很棒的軟件(不論是專利軟件或自由軟件)谊迄,因此也相當(dāng)適合目前個人計算機的使用呢!傳統(tǒng)上烟央,Linux常見的應(yīng)用可大致分為企業(yè)應(yīng)用與個人應(yīng)用兩方面统诺,但這幾年很流行的云計算環(huán)境中,讓Linux似乎又更有著力點啰疑俭!


1.3.1 企業(yè)環(huán)境的應(yīng)用

企業(yè)對于數(shù)碼化的目標(biāo)在于提供消費者或員工一些產(chǎn)品方面的信息(例如宣傳網(wǎng)站)粮呢,以及整合整個企業(yè)內(nèi)部的數(shù)據(jù)統(tǒng)一性(例如統(tǒng)一的帳號管理/文件管理系統(tǒng)等)。另外,某些企業(yè)例如金融業(yè)等啄寡,則強調(diào)在數(shù)據(jù)庫豪硅、安全強化等重大關(guān)鍵應(yīng)用。學(xué)術(shù)單位則很需要強大的運算能力等挺物。所以企業(yè)環(huán)境運用Linux作些什么呢懒浮?

網(wǎng)絡(luò)服務(wù)器:

這是Linux當(dāng)前最熱門的應(yīng)用了!承襲了Unix高穩(wěn)定性的良好傳統(tǒng)识藤,Linux上面的網(wǎng)絡(luò)功能特別的穩(wěn)定與強大砚著!此外,由于 GNU計劃與Linux的GPL授權(quán)模式痴昧,讓很多優(yōu)秀的軟件都在Linux上面發(fā)展稽穆,且這些在Linux上面的服務(wù)器軟件幾乎都是自由軟件!因此剪个,做為一部網(wǎng)絡(luò)服務(wù)器秧骑,例如WWW, Mail Server, File

Server等等,Linux絕對是上上之選扣囊!當(dāng)然乎折,這也是Linux的強項!由于 Linux server 的需求強烈侵歇,因此許多硬件廠商推出產(chǎn)品時骂澄,

還得要特別說明有支持的 Linux distributions 呢!方便提供企業(yè)采購部門的規(guī)劃喔惕虑!例如下面的鏈接可以瞧瞧:

Dell 公司的Server 對 OS 的支持度:

http://www.dell.com/support/contents/tw/en/twbsd1/article/Product-Support/Self-support-Knowledgebase/enterprise-resource-center/server-operating-system-support

HP 公司的支持:

http://www8.hp.com/us/en/business-services/it-services.html?compURI=1078888#tab=TAB1

IBM 公司的支持:

http://www-03.ibm.com/systems/hardware/browse/linux/

VMWare 的虛擬化支持:

https://www.vmware.com/support/ws55/doc/intro_supguest_ws.html

從上面的幾個大廠的 Linux 支持情況來看坟冲,目前(2015)支持度比較廣泛的依舊是 Red Hat 以及 SuSU兩個大廠喔!提供給企業(yè)采購的時候參考參考溃蔫!

Tips

前一陣子參加一個座談會健提,會上許多企業(yè)界的前輩們在聊,如果想要選擇某個 Linux distribution 時伟叛,哪個 distribution 會是企業(yè)采購時的最愛呢私痹?與會的朋友說,要采購嗎统刮?看看服務(wù)器大廠對于該 distribution 的支持度就知道了紊遵!答案是什么?就是上面許多鏈接的結(jié)果啰侥蒙!^_^?

關(guān)鍵任務(wù)的應(yīng)用(金融數(shù)據(jù)庫暗膜、大型企業(yè)網(wǎng)管環(huán)境):

由于個人計算機的性能大幅提升且價格便宜,所以金融業(yè)與大型企業(yè)的環(huán)境為了要精簡自己機房的機器設(shè)備鞭衩,因此很多企業(yè)漸漸的走向Intel兼容的x86主機環(huán)境学搜。而這些企業(yè)所使用的軟件大多是Unix操作系統(tǒng)平臺的軟件娃善,總不能連過去開發(fā)的軟件都一口氣全部換掉吧!所以啰恒水,這個時候符合Unix操作系統(tǒng)標(biāo)準(zhǔn)并且可以在x86上運行的Linux就漸漸嶄露頭角了会放!^_^

目前很多金融業(yè)界都已經(jīng)使用Linux做為他們的關(guān)鍵任務(wù)應(yīng)用。所謂的關(guān)鍵任務(wù)就是該企業(yè)最重要的業(yè)務(wù)啦钉凌!舉例來說,金融業(yè)最重要的就是那些投資者捂人、帳戶的數(shù)據(jù)了御雕,這些數(shù)據(jù)大多使用數(shù)據(jù)庫系統(tǒng)來作為存取接口,這些數(shù)據(jù)很重要吧滥搭!很多金融業(yè)將這么重要的任務(wù)交給了Linux了酸纲!你說Linux厲不厲害啊瑟匆?

學(xué)術(shù)機構(gòu)的高性能運算任務(wù):

學(xué)術(shù)機構(gòu)的研究常常需要自行開發(fā)軟件闽坡,所以對于可作為開發(fā)環(huán)境的操作系統(tǒng)需求非常的迫切!舉例來說愁溜,非常多技職體系的科技大學(xué)就很需要這方面的環(huán)境疾嗅,好進(jìn)行一些畢業(yè)項目的制作呢!又例如工程界流體力學(xué)的數(shù)值模式運算冕象、娛樂業(yè)的特效功能處理代承、軟件開發(fā)者的工作平臺等等。由于Linux的創(chuàng)造者本身就是個計算機性能癖渐扮,所以Linux有強大的運算能力论悴;并且Linux具有支持度相當(dāng)廣泛的GCC編譯軟件,因此Linux在這方面的優(yōu)勢可是相當(dāng)明顯的墓律!

舉個鳥哥自己的案例好了膀估,鳥哥之前待的研究室有跑一套空氣品質(zhì)模式的數(shù)值仿真軟件。這套軟件原本只能在Sun的SPARC機器上面跑耻讽。后來該軟件轉(zhuǎn)向Linux操作系統(tǒng)平臺發(fā)展察纯,鳥哥也將自己實驗室的數(shù)值模式程序由Sun的Solaris平臺移植到Linux上面呢!據(jù)美國環(huán)保署內(nèi)部人員的測試齐饮,發(fā)現(xiàn)Linux平臺的整體硬件費用不但比較便宜(x86系統(tǒng)嘛>枇取),而且速度還比較快呢祖驱!

另外握恳,為了加強整體系統(tǒng)的性能,計算機集群系統(tǒng)(Cluster)的并行運算能力在近年來一直被拿出來討論(注11)捺僻。所謂的并行運算指的是“將原本的工作分成多份乡洼,然后交給多部主機去運算崇裁,最終再將結(jié)果收集起來”的一種方式。由于通過高速網(wǎng)絡(luò)使用多部主機束昵,將能夠讓原本需要很長運算時間的工作拔稳,大幅的降低等待的時間!例如中央氣象局的氣象預(yù)報就很需要這樣的系統(tǒng)來幫忙锹雏!而Linux操作系統(tǒng)則是這種架構(gòu)下相當(dāng)重要的一個環(huán)境平臺呢巴比!

Tips

由于服務(wù)器的CPU數(shù)量可以增加許多,而且也能夠達(dá)到比較省電的功能礁遵,因此鳥哥最近更換了昆山科大資傳系的模型運算服務(wù)器組轻绞,通過20核心40線程的以及12核心24線程的兩部系統(tǒng),搭配10G網(wǎng)卡來處理模式的運行佣耐!用的是本書談到的CentOS Linux政勃,跑的模式是美國環(huán)保署公布,現(xiàn)行于世界最流行的CMAQ空品模型喔兼砖!


1.3.2? 個人環(huán)境的使用

你知道你平時接觸的電子用品中奸远,哪些東西里面有Linux系統(tǒng)存在呢?其實相當(dāng)?shù)亩嗄胤硇∥覀兙蛠碚勔徽劙桑?/p>

臺式電腦:

所謂的臺式電腦懒叛,其實就是你我在辦公室使用的計算機啦。一般我們稱之為Desktop(桌面)的系統(tǒng)戏挡。那么這個Desktop的系統(tǒng)平時都在做什么呢芍瑞?大概都是這些工作吧:

上網(wǎng)瀏覽+實時通訊(Skype, FB, Google, Yahoo…);

文字處理褐墅;

網(wǎng)絡(luò)辦公平臺拆檬;

辦公室軟件(OfficeSoftware)處理數(shù)據(jù);

收發(fā)電子郵件妥凳;

想進(jìn)行這些計算機工作時竟贯,你的Desktop環(huán)境需要什么東西?很簡單逝钥,“就是需要窗口”屑那!因為上網(wǎng)瀏覽、文字編輯的所見即所得界面艘款,以及電子公文系統(tǒng)等等持际, 如果沒有窗口界面的輔助,那么將對使用者造成很大的困擾哗咆。而眾所皆知的蜘欲,Linux早期都是由工程師所發(fā)展的,對于窗口界面并沒有很需要晌柬,所以造成Linux不太友好的印象姥份。

好在郭脂,為了要強化桌面電腦的使用率,Linux與X Window System結(jié)合了澈歉!要注意的是展鸡,X Window System僅只是Linux上面的一套軟件,而不是核心喔埃难!所以即使X Window掛了莹弊,對Linux也可能不會有直接的影響呢!更多關(guān)于X window system的詳細(xì)信息我們留待第二十三章再來介紹涡尘。

近年來在各大社區(qū)的團(tuán)結(jié)合作之下箱硕,Linux的窗口系統(tǒng)上面能夠跑的軟件實在是多的嚇人!而且也能夠應(yīng)付得了企業(yè)的辦公環(huán)境悟衩!例如美觀的KDE與GNOME窗口界面,搭配可兼容微軟Office的OpenOffice/LibreOffice(https://www.openoffice.org/zh- cn/,https://zh-cn.libreoffice.org/)等軟件栓拜,這些自由的辦公室軟件包含了文字處理座泳、電子表格、簡報軟件等等幕与,功能齊全疤羰啤!然后配合功能強大速度又快的Firefox瀏覽器啦鸣,以及可下載信件的雷鳥(ThunderBird)軟件(類似微軟的OutlookExpress)潮饱,還有可連上多種實時通訊的Pidgin!Linux能夠做到企業(yè)所需要的各項功能啦诫给!

Tips

鳥哥真的垂垂老已~前一陣子(2014)上課時香拉,跟學(xué)生說:“各位啊中狂!你們考取的證書也轉(zhuǎn)一份給老師來備份嘛凫碌!用email寄給鳥哥喔!”結(jié)果有幾個學(xué)生竟然舉手說胃榕!“老師盛险!我知道email啊勋又!不過苦掘,從來沒有用過 email寄附件耶!所以才沒有傳給你靶ㄈ馈鹤啡!”哇!挺邀!什么:“那你們怎么傳送文件叭嗤跳座?用FTP喔?”鳥哥問泣矛,他說“沒捌>臁!就用FB或者是Line澳唷狂丝!或者dropbox!真沒用過email耶哗总!”…時代不同了…

手持系統(tǒng)(PDA几颜、手機):

自從iphone4在 2010年面世之后,整個手機市場開始大轉(zhuǎn)向讯屈!智能手機市場將原本商務(wù)用的PDA市場整個吃掉蛋哭!然后原本在2010年前后很熱門的小筆記本也被平板電腦打趴了!在這個潮流下涮母,Google成立了開放手機聯(lián)盟(Open Handset Alliance)谆趾,并且推出Android手機專用操作系統(tǒng)!而Android其實就是Linux核心的一支叛本,只是專門用來針對手機/平板這類的ARM機器所設(shè)計的(注12)沪蓬!

2015最新的Android系統(tǒng)5.x使用的就是Linuxkernel 3.4.x版本,另外来候,調(diào)查中也顯示跷叉,從2013年之后,Android系統(tǒng)已經(jīng)是全球最多人使用的手機系統(tǒng)营搅。也就是說云挟,現(xiàn)在手機市場的主流操作系統(tǒng)是Linux分支出來的Android喔!那怎么能說Linux很 少人用呢剧防?哈哈植锉!天天都在用耶各位!

Tips

如果你的手機是Android系統(tǒng)的話峭拘,請拿出來俊庇,然后點選“設(shè)置”--> “關(guān)于(手機)” --> “軟件信息”,你就會看到Android版本鸡挠,然后再點選“更多”辉饱, 這時你就會看到類似3.4.10-xxx的代號,那是什么拣展?查一查上頭提到的Linux版本彭沼,就知道那是啥鬼東西啰!^_^

嵌入式系統(tǒng):

在第零章當(dāng)中我們談到過硬件系統(tǒng)备埃,而要讓硬件系統(tǒng)順利的運行就得要撰寫合適的操作系統(tǒng)才行姓惑。那硬件系統(tǒng)除了我們澈峙看到的計算機之外,其實家電產(chǎn)品于毙、PDA敦冬、手機、數(shù)碼相機以及其他微型的計算機配備也是硬件系統(tǒng)啦唯沮!這些計算機配備也都是需要操作系統(tǒng)來控制的脖旱!而操作系統(tǒng)是直接嵌入于產(chǎn)品當(dāng)中的,理論上你不應(yīng)該會更動到這個操作系統(tǒng)介蛉,所以就稱為嵌入式系統(tǒng)啦萌庆!

包括路由器、防火墻币旧、手機践险、IP分享器、交換器吹菱、機器人控制芯片捏境、家電用品的微計算機控制器等等,都可以是Linux操作系統(tǒng)喔毁葱!酷學(xué)園內(nèi)的Hoyo大大就曾經(jīng)介紹過如何在嵌入式設(shè)備上面載入Linux!你桌面上用來備份的 NAS 說不定內(nèi)部也是精簡化過的 Linux 系統(tǒng)胺“倾剿!

雖然嵌入式設(shè)備很多,大家也想要轉(zhuǎn)而使用Linux操作系統(tǒng)蚌成,不過在臺灣前痘,這方面的人才還是太少了!要玩嵌入式系統(tǒng)必須要很熟悉Linux Kernel與驅(qū)動程序的結(jié)合才行担忧!這方面的學(xué)習(xí)可就不是那么簡單喔芹缔!^_^


1.3.3? 云端應(yīng)用

自從個人計算機的CPU內(nèi)置的核心數(shù)越來越多,單一主機的能力太過強大瓶盛,導(dǎo)致硬件資源經(jīng)常閑置最欠,這個現(xiàn)象讓虛擬化技術(shù)得以快速發(fā)展!而由于硬件資源大量集中化惩猫,然后移動辦公室之類的需求越來越多芝硬,因此讓辦公數(shù)據(jù)集中于云程序中,讓企業(yè)員工僅須通過端點設(shè)備連線到云去取用運算資源轧房,這樣就變成隨時隨地都可以辦公啦(其實很慘…永遠(yuǎn)不得休息鞍枰酢!真可憐~)奶镶!

這就是三國演義里面談到的“天下大勢迟赃,分久必合陪拘、合久必分”的名言啊纤壁!從(1)早期的昂貴的大型主機分配數(shù)個終端機的集中運算機制左刽,到(2)2010 年前個人計算機運算能力增強后,大部分的運算都是在臺式機或筆記本上自行完成摄乒,再也不需要跑去大型主機取得運算資源了悠反!到現(xiàn)在(3)由于移動設(shè)備的發(fā)達(dá),產(chǎn)生的龐大數(shù)據(jù)需要集中處理馍佑,因而產(chǎn)生云端系統(tǒng)的需求斋否!讓信息/資源集中管理!這不是分分合合的過程嗎拭荤?^_^

云應(yīng)用

許多公司都有將資源集中管理的打算茵臭,之前參與一場座談會,有幸遇到阿里巴巴的架構(gòu)師舅世,鳥哥偷偷問他說旦委,他們機房里面有多少計算機主機啊雏亚?他說不多缨硝!差不多才2萬部主機而已…鳥哥正在搞的可提供 200 個左右的虛擬機的系統(tǒng),使用大約 7部主機就覺得麻煩了罢低,他們家至少有2萬部耶查辩!這么多的設(shè)備底層使用的就是 Linux 操作系統(tǒng)來統(tǒng)一管理。

另外网持,除了公司自己內(nèi)部的私有云之外宜岛,許多大型網(wǎng)際網(wǎng)絡(luò)供應(yīng)商(ISP)也提供了所謂的公有云來讓企業(yè)用戶或個人用戶來使用 ISP 的虛擬化產(chǎn)品。因此功舀,如果公司內(nèi)部缺乏專業(yè)管理維護(hù)人才萍倡,很有可能就將自家所需要的關(guān)鍵應(yīng)用如 Web、Mail辟汰、系統(tǒng)開發(fā)環(huán)境等操作系統(tǒng)交由 ISP 代管列敲,自家公司僅須遠(yuǎn)端登陸該系統(tǒng)進(jìn)行網(wǎng)站內(nèi)容維護(hù)或程序開發(fā)而已。那這些虛擬化后的系統(tǒng)帖汞,也經(jīng)常是 Linux 澳鹫ā!因為跟上面企業(yè)環(huán)境利用提到的功能是相同的涨冀!

所以說云應(yīng)用的底層就是 Linux 填硕,而云應(yīng)用搭建出來的虛擬機,內(nèi)容也是 Linux 操作系統(tǒng)哩!用的越來越多氨饷小壮莹!

Tips

所謂的“虛擬化”指的是:在一部實體主機上面仿真出多個邏輯上完全獨立的硬件,這個假的虛擬出來的硬件主機姻檀,可以用來安裝一部邏輯上完全獨立的操作系統(tǒng)! 因此命满,通過虛擬化技術(shù),你可以將一部實體主機安裝多個同時運行的操作系統(tǒng) (非多重啟動)绣版,以達(dá)到將硬件資源完整利用的效果胶台。 很多ISP就是通過販?zhǔn)圻@個虛擬機的使用權(quán)來賺錢的喔!

終端設(shè)備

既然運算資源都集中在云里面了杂抽,那我需要連線到云程序的設(shè)備應(yīng)該可以越來越輕量吧诈唬?當(dāng)然沒錯!所以智能手機才會這么熱門八豸铩铸磅!很多時候你只要有智能手機或者是平板,連線到公司的云里面去杭朱,就可以開始辦公了哩阅仔!

此外,還有更便宜的端點設(shè)備喔弧械!那就是近年來很熱門又流行的樹莓派 (Raspberry Pi)與香蕉派(Banana Pi)八酒,這兩個小東西售價都不到 50 美元, 有的甚至臺幣 1000 塊不到刃唐!這個Raspberry Pi其實就是一部小型的計算機丘跌,只要加上USB鍵盤、鼠標(biāo)與HDMI的屏幕唁桩,立刻就是可以讓小朋友學(xué)習(xí)程序語言的環(huán)境!如果加上通過網(wǎng)絡(luò)去取得具有更強大運算資源的云端虛擬機耸棒,不就可以做任何事了嗎荒澡?所以,端設(shè)備理論上會越來越輕量化的与殃!

Tips

鳥哥近幾年來做的主要研究单山,就是通過一組不是很貴的 server 系統(tǒng)達(dá)到打開多個虛擬機的環(huán)境,然后讓學(xué)生可以在教室利用類似 banana pi 的設(shè)備來連線到服務(wù)器幅疼,這時學(xué)生就可以通過網(wǎng)絡(luò)來取得一套完整的操作系統(tǒng)米奸,可以拿來上課、回家實踐練習(xí)爽篷、上機考試等等悴晰!相當(dāng)有趣!

鳥哥稱為虛擬計算機教室!而 server 與banana pi 的內(nèi)部操作系統(tǒng)當(dāng)然就是 Linux 罢∠漂辐!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市棕硫,隨后出現(xiàn)的幾起案子髓涯,更是在濱河造成了極大的恐慌,老刑警劉巖哈扮,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纬纪,死亡現(xiàn)場離奇詭異,居然都是意外死亡滑肉,警方通過查閱死者的電腦和手機包各,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赦邻,“玉大人髓棋,你說我怎么就攤上這事』讨蓿” “怎么了按声?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恬吕。 經(jīng)常有香客問我签则,道長,這世上最難降的妖魔是什么铐料? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任渐裂,我火速辦了婚禮,結(jié)果婚禮上钠惩,老公的妹妹穿的比我還像新娘柒凉。我一直安慰自己,他們只是感情好篓跛,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布膝捞。 她就那樣靜靜地躺著,像睡著了一般愧沟。 火紅的嫁衣襯著肌膚如雪蔬咬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天沐寺,我揣著相機與錄音林艘,去河邊找鬼。 笑死混坞,一個胖子當(dāng)著我的面吹牛狐援,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼咕村,長吁一口氣:“原來是場噩夢啊……” “哼场钉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起懈涛,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤逛万,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后批钠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宇植,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年埋心,在試婚紗的時候發(fā)現(xiàn)自己被綠了指郁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡拷呆,死狀恐怖闲坎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情茬斧,我是刑警寧澤腰懂,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布垃环,位于F島的核電站噪矛,受9級特大地震影響颠焦,放射性物質(zhì)發(fā)生泄漏秕重。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一窥翩、第九天 我趴在偏房一處隱蔽的房頂上張望如孝。 院中可真熱鬧充蓝,春花似錦岁诉、人聲如沸锚沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哗蜈。三九已至,卻和暖如春属划,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背候生。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工同眯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唯鸭。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓须蜗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子明肮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348