當前位置:首頁 » 操作系統 » linux內核之旅

linux內核之旅

發布時間: 2022-08-18 04:04:50

A. linux內核的介紹

Linux是一種開源電腦操作系統內核。它是一個用C語言寫成,符合POSIX標準的類Unix操作系統。1Linux最早是由芬蘭黑客 Linus Torvalds為嘗試在英特爾x86架構上提供自由免費的類Unix操作系統而開發的。該計劃開始於1991年,在計劃的早期有一些Minix 黑客提供了協助,而今天全球無數程序員正在為該計劃無償提供幫助。Linux是一個一體化內核(monolithic kernel)系統。「內核」指的是一個提供硬體抽象層、磁碟及文件系統控制、多任務等功能的系統軟體。一個內核不是一套完整的操作系統。一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux。設備驅動程序可以完全訪問硬體。Linux內的設備驅動程序可以方便地以模塊化(molarize)的形式設置,並在系統運行期間可直接裝載或卸載。

B. linux內核修煉之道 怎麼樣

不建議直接看代碼,那個太痛苦了。
可以先從簡單的內核(uCos或早期的Linux Kernel)開始閱讀和實踐。
有了一定理解能力和經驗之後再硬啃Linux內核代碼。
《Linux 內核修煉之道》入門不錯。
此外,大多講內核的書都是一個模式,硬灌,沒啥意思。

C. 想要從事 linux嵌入式方面的應用軟體開發。我該怎麼學呢

韋東山的那本書挺經典,卓越的鏈接:
http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&s=books&qid=1274700325&asin=B001DCEA46&sr=8-1

《嵌入式Linux應用開發完全手冊》以S3C2410、S3C2440開發板為例,從分析硬體上電執行的第一條指令開始,到構造出一個類似PDA、基於Linux的桌面GUI系統,帶領讀者學習、掌握從最底層到最高層的軟體編寫方法。

《嵌入式Linux應用開發完全手冊》全面介紹了嵌入式Linux系統開發過程中,從底層系統支持到上層GUI應用的方方面面,內容涵蓋Linux操作系統的安裝及相關工具的使用、配置,嵌入式編程所需要的基礎知識(交叉編譯工具的選項設置、Makefile語法、ARM匯編指令等),硬體部件的使用及編程(囊括了常見硬體,比如UART、I*IC、LCD等),UBoot、Linux內核的分析、配置和移植,根文件系統的構造(包括移植busybox、glibc、製作映象文件等),內核調試技術(比如添加kgdb補丁、棧回溯等),驅動程序編寫及移植(LED、按鍵、擴展串口、網卡、硬碟、SD卡、LCD和USB等),GUI系統的移植(包含兩個GUI系統:基於Qtopia和基於X),應用程序調試技術。

《嵌入式Linux應用開發完全手冊》從最簡單的點亮一個LED開始,由淺入深地講解,使讀者最終可以配置、移植、裁剪內核,編寫驅動程序,移植GUI系統,掌握整個嵌入式Linux系統的開發方法。

1、Linux 基礎
安裝Linux操作系統 Linux文件系統 Linux常用命令 Linux啟動過程詳解。
2、Shell 編程基礎
Shell簡介 認識後台程序Bash編程熟悉Linux系統下的編輯環境。
3、Linux 下的 C 編程基礎
linux C語言環境概述 Gcc使用方法 Gdb調試技術。
4、嵌入式系統開發基礎
嵌入式系統概述 交叉編譯 配置TFTP服務 配置NFS服務 下載Bootloader和內核 嵌入式Linux應用軟體開發。
4、嵌入式系統移植
Linux內核代碼 平台相關代碼分析 ARM平台介紹 平台移植的關鍵技術 移植Linux內核到 ARM平台 了解移植的概念 能夠移植Linux內核移植Linux2.6內核到 ARM9開發板。
5、嵌入式 Linux 下串口通信串列I/O的基本概念 嵌入式Linux應用軟體開發流程 Linux系統的文件和設備。
6、嵌入式系統中多進程程序設計Linux系統進程概述 嵌入式系統的進程特點 進程操作 守護進程 相關的系統調用了解Linux系統中進程的概念。
...
網上很多~可以先從虛擬機玩起。
A.一般安裝一個VMWARE虛擬機,再從網上下載個RedHat9.0的光碟鏡像。
這個比較適合入門linux,當然也有Cygwin的,不過不推薦。
B.然後就可以按照上面的步驟學起來了,等把linux的shell和gcc,gdb,系統編程,gui(QT,miniGUI,MicroWin等等)玩好之後,可以買個開發板了,這里就不說明具體品牌了,2410/2440開發板很多的。
C.然後開始玩開發板,常用的代碼編輯工具有:SourceInsight,UE。
還有代碼比較工具,BeyondCompare。
當然還有ADS1.2,這個是必不可少的,可以先把ARM開發板當單片機開發板玩!先熟悉具體硬體設備的使用,如UART,SPI,LCD控制器等,最後再去玩Bootloader,系統移植,內核,文件系統,應用編程,驅動編程。。。

