版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Linux操作系統(tǒng)基礎(chǔ)知識篇,軟件的分類,按提供方式和是否盈利劃分 商業(yè)軟件:開發(fā)出售,提供技術(shù)支持,用戶只有使用權(quán)不得修改和擴(kuò)散。 共享軟件:開發(fā)者提供免費(fèi)使用,升級,用戶只有使用權(quán)不得修改和擴(kuò)散。 自由軟件:開發(fā)者使用所有源碼,用戶使用修改,并公開代碼。 FSF (free software foundation) 自由軟件基金會 GPL(general public license)通用公共許可證,目前全球軟件業(yè)三大主流操作系統(tǒng),微軟WINDOWS操作系統(tǒng) 以專有硬件平臺為基礎(chǔ)的UNIX廠家 AIX(IBM) HP-UX(HP) Solaris(SUN) 由全球各地成千上萬的程序員設(shè)計(jì)和
2、實(shí)現(xiàn)的Linux,Linux 是什么?,Linux是免費(fèi)使用和自由傳播的類Unix操作系統(tǒng) 符合POSIX標(biāo)準(zhǔn),以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想 由全世界各地成千上萬的程序員設(shè)計(jì)和實(shí)現(xiàn) 不受任何商品化軟件的版權(quán)制約,可自由使用 Linux以高效性、靈活性和穩(wěn)定性著稱,Linux 的主要特性,開放性 系統(tǒng)遵循遵循開放系統(tǒng)互連(Open Systems Interconnection,OSI)國際標(biāo)準(zhǔn)。 凡遵循國際標(biāo)準(zhǔn)所開發(fā)的硬件和軟件,都能彼此兼容,可方便地實(shí)現(xiàn)互連。 多用戶 多用戶是指系統(tǒng)資源可以被不同用戶各自擁有使用,即每個(gè)用戶對自己的資源(例如:文件、設(shè)備)有特定的權(quán)限,互不影響。 Linux和Un
3、ix都具有多用戶的特性。,Linux 的主要特性,多任務(wù) 計(jì)算機(jī)同時(shí)執(zhí)行多個(gè)程序,而且各個(gè)程序的運(yùn)行互相獨(dú)立。 良好的用戶界面 圖形界面 字符界面 系統(tǒng)調(diào)用界面 設(shè)備獨(dú)立性 所有外部設(shè)備統(tǒng)一當(dāng)作成文件來看待,只要安裝它們的驅(qū)動(dòng)程序,任何用戶都可以像使用文件一樣,操縱、使用這些設(shè)備,而不必知道它們的具體存在形式。,Linux 的主要特性,豐富的網(wǎng)絡(luò)功能 完善的內(nèi)置網(wǎng)絡(luò) Linux在通信和網(wǎng)絡(luò)功能方面優(yōu)于其他OS 可靠的系統(tǒng)安全 文件讀、寫、執(zhí)行等權(quán)限控制 帶保護(hù)的子系統(tǒng) 審計(jì)跟蹤 核心授權(quán) 良好的可移植性 將OS從一個(gè)平臺轉(zhuǎn)移到另一個(gè)平臺,OS仍然能按其自身的方式運(yùn)行,Linux的應(yīng)用,超級計(jì)算
4、機(jī) 應(yīng)用服務(wù)器 嵌入式領(lǐng)域 軟件開發(fā) 桌面應(yīng)用,Linux的應(yīng)用,超級計(jì)算機(jī) 全球超級計(jì)算機(jī)20強(qiáng)中,有19強(qiáng)使用的是Linux系列的操作系統(tǒng),市場占有率達(dá)到95% 全球超級計(jì)算機(jī)前10強(qiáng)中,Linux的市場占有率是100%,Linux的應(yīng)用,應(yīng)用服務(wù)器 Linux系統(tǒng)的可靠性使它成為企業(yè)Web服務(wù)器的重要選擇 郵件服務(wù)器成年累月運(yùn)行,不需要重新啟動(dòng) 網(wǎng)絡(luò)服務(wù)器面對海量訪問,不崩潰 支持多種硬件平臺,非常容易與其他平臺如Windows,UNIX等系統(tǒng)共存,還可以自由無限制地修改 使用Linux操作系統(tǒng)的知名大網(wǎng)站 騰訊、GNU.org、阿里巴巴、百度、網(wǎng)易。,Linux的應(yīng)用,嵌入式領(lǐng)域 嵌入
5、式操作系統(tǒng)是當(dāng)前操作系統(tǒng)領(lǐng)域的熱點(diǎn) 系統(tǒng)內(nèi)核?。?Enea公司的OSE分布式系統(tǒng),5K 專用性強(qiáng):針對硬件的變化和增減進(jìn)行修改 系統(tǒng)精簡:控制系統(tǒng)成本,實(shí)現(xiàn)系統(tǒng)安全 高實(shí)時(shí)性:軟件代碼要求高質(zhì)量和高可靠性 Linux的低成本、小內(nèi)核以及模塊化的特點(diǎn)吸引很多嵌入式設(shè)備都紛紛使用 諾基亞、摩托羅拉、三星、愛立信、惠普,Linux的應(yīng)用,軟件開發(fā) Linux開發(fā)工具和應(yīng)用正日臻完善,Linux開發(fā)者可以使用C,C+,Perl或PHP來開發(fā)應(yīng)用程序 桌面應(yīng)用 新版本的Linux系統(tǒng)在桌面應(yīng)用方面進(jìn)行了改進(jìn),達(dá)到了相當(dāng)高的水平,完全可以作為一種集辦公應(yīng)用、多媒體應(yīng)用、游戲娛樂和網(wǎng)絡(luò)應(yīng)用等多方面功能于一體
6、的圖形界面操作系統(tǒng),要想了解更多背景與應(yīng)用:,請觀看Linux 20周年視頻 ,從實(shí)用主義角度來看:求職 從理性主義角度來看:擴(kuò)充自己的知識面 學(xué)習(xí)系統(tǒng)軟件,不光要懂得系統(tǒng)的工作原理,還要結(jié)合實(shí)際系統(tǒng),學(xué)習(xí)實(shí)際系統(tǒng)的實(shí)現(xiàn)方法 “Read the fucking source code” by Linus 從更高的層面: Windows不開源代碼,知其然而不知其所以然 美國政府有明確規(guī)定為了國家安全任何公司的加密技術(shù)都必須有解密方法 中國自主操作系統(tǒng),從而構(gòu)建一個(gè)自主、完整的軟件產(chǎn)業(yè)體系。,為什么要學(xué)習(xí)Linux?,為什么要學(xué)習(xí)Linux?,2010.8.4, 騰訊 招聘 Linux,如何學(xué)習(xí)L
7、inux?,授課內(nèi)容一覽,教材,1 鳥哥. 鳥哥的Linux私房菜基礎(chǔ)學(xué)習(xí)篇(第3版) 2鳥哥. 鳥哥的Linux私房菜-服務(wù)器架設(shè)篇(第2版). 3紅聯(lián)Linux培訓(xùn)課件系列,師傅領(lǐng)進(jìn)門, 修行在個(gè)人,取乎其上,得乎其中; 取乎其中,得乎其下; 取乎其下,則無所得矣,專心聽課,你會少走很多彎路,Linux操作系統(tǒng)-基礎(chǔ)知識篇,本節(jié)內(nèi)容 1 Linux系統(tǒng)簡介 2 Linux版本介紹 3 Fedora Core 3.1 系統(tǒng)概述 3.2 安裝Fedora系統(tǒng) 3.3 登錄、注銷和關(guān)閉系統(tǒng) 3.4 GNOME基本使用 3.5 系統(tǒng)設(shè)置,內(nèi)核 Shell 文件系統(tǒng) 應(yīng)用程序,Linux系統(tǒng)的組成,
8、文件系統(tǒng),內(nèi)核是操作系統(tǒng)的核心 存儲管理:虛擬內(nèi)存 CPU和進(jìn)程管理:多任務(wù),共享庫 文件系統(tǒng):加載和卸載 設(shè)備管理和驅(qū)動(dòng) 網(wǎng)絡(luò)通信:TCP/IP網(wǎng)絡(luò)功能 系統(tǒng)的初始化和系統(tǒng)調(diào)用,Linux系統(tǒng)的組成 -內(nèi)核,它接收用戶輸入的命令 解釋用戶輸入的命令并將其送到內(nèi)核去執(zhí)行 Shell編寫的程序與其他應(yīng)用程序有相同的效果,Linux系統(tǒng)的組成 - Shell,Shell是系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口,Linux系統(tǒng)的組成 - Shell,文件系統(tǒng)是文件存放在磁盤等存儲設(shè)備上的組織方法 Linux虛擬文件系統(tǒng)為用戶提供了一個(gè)一種公共的接口,而不需要了解物理設(shè)備或邏輯系統(tǒng)的細(xì)
9、節(jié)。系統(tǒng)允許系統(tǒng)管理員將在任何物理設(shè)備上的邏輯文件系統(tǒng)掛接在文件目錄中。 支持多種文件系統(tǒng):Ext2、Ext3、Ext4、FAT、FAT32、VFAT、ISO9660, ,Linux系統(tǒng)的組成-文件系統(tǒng),標(biāo)準(zhǔn)的Linux系統(tǒng)都有一套稱為應(yīng)用程序的程序集,它包括文本編輯器、編程語言、X Window、辦公軟件、Internet工具和數(shù)據(jù)庫等,Linux系統(tǒng)的組成-應(yīng)用程序,Linux系統(tǒng)的組成 內(nèi)核 Shell 文件系統(tǒng) 應(yīng)用程序,Linux版本介紹,Linux的版本號分為兩部分 內(nèi)核版本(kernel) 發(fā)行版本(distribution),內(nèi)核是一個(gè)用來和硬件打交道并為用戶程序 提供一個(gè)有限
10、服務(wù)集的低級支撐軟件 內(nèi)核版本號由3個(gè)數(shù)字組成:r.x.y r:目前發(fā)布的內(nèi)核主版本 x:偶數(shù)表示穩(wěn)定版本;奇數(shù)表示開發(fā)中 版本 y:錯(cuò)誤修補(bǔ)的次數(shù),2.1Linux內(nèi)核版本,2.6.33,2.2Linux發(fā)行版本,一些組織和廠家,將Linux系統(tǒng)的內(nèi)核、應(yīng) 用軟件和文檔包裝起來,并提供一些系統(tǒng)安 裝界面、系統(tǒng)配置設(shè)定管理工具,就構(gòu)成了 Linux發(fā)行版本. 系統(tǒng)工具+應(yīng)用工具+網(wǎng)絡(luò)工具+編譯工具 各發(fā)布廠商發(fā)行版本的版本號各不相同,與 Linux系統(tǒng)內(nèi)核的版本號是相對獨(dú)立的。 根據(jù)GPL準(zhǔn)則,這些發(fā)行版本雖然都源自一 個(gè)內(nèi)核,但都沒有自己的版權(quán)。,(1)Mandriva (2)Red Hat
11、 (3)SUSE (4)Debian (5)Ubuntu (6)Gentoo (7)Slackware (8)Red Flag,主流Linux發(fā)行版本介紹,Fedora系統(tǒng)概述,Fedora是一個(gè)開放的、創(chuàng)新的以及前瞻性的平臺, 它允許任何人自由地使用、修改和重發(fā)布 前身就是Red Hat Linux,被Red Hat公司定位為新 技術(shù)的實(shí)驗(yàn)場 2003年11月,第一個(gè)發(fā)行版本 Fedora Core 1 出爐,版本代碼: Yarrow 2004年5月,F(xiàn)C2正式發(fā)布,版本代碼: Tettnang 2004年11月,F(xiàn)C3正式發(fā)布,版本代碼: Heidelberg 2010年5月25日,F(xiàn)ed
12、ora13正式版發(fā)布, 最新版 本Fedora 13 Goddard,安裝Fedora系統(tǒng),參見Win7使用 VMware 安裝 Linux (Fedora13) 龐宇杰(現(xiàn)在穆迪信息咨詢工作) 王曉哲(現(xiàn)在明尼蘇達(dá)大學(xué)(University of Minnesota)就讀),感謝歷屆學(xué)生的無私奉獻(xiàn)!,舊時(shí)王謝堂前燕, 飛入尋常百姓家。,登錄、注銷和關(guān)閉系統(tǒng),Fedora系統(tǒng)使用賬號來管理權(quán)限和維護(hù)安 全,不是所有的賬號都具有相同的權(quán)限,某 些賬號所擁有的文件訪問權(quán)限和服務(wù)要比其 他賬號少,登錄系統(tǒng),注銷系統(tǒng) 在Fedora系統(tǒng)中,要注銷Fedora 8系統(tǒng),單擊面板上的“系統(tǒng)”“注銷”,彈出
13、注銷確認(rèn)對話框,單擊“注銷”按鈕即可注銷系統(tǒng) 如果不采取任何操作,那么系統(tǒng)會在60s之后自動(dòng)注銷 切換用戶,關(guān)機(jī)和重新啟動(dòng)系統(tǒng) 在切斷計(jì)算機(jī)電源之前必須首先關(guān)閉Fedora 系統(tǒng) 不執(zhí)行關(guān)閉Fedora系統(tǒng)就直接切斷計(jì)算機(jī)的 電源,會導(dǎo)致未存盤數(shù)據(jù)的丟失或者系統(tǒng)的 損害,GNOME基本使用,Fedora系統(tǒng)包括了一個(gè)功能強(qiáng)大的圖形化桌面環(huán)境GNOME,可以很方便地訪問應(yīng)用程序、文件和系統(tǒng)資源,使用桌面,Fedora系統(tǒng)默認(rèn)圖形化桌面環(huán)境是GNOME,通過圖形化桌面環(huán)境能夠使用圖形化應(yīng)用程序以及利用圖形界面對計(jì)算機(jī)進(jìn)行系統(tǒng)設(shè)置 Fedora提供了3種主要工具來使用系統(tǒng)上的應(yīng)用程序:面板圖標(biāo)、桌面
14、圖標(biāo)和菜單系統(tǒng),面板(頂部),面板(底部),使用面板,可以單擊面板上的“應(yīng)用程序”按鈕,進(jìn)入系統(tǒng)內(nèi) 的應(yīng)用程序 可以使用面板上的“位置”快速地進(jìn)入某個(gè)文件夾中,如主文件夾、桌面、計(jì)算機(jī)和網(wǎng)絡(luò)等;還可以在系統(tǒng)中搜索文件;查看最近打開的文檔等 可以使用面板上的“系統(tǒng)”操縱首選項(xiàng)、管理、幫助、注銷以及關(guān)機(jī)功能,其中使用“管理”可以對Fedora系統(tǒng)進(jìn)行大部分的管理操作,小程序是運(yùn)行在面板上的小型應(yīng)用程序,通常會監(jiān)控系統(tǒng)中的各類情況,使用小程序,在面板上添加項(xiàng)目,圖形化桌面提供了使用多個(gè)工作區(qū)的功能,因此不必把所有運(yùn)行著的應(yīng)用程序都堆積在一個(gè)可視桌面區(qū)域,工作區(qū)切換器,系 統(tǒng) 設(shè) 置,登錄Fedora
15、系統(tǒng)之后,有可能需要對其進(jìn)行設(shè)置,比如桌面背景、屏幕保護(hù)程序、日期和時(shí)間設(shè)置、系統(tǒng)監(jiān)視、磁盤分析、聲卡檢測等,下面對這些內(nèi)容分別進(jìn)行介紹,系統(tǒng)監(jiān)視器,使用“系統(tǒng)監(jiān)視器”可以查看Fedora系統(tǒng)的系統(tǒng)信息、進(jìn)程信息、資源信息以及文件系統(tǒng)信息,使用“磁盤使用分析器”工具可以對本地計(jì)算機(jī)甚至遠(yuǎn)程計(jì)算機(jī)的文件夾和文件系統(tǒng)進(jìn)行掃描并分析,磁盤使用分析器,磁盤使用分析器,在Fedora系統(tǒng)安裝過程中對顯示器、視頻卡和顯示設(shè)置都進(jìn)行了配置,顯示設(shè)置,使用“時(shí)間/日期屬性”工具允許用戶更改系統(tǒng)日期和時(shí)間、配置系統(tǒng)使用的時(shí)區(qū)以及設(shè)置網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)守護(hù)進(jìn)程來與時(shí)間服務(wù)器的系統(tǒng)時(shí)鐘進(jìn)行同步,日期和時(shí)間配置,
16、使用“外觀首選項(xiàng)”工具可以更改桌面的背景,可以從/usr/share/backgrounds/目錄中選擇圖像,也可以使用自己的圖像,更改桌面背景,外觀首選項(xiàng),當(dāng)需要檢測Fedora系統(tǒng)上的聲卡是否正常時(shí),單擊面板上的“系統(tǒng)”“管理”“聲卡檢測”,打開“聲音配置”界面,聲卡檢測,聲音配置,當(dāng)需要查看Fedora系統(tǒng)的日志時(shí),單擊面板上的“應(yīng)用程序”“系統(tǒng)工具”“系統(tǒng)日志”,打開如圖所示的“系統(tǒng)日志查看器”界面,系統(tǒng)日志,系統(tǒng)日志查看器,課堂之外 興趣人士,Linux 內(nèi)核的重要組成部分,Linux內(nèi)核分析,所有主要Linux發(fā)行版本(如Craftworks,Debian、Slackware和Re
17、dhat)都包含了源碼在內(nèi)。Linux系統(tǒng)核心就是從這些源碼中構(gòu)造出來的。,核心源碼的組織,核心源碼的頂層是/usr/src/目錄,在此目錄下可以看到大量子目錄: arch 這個(gè)子目錄包含了所有體系結(jié)構(gòu)相關(guān)的核心代碼。它還包含每種支持的體系結(jié)構(gòu)的子目錄,如i386。 include 這個(gè)目錄包括了用來重構(gòu)核心的大多數(shù)include文件。對于每種支持的體系結(jié)構(gòu)分別有一個(gè)子目錄。 init 此目錄包含核心啟動(dòng)代碼。 mm 此目錄包含了所有的內(nèi)存管理代碼。與具體體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/mm目錄下,例如arch/i386/mm/fault.c 。,核心源碼的組織,drivers 系統(tǒng)中
18、所有的設(shè)備驅(qū)動(dòng)都位于該目錄中。它又進(jìn)一步劃分成幾類設(shè)備驅(qū)動(dòng),如block。 ipc 此目錄包含了核心的進(jìn)程間通訊代碼。 modules 此目錄僅僅包含已建好的模塊。 fs 所有的文件系統(tǒng)代碼。它也被劃分成對應(yīng)不同文件系統(tǒng)的子目 錄,如vfat和ext2。 kernel 主要核心代碼。同時(shí)與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/kernel目錄下。 net 核心的網(wǎng)絡(luò)部分代碼。 lib 此目錄包含了核心的庫代碼。與處理器結(jié)構(gòu)相關(guān)庫代碼被放在arch/lib/目錄下。 scripts 此目錄包含用于配置核心的腳本文件(如awk和tk腳本)。,Linux內(nèi)核源代碼的組成,閱讀核心某個(gè)部分經(jīng)常要用到好幾個(gè)
19、其他的相關(guān)文件,對于源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。閱讀linux內(nèi)核源代碼的基本要求是: 1、操作系統(tǒng)的基本知識。 2、對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標(biāo)準(zhǔn)C的擴(kuò)展的知識的了解。另外,在閱讀之前還應(yīng)該知道Linux內(nèi)核源代碼的整體分布情況。,Linux內(nèi)核源代碼的組成如下,1 系統(tǒng)啟動(dòng)與初始化 在基于intel的系統(tǒng)上,Linux可以通過loadlin.exe或者LILO將核心載入內(nèi)存并將控制傳遞給它。這部分程序 位于arch/i386/kerneld/head.s。此文件完成一些處理器相關(guān)操作并跳轉(zhuǎn)到init/main.c中的mai
20、n()例程。 2 內(nèi)存管理 這部分代碼主要位于mm目錄里,而與處理器結(jié)構(gòu)相關(guān)部分在arch/mm中。頁面出錯(cuò)處理代碼位于mm下的 memory.c文件中,內(nèi)存映射與頁面cache代碼位于filemap.c中。buffer cache則在mm/buffer.c中實(shí)現(xiàn), swap cache位于mm/swap_state.c和mm/swapfile.c中。,Linux內(nèi)核源代碼的組成,3 核心 大多數(shù)通用代碼位于kernel目錄下,而處理器相關(guān)代碼被放在arch/kernel中。調(diào)度管理程序位于kernel/sched.c,fork代碼位于kernel/fork.c。底層部分處理及中斷處理的代碼位
21、于include/linux/interrupt.h里。在/linux/sched.h中可以找到task_struct的描敘。 4 PCI PCI偽設(shè)備驅(qū)動(dòng)位于drivers/pci/pci.c且其系統(tǒng)通用定義放在include/linux/pci.h中。每個(gè)處理器結(jié)構(gòu) 具有特殊的PCI BIOS代碼,Alpha AXP的位于arch/alpha/kernel/bios32.c中。,Linux內(nèi)核源代碼的組成如下,5 進(jìn)程間通訊 進(jìn)程間通訊所有代碼都在ipc目錄中。系統(tǒng)V IPC對象都包含一個(gè)ipc_perm結(jié)構(gòu),它在include/linux/ipc.h中描敘。 系統(tǒng)V消息在ipc/msg.
22、c中實(shí)現(xiàn),共享內(nèi)存在ipc/shm.c而信號燈位于ipc/sem.c中。管道在ipc/pipe.c中實(shí)現(xiàn)。 6 中斷處理 核心的中斷處理代碼總是與微處理器結(jié)構(gòu)相關(guān)。Intel系統(tǒng)的中斷處理代碼位于arch/i386/kernel/irq.c中, 其定義位于include/asm-i386/irq.h中。,Linux內(nèi)核源代碼的組成如下,7 設(shè)備驅(qū)動(dòng) Linux核心源碼的大多數(shù)都是設(shè)備驅(qū)動(dòng)。所有Linux的設(shè)備驅(qū)動(dòng)源碼都放在drivers目錄中并分成以下幾類: /block 塊設(shè)備驅(qū)動(dòng)包括IDE(在ide.c中)驅(qū)動(dòng)。如果想尋找這些可包含文件系統(tǒng)的設(shè)備的初始化過程 則應(yīng)該在drivers/blo
23、ck/genhd.c中的device_setup()。當(dāng)安裝一個(gè)nfs文件系統(tǒng)時(shí)不但要初始化 硬盤還需初始化網(wǎng)絡(luò)。塊設(shè)備包括IDE與SCSI設(shè)備。 /char 此目錄包含字符設(shè)備的驅(qū)動(dòng),如ttys,串行口以及鼠標(biāo)。,Linux內(nèi)核源代碼的組成,7 設(shè)備驅(qū)動(dòng) Linux核心源碼的大多數(shù)都是設(shè)備驅(qū)動(dòng)。所有Linux的設(shè)備驅(qū)動(dòng)源碼都放在drivers目錄中并分成以下幾類: /cdrom 包含所有Linux CDROM代碼。在這里可以找到某些特殊的CDROM設(shè)備(如Soundblaster CDROM)。 IDE接口的CD驅(qū)動(dòng)位于drivers/block/ide-cd.c中而SCSI CD驅(qū)動(dòng)位于d
24、rivers/scsi/scsi.c中。 /pci 它包含了PCI偽設(shè)備驅(qū)動(dòng)源碼。這里可以找到關(guān)于PCI子系統(tǒng)映射與初始化的代碼。另外位于 arch/alpha/kernel/bios32.c中的Alpha AXP PCI補(bǔ)丁代碼也值得一讀。,Linux內(nèi)核源代碼的組成,7 設(shè)備驅(qū)動(dòng) Linux核心源碼的大多數(shù)都是設(shè)備驅(qū)動(dòng)。所有Linux的設(shè)備驅(qū)動(dòng)源碼都放在drivers目錄中并分成以下幾類: /scsi 這里可以找到所有的SCSI代碼以及Linux支持的SCSI 設(shè)備的設(shè)備驅(qū)動(dòng)。 /net 包含網(wǎng)絡(luò)驅(qū)動(dòng)源碼,如tulip.c中的DECChip 21040 PCI以太網(wǎng)驅(qū)動(dòng)。 /sound 所
25、有的聲卡驅(qū)動(dòng)源碼。,Linux內(nèi)核源代碼的組成,8 文件系統(tǒng) EXT2文件系統(tǒng)的源碼位于fs/ext2中,其數(shù)據(jù)結(jié)構(gòu)定義位于include/linux/ext2_fs.h, ext2_fs_i.h 以及 ext2_fs_sb.h中。虛擬文件系統(tǒng)數(shù)據(jù)結(jié)構(gòu)在include/linux/fs.h中描敘且其代碼在fs/中。buffer cache 和update核心后臺進(jìn)程在fs/buffer.c中實(shí)現(xiàn)。 9 網(wǎng)絡(luò) 網(wǎng)絡(luò)代碼位于net目錄而大多數(shù)包含文件位于include/net中。BSD套接口代碼位于net/socket.c中。IPV4的 INET套接口代碼位于net/ipv4/af_inet.c中
26、。通用協(xié)議支撐代碼(包括sk_buff處理過程)位于net/core中, 同時(shí)TCP/IP網(wǎng)絡(luò)代碼位于net/ipv4中。網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)位于drivers/net中。,Linux內(nèi)核源代碼的組成,10 核心模塊 核心模塊代碼部分位于核心中部分位于modules包中。核心代碼位于kernel/modules.c且其數(shù)據(jù)結(jié)構(gòu)與核心 后臺進(jìn)程kerneld消息位于include/linux/module.h和include/linux/kerneld.h目錄中。同時(shí)必要時(shí)需查閱 include/linux/elf.h中的ELF文件格式。,Linux內(nèi)核分析方法,Linux的最大的優(yōu)點(diǎn)之一就是它的源碼公開。 首先是可以從中學(xué)到很多的計(jì)算機(jī)的底層知識,如后面將講到的系統(tǒng)的引導(dǎo)和硬件提供的中斷機(jī)制等;其它,如虛擬存儲的實(shí)現(xiàn)機(jī)制、多任務(wù)機(jī)制、系統(tǒng)保護(hù)機(jī)制等等,這些都是非讀源碼不能體會的。 其次是可以從操作系統(tǒng)的整體結(jié)構(gòu)中,體會整體設(shè)計(jì)在軟件設(shè)計(jì)中的份量和作用,以及一些宏觀設(shè)計(jì)的方法和技巧:Linux的內(nèi)核為上層應(yīng)用提供一個(gè)與具體硬件不相關(guān)的平臺;同時(shí)在內(nèi)核內(nèi)部,它又把代碼分為與體系結(jié)構(gòu)和硬件相關(guān)的部分,和可移植的部分;再例如,Linux雖然不是微內(nèi)核的,但它把大部
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全月度工作計(jì)劃
- 2026秋招:五江控股集團(tuán)面試題及答案
- 2026年無人駕駛技術(shù)測試合同協(xié)議
- 2026年粉塵檢測服務(wù)合同
- 2026年跨境電商物流服務(wù)
- 技術(shù)轉(zhuǎn)讓協(xié)議2025年知識產(chǎn)權(quán)
- 2026年寒假“網(wǎng)絡(luò)素養(yǎng)”主題班會設(shè)計(jì)方案(XX市實(shí)驗(yàn)學(xué)校初一年級:信息辨別-網(wǎng)絡(luò)禮儀)
- 2025-2026學(xué)年第一學(xué)期XX市實(shí)驗(yàn)中學(xué)初二年級(4)班班級文化建設(shè)方案:班級公約與活動(dòng)設(shè)計(jì)
- 員工質(zhì)量培訓(xùn)
- 高考物理-雙副線圈理想變壓器等效電阻的計(jì)算及有關(guān)試題
- VTE防治護(hù)理年度專項(xiàng)工作匯報(bào)
- 招標(biāo)代理師項(xiàng)目溝通協(xié)調(diào)技巧
- 乙狀結(jié)腸癌教學(xué)課件
- ISO13485:2016醫(yī)療器械質(zhì)量管理手冊+全套程序文件+表單全套
- 2026年審核員考試HACCP體系試題及答案
- 高校專業(yè)群建設(shè)中的教師角色重構(gòu)機(jī)制研究
- 裝修加盟協(xié)議合同范本
- 2025-2030國學(xué)啟蒙教育傳統(tǒng)文化復(fù)興與商業(yè)模式探索報(bào)告
- 2025年甘肅公務(wù)員考試真題及答案
- 《電力變壓器聲紋檢測技術(shù)導(dǎo)則》
- 新版《醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范》2025年培訓(xùn)試題及答案
評論
0/150
提交評論