linux筆記by一盞燭光
對于眾多的剛接觸Linux的人來說,最重要的是要邊學(xué)邊做記錄將存有疑慮的地方標(biāo)記好。但是關(guān)于做筆記這一點(diǎn),相信很多人都不得要領(lǐng)或者說要動手寫筆記是有些困難的,那么好的,本手冊就整理了一些學(xué)習(xí)Linux時比較有用的知識點(diǎn)以及遇到的問題,雖然不敢保證本筆記中的內(nèi)容一定會是每個人都遇到的,不過請您放心,筆記里面的內(nèi)容都是作者用心整理的,是一些比較常用的以及實(shí)用的東西,這些東西足以幫助您更好的學(xué)習(xí)Linux,也許通過這些問題的引導(dǎo),您可能會靠著自己補(bǔ)充筆記!
Linux之所以能在嵌人式系統(tǒng)領(lǐng)域取得如此輝煌的成績,與其自身的優(yōu)良特性是分不開的。Linux與其他操作系統(tǒng)相比,特點(diǎn)顯著。
- 模塊化程度高
Linux的內(nèi)核設(shè)計非常精巧,分成進(jìn)程調(diào)度、內(nèi)存管理、進(jìn)程間通信、虛擬文件系統(tǒng)和網(wǎng)絡(luò)接口五大部分;其獨(dú)特的模塊機(jī)制可根據(jù)用戶的需要,實(shí)時地將某些模塊插入或從內(nèi)核中移走,使得Linux系統(tǒng)內(nèi)核可以裁剪得非常小巧,很適合于嵌入式系統(tǒng)的需要。
- 源碼公開
由于Linux系統(tǒng)的開發(fā)從一開始就與GNU項目緊密地結(jié)合起來,所以它的大多數(shù)組成部分都直接來自GNU項目。任何人、任何組織只要遵守GPL條 款,就可以自由使用Linux 源代碼,為用戶提供了最大限度的自由度。這一點(diǎn)也正投嵌入式系統(tǒng)所好,因為嵌入式系統(tǒng)應(yīng)用千差萬別,設(shè)計者往往需要針對具體的應(yīng)用對源碼進(jìn)行修改和優(yōu)化, 所以是否能獲得源代碼 對于嵌入式系統(tǒng)的開發(fā)是至關(guān)重要的。加之Linux的軟件資源十分豐富,每種通用程序在Linux上幾乎都可以找到,并且數(shù)量還在不斷增加。這一切就使設(shè) 計者在其基礎(chǔ)之上進(jìn)行二次開發(fā)變得非常容易。另外,由于Linux源代碼公開,也使用戶不用擔(dān)心有“后閘”等安全隱患。
- 廣泛的硬件支持
Linux能支持x86、ARM、MIPS、ALPHA和PowerPC等多種體系結(jié)構(gòu)的微處理器。目前已成功地移植到數(shù)十種硬件平臺,幾乎能運(yùn)行在所有流行的處理器上。
- 安全性及可靠性好
內(nèi)核高效穩(wěn)定。Linux內(nèi)核的高效和穩(wěn)定已在各個領(lǐng)域內(nèi)得到了大量事實(shí)的驗證。Linux中大量網(wǎng)絡(luò)管理、網(wǎng)絡(luò)服務(wù)等方面的功能,可使用戶很方便地建立高效穩(wěn)定的防火墻、路由器、工作站、服務(wù)器等。為提高安全性,它還提供了大量的網(wǎng)絡(luò)管理軟件、網(wǎng)絡(luò)分析軟件和網(wǎng)絡(luò)安全軟件等。
- 具有優(yōu)秀的開發(fā)工具
開發(fā)嵌入式系統(tǒng)的關(guān)鍵是需要有一套完善的開發(fā)和調(diào)試工具。傳統(tǒng)的嵌入式開發(fā)調(diào)試工具是在線仿真器(In Circuit Emulator,ICE),它通過取代目標(biāo)板的微處理器,給目標(biāo)程序提供一個完整的仿真環(huán)境,從而使開發(fā)者能非常清楚地了解到程序在目標(biāo)板上的工作狀 態(tài),便于監(jiān)視和調(diào)試程序。在線仿真器的價格非常高,而且只適合做非常底層的調(diào)試。如果使用的是嵌人式Linux,一旦軟硬件能支持正常的串口功能,即使不 用在線仿真器,也可以很好地進(jìn)行開發(fā)和調(diào)試工作,從而節(jié)省了一筆不小的開發(fā)費(fèi)用。嵌入式Linux為開發(fā)者提供了一套完整的工具鏈(Tool Chain),能夠很方便地實(shí)現(xiàn)從操作系統(tǒng)到應(yīng)用軟件各個級別的調(diào)試。
- 有很好的網(wǎng)絡(luò)支持利文件系統(tǒng)支持
Linux從誕生之日起就與Internet密不可分,支持各種標(biāo)準(zhǔn)的Internet網(wǎng)絡(luò)協(xié)議,并且很容易移植到嵌入式系統(tǒng)當(dāng)中。目前,Linux幾乎支持所有主流的網(wǎng)絡(luò)硬件、網(wǎng)絡(luò)協(xié)議和文件系統(tǒng),因此它是NFS的一個很好的平臺。另一方面,由于Linux有很好的文件系統(tǒng)支持(例如,它支持Ext2、FAT32、romfs等文件系統(tǒng)),是數(shù)據(jù)各份、同步和復(fù)制的良好平臺,這些都為開發(fā)嵌入式系統(tǒng)應(yīng)用打下了堅實(shí)的基礎(chǔ)。
- 與UNIX完全兼容
目前,在Linux中所包含的工具和實(shí)用程序,可以完成UNIX的所有主要功能。但由于Linux不是為實(shí)時而設(shè)計的,因而這就成了Linux在實(shí)時系統(tǒng)中應(yīng)用的最大遺憾。不過,目前有眾多的自由軟件愛好者正在為此進(jìn)行不懈的努力,也取得了諸多成果
- 1981年,IBM公司推出微型計算機(jī)IBM PC。
- 1991年,GNU計劃已經(jīng)開發(fā)出了許多工具軟件,最受期盼的GNU C編譯器已經(jīng)出現(xiàn),GNU的操作系統(tǒng)核心HURD一直處于實(shí)驗階段,沒有任何可用性,實(shí)質(zhì)上也沒能開發(fā)出完整的GNU操作系統(tǒng),但是GNU奠定了Linux用戶基礎(chǔ)和開發(fā)環(huán)境。
- 1991年初,林納斯·托瓦茲開始在一臺386sx兼容微機(jī)上學(xué)習(xí)minix操作系統(tǒng)。同年4月,林納斯·托瓦茲開始醞釀并著手編制自己的操作系統(tǒng),4 月13 日在comp.os.minix 上發(fā)布說自己已經(jīng)成功地將bash 移植到了minix 上,而且已經(jīng)愛不釋手、不能離開這個shell軟件了。7月3日,第一個與Linux有關(guān)的消息是在comp.os.minix上發(fā)布的(當(dāng)然此時還不存在Linux這個名稱)。10月5日,林納斯·托瓦茲在comp.os.minix新聞組上發(fā)布消息,正式向外宣布Linux內(nèi)核的誕生(Freeminix-like kernel sources for 386-AT)。
- 1993年,大約有100余名程序員參與了Linux內(nèi)核代碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的代碼大約有十萬行,用戶大約有10萬左右。
- 1994年3月,Linux1.0發(fā)布,代碼量17萬行,當(dāng)時是按照完全自由免費(fèi)的協(xié)議發(fā)布,隨后正式采用GPL協(xié)議。
- 1995年1月,Bob Young創(chuàng)辦了RedHat(小紅帽),以GNU/Linux為核心,集成了400多個源代碼開放的程序模塊,搞出了一種冠以品牌的Linux,即RedHat Linux,稱為Linux"發(fā)行版",在市場上出售。這在經(jīng)營模式上是一種創(chuàng)舉。
- 1996年6月,Linux 2.0內(nèi)核發(fā)布,此內(nèi)核有大約40萬行代碼,并可以支持多個處理器。此時的Linux 已經(jīng)進(jìn)入了實(shí)用階段,全球大約有350萬人使用。
- 1998年2月,以Eric Raymond為首的一批年輕的"老牛羚骨干分子"終于認(rèn)識到GNU/Linux體系的產(chǎn)業(yè)化道路的本質(zhì),并非是什么自由哲學(xué),而是市場競爭的驅(qū)動,創(chuàng)辦了"Open Source Intiative"(開放源代碼促進(jìn)會)"復(fù)興"的大旗,在互聯(lián)網(wǎng)世界里展開了一場歷史性的Linux產(chǎn)業(yè)化運(yùn)動。
- 2001年1月,Linux 2.4發(fā)布,它進(jìn)一步地提升了SMP系統(tǒng)的擴(kuò)展性,同時它也集成了很多用于支持桌面系統(tǒng)的特性:USB,PC卡(PCMCIA)的支持,內(nèi)置的即插即用,等等功能。
- 2003年12月,Linux 2.6版內(nèi)核發(fā)布,相對于2.4版內(nèi)核2.6在對系統(tǒng)的支持都有很大的變化。
- 2004年的第1月,SuSE嫁到了Novell,SCO繼續(xù)頂著罵名四處強(qiáng)行“化緣”, Asianux, MandrakeSoft也在五年中首次宣布季度贏利。3月,SGI宣布成功實(shí)現(xiàn)了Linux操作系統(tǒng)支持256個Itanium 2處理器。
W3Cschool http://hgci.cn/timlc/
Linux官網(wǎng):http://www.linux.org/ (此網(wǎng)站經(jīng)常會顯示服務(wù)器錯誤)
Linux下載:http://www.linuxdown.net/soft/
Linux API文檔:http://download.csdn.net/detail/a7320760/3617981
Linux教程:http://hgci.cn/linux
Linux問答:http://hgci.cn/topic/linux
《linux筆記by一盞燭光》由 一盞燭光 初步整理,并授權(quán)轉(zhuǎn)載整理至W3Cschool 。