D. linux版本的發行版和內核版是什麼意思

Linux內核是Linux操作系統創始人主持的網站www.kernel.org上發布的操作系統的最基本的那些東西。

Linux發行版則是前述那些東西的基礎上添加了一些工具軟體的基礎上構成的一套龐大復雜的操作系統。雖然內核都是一樣的,但添加部分各不相同,這就構成了不同的發行版本。

Linux本身指的是一個操作系統內核,只有內核是無法直接使用的。我們需要的,可以使用的操作系統是一個包含了內核和一批有用的程序的的一個集合體,這個就是Linux發行版。

其中,Ubuntu。RedHat就是Linux的不同的發行版。

(4)linux內核之旅擴展閱讀:

Linux系統的主要特性

1、基本思想

Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。

Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。

3、完全兼容POSIX1.0標准

這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。

4、多用戶、多任務

Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。

5、良好的界面

Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。

6、支持多種平台

Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。

E. linux 內核是什麼, 本人有linux基礎

Linux內核:Linux是一種開源電腦操作系統內核。它是一個用C語言寫成,符合POSIX標準的類Unix操作系統。Linux最早是由芬蘭Linus Torvalds為嘗試在英特爾x86架構上提供自由的類Unix操作系統而開發的。該計劃開始於1991年,在計劃的早期有一些Minix 黑客提供了協助,而今天全球無數程序員正在為該計劃無償提供幫助。

Linux最早是由芬蘭人Linus Torvalds設計的。當時由於UNⅨ的商業化,Andrew Tannebaum教授開發了Minix操作系統以便於不受AT&T許可協議的約束,為教學科研提供一個操作系統。

(5)linux內核之旅擴展閱讀:

Linux將標準的GNU許可協議改稱Copyleft,以便與Copyright相對照。通用的公共許可(GPL)允許用戶銷售、拷貝和改變具有Copyleft的應用程序。當然這些程序也可以是Copyright的,但是你必須允許進一步的銷售、拷貝和對其代碼進行改變,同時也必須使他人可以免費得到修改後的源代碼。事實證明,GPL對於Linux的成功起到了極大的作用。它啟動了一個十分繁榮的商用Linux階段,還為編程人員提供了一種凝聚力,誘使大家加入這個充滿了慈善精神的Linux運動。

F. 哪位給我描述下 Linux 網路內核的演進史,謝謝,麻煩詳細一點點

盡管有人認為Linux 2.4內核與其說是一個革命性的版本,不如說是一個進化版本,但現在全世界的Linux愛好者都在為之歡呼。此時此刻,我想做的是帶大家回顧一下Linux內核的發展史。
是一個用來和硬體打交道並為用戶程序提供一個有限服務集的低級支撐軟體。一個計算機系統是一個硬體和軟體的共生體,它們互相依賴,不可分割。計算機的硬體,含有外圍
設備、處理器、內存、硬碟和其他的電子設備組成計算機的發動機。但是沒有軟體來操作和控制它,發動機自身是不能工作的。完成這個控制工作的軟體就稱為操作系統,在Linux的術語中被稱為「內核」,也可以稱為「核心」。Linux內核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網路通信,以及系統的初始化(引導)、系統調用等。內核決定一個系統是否是Linux。以版本2.4.0為例,2代表主版本號,4代表次版本號,0代表改動較小的末版本號。在版本號中,序號的第二位為偶數的版本表明這是一個可以使用的穩定版本,如2.2.5,而序號的第二位為奇數的版本一般有一些新的東西加入,是個不一定很穩定的測試版本,如2.3.1。這樣穩定版本來源於上一個測試版升級版本號,而一個穩定版本發展到完全成熟後就不再發展。

