❶ 哪裡有linux的內核源代碼給我個地址謝謝
嵌入式Linux系統就是利用Linux其自身的許多特點,把它應用到嵌入式系統里。 Linux做嵌入式的優勢,首先,Linux是開放源代碼的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支持;其次,Linux的內核小、效率高,內核的更新速度很快;第三,Linux是免費的OS,在價格上極具競爭力。 Linux還有著嵌入式操作系統所需要的很多特色,突出的就是Linux適應於多種CPU和多種硬體平台,是一個跨平台的系統。到目前為止,它可以支持二三十種CPU。而且性能穩定,裁剪性很好,開發和使用都很容易。很多CPU包括家電業晶元,都開始做Linux的平台移植工作。移植的速度遠遠超過Java的開發環境。也就是說,如果今天用Linux環境開發產品,那麼將來換CPU就不會遇到困擾。同時,Linux內核的結構在網路方面是非常完整的,Linux對網路中最常用的TCP/IP協議有最完備的支持。提供了包括十兆、百兆、千兆的乙太網絡,以及無線網路,Toker ring(令牌環網)、光纖甚至衛星的支持。所以Linux很適於做信息家電的開發。 還有使用Linux為的是來開發無線連接產品的開發者越來越多。Linux在快速增長的無線連接應用主場中有一個非常重要的優勢,就是有足夠快的開發速度。這是因為LInux有很多工具,並且Linux為眾多程序員所熟悉。因此,我們要在嵌入式系統中使用Linux操作系統。 Linux的大小適合嵌入式操作系統——Linux固有的模塊性,適應性和可配置性,使得這很容易做到。另外,Linux源碼的實用性和成千上萬的程序員熱切其望它用於無數的嵌入式應用軟體中,導致很多嵌入式Linux的出現,包括:Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,FirePlug,Linux和PizzaBox Linux 看[url] www.linuxdevices.com/links/[/url] 相對,Linux的圖形界面還相對較弱,但近年Linux的圖形界面發展也很快,這也就不是問題。 2.什麼是嵌入式Linux 嵌入式linux 是將日益流行的Linux操作系統進行裁剪修改使之能在嵌入式計算機系 統上運行的一種操作系統嵌入式linux既繼承了Interlnet上無限的開放源代碼資源又具有嵌 入式操作系統的特性 2 嵌入式Linux的特點是版權費免費;購買費用媒介成本技術支持全世界的自由軟體 開發者提供支持網路特性免費而且性能優異軟體移植容易代碼開放有許多應用軟 件支持應用產品開發周期短新產品上市迅速因為有許多公開的代碼可以參考和移植 實時性能RT_Linux Hardhat Linux 等嵌入式Linux支持實時性能穩定性好安全性好 3 嵌入式Linux有巨大的市場前景和商業機會出現了大量的專業公司和產品如Montavista Lineo Emi等有行業協會如Embedded Linux Consortum等得到世界著名計算機公司和OEM 板級廠商的支持例如IBM Motorola Intel等 傳統的嵌入式系統廠商也採用了Linux策略 如 Lynxworks Windriver QNX等還有Internet上的大量嵌入式Linux愛好者的支持嵌入式Linux 支持幾乎所有的嵌入式CPU和被移植到幾乎所有的嵌入式OEM板 4 嵌入式Linux的應用領域非常廣泛主要的應用領域有信息家電PDA 機頂盒Digital Telephone Answering Machine Screen Phone 數據網路Ethernet Switches Router Bridge Hub Remote access servers ATM Frame relay 遠程通信醫療電子交通運輸計算機外 設工業控制航空航天領域等 3.如果分別讓10位工程師給出嵌入式系統的定義,將得到10個不同的答案。一般來說,大部分的嵌入式系統執行特定的任務。我們假定最簡單的嵌入式系統包括輸入/輸出功能,以及一些控制邏輯,該系統基於它的配置執行某些類型的功能。按照這個標准,可以認為一個包含實現控制邏輯74123計數器以及一個狀態是一個嵌入式系統。也許可以補充說,該系統必須可通過存儲在固件中的軟體進行編程。這個新的嵌入式系統定義包括輸入/輸出(I/O),以及存儲在系統固件中的控制邏輯。一個帶有滑鼠、鍵盤、網路連接並運行圖形用戶界面(GUI,graphical user interface)多任務操作系統的桌面計算機顯然滿足這些要求,但我們能認為它是一個嵌入式系統嗎? 如果桌面計算機不是一個嵌入式系統,那麼手持設備呢?它們有I/O功能,可以運行存儲在固件中的控制邏輯。有人說,桌面計算機和手持設備都有通用計算機設備,可以運行軟體來執行許多不同的任務,與之不同的是,嵌入式系統(例如,洗碗機控制器或飛行導航系統)主要是為特定任務而設計的。這種特定的功能限定使嵌入式設備有功能上的唯一性。如果是這樣,為什麼一些嵌入式系統設計成具有附加的功能,如存儲在非易失性存儲器中的程序,並且具有運行可以完成原始設計范圍之外的任務的多任務操作系統的能力呢? 在過去,區分嵌入式系統和通用計算機比現在簡單的多。例如,可以很容易地區分出一個基於8051的T1分幅卡嵌入式系統和一台Sun UNIX工作站。而現在,從功能方面很難區分一台Sun工作站和一個包含PowerPC以及32MB內存和16MB快閃記憶體的機頂盒。這樣的機頂盒可以運行帶GUI的多任務操作系統,可現場升級,可以同時運行多個程序(如視頻控制器、數字錄像和Java虛擬機),還可以進行安全的網際網路在線交易。很難判斷這種機頂盒是否是一個嵌入式系統。顯然,硬體性能的提升和價格的下降使通用計算機和嵌入式系統之間的界限變得很模糊,技術的進步使得我們很難定義什麼是嵌入式。
❷ 求LINUX內核源代碼不勝感激之情。。。
簡單地說,Linux是一套免費使用和自由傳播的類Unix操作系統,它主要用於基於Intel x86系列CPU的計算機上。這個系統是由世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。
Linux的出現,最早開始於一位名叫Linus Torvalds的計算機業余愛好者,當時他是芬蘭赫爾辛基大學的學生。他的目的是想設計一個代替Minix(是由一位名叫Andrew Tannebaum的計算機教授編寫的一個操作系統示教程序)的操作系統,這個操作系統可用於386、486或奔騰處理器的個人計算機上,並且具有Unix操作系統的全部功能,因而開始了Linux雛形的設計。
絕大多數基於Linux內核的的操作系統使用了大量的GNU軟體,包括了shell程序、工具、程序庫、編譯器及工具,還有許多其他程序,例如Emacs。正因為如此,GNU計劃的開創者理查德·馬修·斯托曼博士提議將Linux操作系統改名為GNU/Linux。但有些人只把操作系統叫做"Linux"。
Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途,同時它們都盡可能被編寫得更好。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
更詳細的資料,參考這里
Linux之所以能在嵌人式系統領域取得如此輝煌的成績,與其自身的優良特性是分不開的。與其他操作系統相比,Linux具有以下一系列顯著的特點。
1.模塊化程度高
2.源碼公開
3.廣泛的硬體支持
4.安全性及可靠性好
5.具有優秀的開發工具
6.有很好的網路支持利文件系統支持
7.與UNIX完全兼容
另外,站長團上有產品團購,便宜有保證
❸ 有沒有Linux內核源碼指導書籍
1.《Linux內核設計與實現》
本書重在原理。適合入門的最佳圖書。作者是為2.6內核加入了搶占的人,對調度部分非常精通,而調度是整個系統的核心,因此本書是很權威的。
2.《深入理解Linux內核》
此書比上一本多了些細節。是Linux內核黑客在推薦圖書時的首選。寫的比較簡單易懂,適合剛剛接觸LINUX內核的。
此書圖表很多,形象地給出了關鍵數據結構的定義,與《Linux內核源代碼情景分析》相比,本書內容緊湊,不會一個問題講解動輒上百頁,有提綱挈領的功用,但是深度上要遜於《Linux內核源代碼情景分析》。
3.《LINUX設備驅動程序(第3版)》
這書強調動手實踐!但它是講解「設備驅動」的,不是最核心的東西,而且有些東西沒硬體的話無法實踐,可能更適合驅動開發的程序員吧
其中關於同步與互斥、內存分配的部分,感覺很不錯。
4.《Linux內核源代碼情景分析》
好,很經典,是浙大教授毛德操寫的,可惜成書於2001年之後一直沒有更新。分上下冊。
很多是基於2.4內核講解的需要注意。如果學習的話也建議學習2.6,2.6跟2.4比發生了很多顯著改善,應該學習的。
全書內容博大精深,不是非常好懂,對細節問題描述比較清晰。但是感覺對內核的整體感覺不夠強。另外缺少網路部分的分析。覺得不是很適合初學者。
5.《Linux內核源代碼分析》
點評:面對中高級,這本書很好,對了解操作系統是一本不可多得的好書。
6. 《LINUXKERNEL技術手冊》
參考手冊,很薄,值得一看。
7.《深入Linux內核架構》
這本書針對的是比較新的內核版本2.6.24;內容比較全面,深入淺出。
如果沒有對Linux內核的初步結構的認識,那麼會看得比較吃力。建議可以一邊去翻在國內已經聞名已經久的四本Linux內核著作(《Linux內核原代碼情景分析》、《Linux內核設計與實現》、《深入理解Linux內核》、《Linux設備驅動程序》),再一邊看這本書,把這本書當作一個補充或者當作一個內核框架圖譜說明書來閱讀,收效會更好。
8.《Linux內核完全注釋》
主要描述和注釋了Linux0.11內核全部源代碼。對於初學Linux內核操作系統的人來講,該書能夠引領讀者快速入門,並且能全面了解一個簡單操作系統的工作機理。對於進一步學習現在的Linux內核具有非常大的指導作用。對於學習嵌入式應用的技術人員來講,通過《完全注釋》一書的學習也能迅速融入嵌入式應用領域。
9.《Orange S:一個操作系統的實現》
從只有二十行的引導扇區代碼出發,一步一步地向讀者呈現一個操作系統框架的完成過程。
❹ 閱讀Linux內核源碼有哪些好處和收獲
看興趣了,喜歡就多看點,不喜歡就少看點。讀內核讓人受益是肯定的,你寫linux應用程序,卻不懂linux那和寫VC沒啥區別,就像不懂JVM機制的JAVA工程師就肯定算不上精通。
❺ 如何查看 linux 內核源代碼
Linux的內核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是內核源代碼。
對於源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對於linux內核源代碼來講,我認為,基本要求是:1、操作系統的基本知識;2、對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標准C的擴展的知識的了解。另外在閱讀之前,還應該知道Linux內核源代碼的整體分布情況。我們知道現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序、網路等組成。看一下Linux內核源代碼就可看出,各個目錄大致對應了這些方面。Linux內核源代碼的組成如下(假設相對於linux目錄):
arch 這個子目錄包含了此核心源代碼所支持的硬體體系結構相關的核心代碼。如對於X86平台就是i386。
include 這個目錄包括了核心的大多數include文件。另外對於每種支持的體系結構分別有一個子目錄。
init 此目錄包含核心啟動代碼。
mm 此目錄包含了所有的內存管理代碼。與具體硬體體系結構相關的內存管理代碼位於arch/*/mm目錄下,如對應於X86的就是arch/i386/mm/fault.c 。
drivers 系統中所有的設備驅動都位於此目錄中。它又進一步劃分成幾類設備驅動,每一種也有對應的子目錄,如音效卡的驅動對應於drivers/sound。
ipc 此目錄包含了核心的進程間通訊代碼。
moles 此目錄包含已建好可動態載入的模塊。
fs Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext2文件系統對應的就是ext2子目錄。
kernel 主要核心代碼。同時與處理器結構相關代碼都放在arch/*/kernel目錄下。
net 核心的網路部分代碼。裡面的每個子目錄對應於網路的一個方面。
lib 此目錄包含了核心的庫代碼。與處理器結構相關庫代碼被放在arch/*/lib/目錄下。
scripts此目錄包含用於配置核心的腳本文件。
Documentation 此目錄是一些文檔,起參考作用。
俗話說:「工欲善其事,必先利其器」。 閱讀象Linux核心代碼這樣的復雜程序令人望而生畏。它象一個越滾越大的雪球,閱讀核心某個部分經常要用到好幾個其他的相關文件,不久你將會忘記你原來在干什麼。所以沒有一個好的工具是不行的。由於大部分愛好者對於Window平台比較熟悉,並且還是常用Window系列平台,所以在此我介紹一個Window下的一個工具軟體:Source Insight。這是一個有30天免費期的軟體,可以從www.sourcedyn.com下載。安裝非常簡單,和別的安裝一樣,雙擊安裝文件名,然後按提示進行就可以了。安裝完成後,就可啟動該程序。這個軟體使用起來非常簡單,是一個閱讀源代碼的好工具。它的使用簡單介紹如下:先選擇Project菜單下的new,新建一個工程,輸入工程名,接著要求你把欲讀的源代碼加入(可以整個目錄加)後,該軟體就分析你所加的源代碼。分析完後,就可以進行閱讀了。對於打開的閱讀文件,如果想看某一變數的定義,先把游標定位於該變數,然後點擊工具條上的相應選項,該變數的定義就顯示出來。對於函數的定義與實現也可以同樣操作。別的功能在這里就不說了,有興趣的朋友可以裝一個Source Insight,那樣你閱讀源代碼的效率會有很大提高的。怎麼樣,試試吧!
❻ linux內核源碼詳解
Linux的內核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是內核源代碼。
對於源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對於linux內核源代碼來講,我認為,基本要求是:1、操作系統的基本知識; 2、對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標准C的擴展的知識的了解。
另外在閱讀之前,還應該知道Linux內核源代碼的整體分布情況。我們知道現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序、網路等組成。看一下Linux內核源代碼就可看出,各個目錄大致對應了這些方面。Linux內核源代碼的組成如下(假設相對於linux目錄):
arch 這個子目錄包含了此核心源代碼所支持的硬體體系結構相關的核心代碼。如對於X86平台就是i386。
include 這個目錄包括了核心的大多數include文件。另外對於每種支持的體系結構分別有一個子目錄。
init 此目錄包含核心啟動代碼。
mm 此目錄包含了所有的內存管理代碼。與具體硬體體系結構相關的內存管理代碼位於arch/-/mm目錄下,如對應於X86的就是arch/i386/mm/fault.c 。
drivers 系統中所有的設備驅動都位於此目錄中。它又進一步劃分成幾類設備驅動,每一種也有對應的子目錄,如音效卡的驅動對應於drivers/sound。
ipc 此目錄包含了核心的進程間通訊代碼。
moles 此目錄包含已建好可動態載入的模塊。
fs Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext2文件系統對應的就是ext2子目錄。
kernel 主要核心代碼。同時與處理器結構相關代碼都放在arch/-/kernel目錄下。
net 核心的網路部分代碼。裡面的每個子目錄對應於網路的一個方面。
lib 此目錄包含了核心的庫代碼。與處理器結構相關庫代碼被放在arch/-/lib/目錄下。
scripts 此目錄包含用於配置核心的腳本文件。
Documentation 此目錄是一些文檔,起參考作用。
❼ linux內核源碼
建議使用Editplus打開,Editplus支持語法高亮顯示,這樣程序看起來結構清晰明了。
❽ 關於Linux內核源碼
在自定義安裝中可以進行選擇安裝內容,安裝過程中會顯示當前正安裝那個包,如果你選擇了安裝內核源碼就會看到
❾ 精簡linux內核源代碼需要注意什麼
現在市面上沒有幾本很好的關於內核的書,如果你是初學者的話,我建議還是先不要看內核方面的書,先從基礎開始,等先熟悉了Linux後在去看下Linux方面的書,或者直接看Linux內核源碼...這是最權威。