
這是我寫(xiě)的第一份筆記式文檔,是對(duì)自己最近在研究NFS方面的一個(gè)小小的總結(jié),這個(gè)穩(wěn)定也參考和引用了一部分別人的文檔,這里表示感謝,這篇是根據(jù)LINUX來(lái)寫(xiě)的,有空的話我還會(huì)寫(xiě)一篇FOR FREEBSD和SOLARIS的。
linux安裝網(wǎng)卡聲卡過(guò)程
linux 術(shù)語(yǔ)解釋
在Linux 2.6內(nèi)核下編譯可以加載的內(nèi)核模塊
通過(guò) MLD 模式可將移植操作系統(tǒng)的過(guò)程自動(dòng)化
隨著網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,嵌入式系統(tǒng)現(xiàn)已進(jìn)入高速發(fā)展階段。并在社會(huì)各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。本文介紹了一種采用ARM+uCLinux作為開(kāi)發(fā)平臺(tái)。實(shí)現(xiàn)基于TCP/IP的遠(yuǎn)程系統(tǒng)監(jiān)控.從而取代傳統(tǒng)單片機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)采集、預(yù)處理和通信功能;并依靠互聯(lián)網(wǎng)將數(shù)據(jù)向上位機(jī)傳送,同時(shí)支持遠(yuǎn)端客戶對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制,從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)控功能的具體方法。
USB攝像頭以其良好的性能和低廉的價(jià)格得到廣泛應(yīng)用。同時(shí)因其靈活、方便的特性,易于集成到嵌入式系統(tǒng)中。但是如果使用現(xiàn)有的符合Video for Linux標(biāo)準(zhǔn)的驅(qū)動(dòng)程序配合通用應(yīng)用程序,難以充分利用USB帶寬,幀速不高,不易滿足實(shí)時(shí)監(jiān)控等要求。本文首先介紹在Linux系統(tǒng)下USB攝像頭驅(qū)動(dòng)編制的一般方法,然后說(shuō)明在此基礎(chǔ)上如何提高幀速。
攝像頭在Windows的驅(qū)動(dòng)極為容易,最多是點(diǎn)幾下鼠標(biāo),沒(méi)有什么太大的難度。但在Linux中,驅(qū)動(dòng)起來(lái)是有點(diǎn)困難,這并不是說(shuō)Linux多高雅。只能說(shuō)開(kāi)發(fā)商唯利是圖,沒(méi)有好處的事,他們的確不怎么積極。Linux 的用戶比較少,所以他們也不把用戶當(dāng)回事。
uClinux作為L(zhǎng)inux衍生操作系統(tǒng),具有支持多任務(wù)、內(nèi)核精簡(jiǎn)、高效、穩(wěn)定和源代碼開(kāi)放等優(yōu)點(diǎn),專(zhuān)門(mén)應(yīng)用于無(wú)MMU微處理器的嵌入式系統(tǒng)[1]。將uClinux應(yīng)用于嵌入式系統(tǒng)已經(jīng)成為許多嵌入式開(kāi)發(fā)人員的選擇。本文針對(duì)基于三星公司生產(chǎn)的ARM系列微處理器S3C44B0的硬件平臺(tái),詳細(xì)論述移植uClinux 的過(guò)程,主要包括BootLoader的設(shè)計(jì), uClinux內(nèi)核的修改,交叉編譯環(huán)境的建立,uClinux內(nèi)核的配置,編譯及連接,映像文件的下載及運(yùn)行。
DMA是一種無(wú)需CPU的參與就可以讓外設(shè)與系統(tǒng)RAM之間進(jìn)行雙向(to device 或 from device)數(shù)據(jù)傳輸?shù)挠布C(jī)制。使用DMA可以使系統(tǒng)CPU從實(shí)際的I/O數(shù)據(jù)傳輸過(guò)程中擺脫出來(lái),從而大大提高系統(tǒng)的吞吐率(throughput)。
現(xiàn)有的嵌入式LINUX系統(tǒng)開(kāi)發(fā)過(guò)程中,所有的工程師都疲憊于使用兩種不同的調(diào)試模式分別調(diào)試系統(tǒng)的內(nèi)核和應(yīng)用程序。首先通過(guò)一個(gè)JTAG調(diào)試工具來(lái)配置和啟動(dòng)LINUX系統(tǒng);嵌入式LINUX系統(tǒng)正常運(yùn)行起來(lái)后,就要通過(guò)GDB來(lái)繼續(xù)調(diào)試工作。
linux下Intel 3945ABG 安裝無(wú)線網(wǎng)卡驅(qū)動(dòng)
通過(guò)綜合采用用戶級(jí)別的top、ps等系統(tǒng)工具以及Linux內(nèi)核防護(hù)技術(shù),我們可以從用戶/內(nèi)核兩個(gè)層次全方位地保護(hù)Linux系統(tǒng)中重要系統(tǒng)進(jìn)程以及用戶進(jìn)程的安全性,從而達(dá)到保護(hù)Linux系統(tǒng)安全的目的。
嵌入式系統(tǒng)是在有限的空間和有限的資源中運(yùn)行,高效地實(shí)現(xiàn)某種特定功能或功能集合的裝置。 它的開(kāi)發(fā)通常受到很多客觀條件的限制,諸如較弱的CPU處理能力、較小的內(nèi)存空間、較少的可供選擇的外設(shè)、有限的電源供應(yīng)等。每個(gè)嵌入式系統(tǒng)的開(kāi)發(fā)無(wú)不是精打細(xì)算,以求用有限的資源發(fā)揮最大的功效。在各種嵌入式系統(tǒng)上運(yùn)行的操作系統(tǒng)中,嵌入式Linux以其免費(fèi)、高可靠性、廣泛的硬件支持以及開(kāi)放源碼等眾多特性正在獲得越來(lái)越多的關(guān)注。其源碼開(kāi)放特性使得開(kāi)發(fā)者可以針對(duì)特定的嵌入式系統(tǒng)對(duì)Linux內(nèi)核進(jìn)行修改,以滿足開(kāi)發(fā)要求,達(dá)到系統(tǒng)最優(yōu)
作業(yè)系統(tǒng)從純文字界面一路進(jìn)展到光鮮亮麗得圖形外表,其中包含了無(wú)數(shù)的設(shè)計(jì)師的創(chuàng)意,當(dāng)然,也有許多截他人之長(zhǎng)補(bǔ)自己之短得案例出現(xiàn)。在嵌入式系統(tǒng)方面,由于Linux已經(jīng)是主流嵌入式架構(gòu)之一,針對(duì)這個(gè)架構(gòu)所開(kāi)發(fā)出來(lái)的嵌入式產(chǎn)品自然也要在圖形使用者界面花費(fèi)相當(dāng)大的心力。
目前嵌入式系統(tǒng)的應(yīng)用越來(lái)越廣泛,一臺(tái)通用PC的外部設(shè)備就有5~10個(gè)嵌入式微處理器,如鍵盤(pán)、軟驅(qū)、硬盤(pán)、顯示器、打印機(jī)、掃描儀、USB接口等均是由嵌入式處理器控制的。在制造工業(yè)、過(guò)程控制、通信電視、儀器儀表、汽車(chē)船舶、航空航天、消費(fèi)類(lèi)產(chǎn)品均是嵌入式系統(tǒng)的應(yīng)用領(lǐng)域。嵌入式系統(tǒng)目前主要有:Windows CE、VxWorks、QNX等,它們都具較好的實(shí)時(shí)性,系統(tǒng)可靠性,任務(wù)處理隨機(jī)性等優(yōu)點(diǎn)。但是它們的價(jià)格普遍偏高,很多開(kāi)發(fā)商承受不起。因而,Linux操作系統(tǒng)成為嵌入式操作系統(tǒng)的首選,原因如下:
uCLinux是針對(duì)控制領(lǐng)域的嵌入式linux操作系統(tǒng),它從Linux 2.0/2.4內(nèi)核派生而來(lái),沿襲了主流Linux的絕大部分特性。適合不具備內(nèi)存管理單元(MMU)的微處理器/微控制器。沒(méi)有MMU支持是uClinux與主流Linux的基本差異。 標(biāo)準(zhǔn)Linux是針對(duì)有MMU的處理器設(shè)計(jì)的。在這種處理器上,虛擬地址被送到MMU,把虛擬地址映射為物理地址。通過(guò)賦予每個(gè)任務(wù)不同的虛擬-物理地址轉(zhuǎn)換映射,支持不同任務(wù)之間的保護(hù)。
每當(dāng)?shù)谝淮沃v起Linux,我的第一個(gè)頁(yè)面都是徐悲鴻的一匹奔放的馬。我會(huì)問(wèn)學(xué)生,從這匹馬中看到了什么,“自由奔放”,有的學(xué)生回答。其實(shí),因?yàn)槟且豁?yè)的標(biāo)題就是“Linux-自由而奔放的黑馬”,所以這樣的回答,并沒(méi)有新意。我再問(wèn)他們?yōu)槭裁匆黄ギ?huà)出來(lái)的馬不同于一張拍照?這樣的問(wèn)題曾經(jīng)是我思索而不得其解的。也是因?yàn)榭吹搅诵毂櫟鸟R,才覺(jué)得答案就在眼前…
內(nèi)核初學(xué)者,在對(duì)內(nèi)核有一定了解,或者閱讀了內(nèi)核一些源代碼后,想一試身手,但又苦于不知從何下手。此版塊從簡(jiǎn)單的“Hello world”出發(fā),逐步涉及到內(nèi)核的各個(gè)部分,這些小實(shí)例大都摘自陳老師的原創(chuàng)。內(nèi)容包含了陳老師對(duì)Linux內(nèi)核的獨(dú)特理解、闡釋。也包含了陳老師精心編寫(xiě)的Linux內(nèi)核研究以及開(kāi)發(fā)的系統(tǒng)教程。
所有的文件系統(tǒng)隨著時(shí)間的推移都趨向于碎片化。Linux文件系統(tǒng)減少了碎片化,但是并沒(méi)有消除。由于它不經(jīng)常出現(xiàn),所以對(duì)于一個(gè)單用戶的工作站來(lái)說(shuō),可能根本不是問(wèn)題。然而在繁忙的服務(wù)器中,隨著時(shí)間的過(guò)去,文件碎片化將降低硬盤(pán)性能,硬盤(pán)性能只有從硬盤(pán)讀出或?qū)懭霐?shù)據(jù)時(shí)才能注意到。下面是優(yōu)化Linux系統(tǒng)硬盤(pán)性能的一些具體措施。