最早是由芬蘭人Linus Torvalds設計的。當時由於UNIX的商業化,Andrew Tannebaum教授開發了Minix操作系統以便於不受AT&T許可協議的約束,為教學科研提供一個操作系統。當時發布在Internet上,免費給全世界的學生使用。Minix具有較多UNIX的特點,但與UNIX不完全兼容。1991年10月5日,Linus為了給Minix用戶設計一個比較有效的UNIX PC版本,自己動手寫了一個「類Minix」的操作系統。整個故事從兩個在啞端終上列印AAAA...和BBBB...的進程開始的,當時最初的內核版本是0.02。Linus Torvalds將它發到了Minix新聞組,很快就得到了反應。Linus Torvalds在這種簡單的任務切換機制上進行擴展,並在很多熱心支持者的幫助下開發和推出了Linux的第一個穩定的工作版本。1991年11月,Linux0.10版本推出,0.11版本隨後在1991年12月推出,當時將它發布在Internet上,免費供人們使用。當Linux非常接近於一種可靠的/穩定的系統時,Linus決定將0.13版本稱為0.95版本。1994年3月,正式的Linux 1.0出現了,這差不多是一種正式的獨立宣言。截至那時為止,它的用戶基數已經發展得很大,而且Linux的核心開發隊伍也建立起來了。

核心的開發和規范一直是由Linux社區控制著,版本也是唯一的。實際上,操作系統的內核版本指的是在Linus本人領導下的開發小組開發出的系統內核的版本號。自1994年3月14日發布了第一個正式版本Linux 1.0以來,每隔一段時間就有新的版本或其修訂版公布。發展到現在,Linux內核的穩定版的最後版本有:1.0.9、1.2.13、2.0.37和2.2.11,直至今天最新的2.4.1。

還為Linux選擇了精神內核——Copyleft,它使Linux的開發和銷售都沒有背離原來的軌道。Linus將標準的GNU許可協議改稱Copyleft,以便與Copyright相對照。通用的公共許可(GPL)允許用戶銷售、拷貝和改變具有Copyleft的應用程序。當然這些程序也可以是Copyright的,但是你必須允許進一步的銷售、拷貝和對其代碼進行改變,同時也必須使他人可以免費得到修改後的源代碼。事實證明,GPL對於Linux的成功起到了極大的作用。它啟動了一個十分繁榮的商用Linux階段,還為編程人員提供了一種凝聚力,誘使大家加入這個充滿了慈善精神的Linux運動。

Linux內核的發展過程中,我們還不得不提一下各種Linux發行版的作用,因為正是它們推動了Linux的應用,從而也讓更多的人開始關注Linux。一些組織或廠家,將Linux系統的內核與外圍實用程序(Utilities)軟體和文檔包裝起來,並提供一些系統安裝界面和系統配置、設定與管理工具,就構成了一種發行版本(distribution),Linux的發行版本其實就是Linux核心再加上外圍的實用程序組成的一個大軟體包而已。相對於Linux操作系統內核版本,發行版本的版本號隨發布者的不同而不同,與Linux系統內核的版本號是相對獨立的。因此把RedHat、Slackware等直接說成是Linux是不確切的,它們是Linux的發行版本,更確切地說,應該叫做「以Linux為核心的操作系統軟體包」。根據GPL准則,這些發行版本雖然都源自一個內核,並且都有自己各自的貢獻,但都沒有自己的版權。Linux的各個發行版本(distribution),都是使用Linus主導開發並發布的同一個Linux內核,因此在內核層不存在什麼兼容性問題。每個版本都不一樣的感覺,只是在發行版本的最外層才有所體現,而絕不是Linux本身特別是內核不統一或是不兼容。

90年代初期Linux開始出現的時候,僅僅是以源代碼形式出現,用戶需要在其他操作系統下進行編譯才能使用。後來出現了一些正式版本。目前最流行的幾個正式版本有:

Slackware是最早的Linux正式版本之一,它遵循BSD的風格,尤其是在系統啟動腳本方面。現有的版本是Slackware 4.0,它是基於Linux 2.2內核。

Debian是一個開放源代碼的操作系統,目前基於Linux 2.2內核。它由許多志願者維護,是真正的非商業化Linux,現有較流行的版本是2.1。

RedHat Linux是Linux最早的商業版本之一。它在美國和其他英語國家市場上獲得了較大的成功。現有的最新版本是RedHat Linux 7.1,它是基於Linux 2.4內核。

SuSE由德國人開發出來,是在歐洲大陸最流行的版本之一。現有最新版本是SuSE 7.0,基於Linux 2.2內核。

Caldera OpenLinux是最早關注簡易安裝方法的Linux正式版本之一,同時,它還在正式版本中集成了辦公軟體。現有最新版本是Caldera OpenLinux 2.2。

TurboLinux公司是以推出高性能伺服器而著稱的Linux廠商,在美國有很大的影響。它是亞洲占市場最大的商業版本,在中國、日本和韓國都取得了巨大的成功。現在較流行的版本是TurboLinux 6.0,它是基於Linux 2.2內核。

在中國也取得了可喜的發展。從1999年三四月起,國內涌現出不少頗具實力的中文Linux發行商。如:中科紅旗公司推出的第一個桌面應用版紅旗Linux桌面版2.0、採用了多項新技術的藍點Linux 2.0、完全符合國際化標準的中文Linux發行版本——TurboLinux簡體中文版6.0、Xteam linux 3.2等。Xteam公司和中科紅旗軟體公司近期還都宣稱將利用Linux2.4內核推出自己的新產品。其中即將發布的紅旗Linux V1.1將以Linux 2.4.X為內核;而台式機版紅旗Linux V2.0將以Linux 2.4.X以上版為內核。

2.4內核發布後,Linus Torvalds將和Linux內核開發小組著手開發Linux 2.5內核,同時,還將繼續維護Linux 2.4內核,提供補丁及錯誤修正。也許目前的最新Linux內核版本已經是2.4.1了,人們也已經在猜測Linux2.5.0的樣子了。來看看廠商們的反應吧,有關人士認為IBM公司將會在以後的Linux 2.4.x內核及Linux 2.5內核的邏輯卷管理程序(LVM)方面起著很大的作用;HP的開發人員則焦急地等待著採用2.4內核的deb軟體包的出現;Red Hat將會提供一個RPM軟體包讓7.0版本的用戶通過Red Hat Network升級;MontaVista軟體公司基於Linux內核2.4開發了被其稱為是硬實時完全優先Linux內核原型,並希望把這種技術或類似的技術在Linux 2.5中制定為基本標准。有了這些廠商和Hacker們的大力支持,想來未來Linux 2.5內核將不會令我們感到失望。

G. 幾個重要的Linux系統內核文件介紹

vmlinuz

vmlinuz是可引導的、壓縮的內核文件。
該文件包含了一個最小功能的內核,在PC上通常是先執行vmlinuz,之後載入initrd.img文件,最後載入根分區。
initrd文件

initrd是「initial ramdisk」的簡寫。就是由Bootloader初始化的內存檔。
在linux內核啟動之前,Bootloader會把存儲介質(例如快閃記憶體)中的initrd文件載入到內存,內核啟動時會在訪問到真正的根文件系統前訪問內存中的initrd文件系統。

熱點內容
師資配置含哪些內容 發布:2025-01-18 07:17:35 瀏覽:705
江西腳本 發布:2025-01-18 07:14:38 瀏覽:391
php中i方法 發布:2025-01-18 07:13:19 瀏覽:369
FTP寶塔Linux面板 發布:2025-01-18 07:10:05 瀏覽:395
無線網卡怎麼改密碼 發布:2025-01-18 06:54:41 瀏覽:765
ava動態編譯 發布:2025-01-18 06:54:39 瀏覽:764
中國學位論文全文資料庫 發布:2025-01-18 06:43:49 瀏覽:688
全局變數存儲類別 發布:2025-01-18 06:39:29 瀏覽:423
蘋果平板的王者號如何轉移到安卓 發布:2025-01-18 06:37:11 瀏覽:611
圖片訪問量 發布:2025-01-18 06:36:34 瀏覽:497