(東南大學(xué)集成電路課程)嵌入式Linux體系結(jié)構(gòu)_第1頁
(東南大學(xué)集成電路課程)嵌入式Linux體系結(jié)構(gòu)_第2頁
(東南大學(xué)集成電路課程)嵌入式Linux體系結(jié)構(gòu)_第3頁
(東南大學(xué)集成電路課程)嵌入式Linux體系結(jié)構(gòu)_第4頁
(東南大學(xué)集成電路課程)嵌入式Linux體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、東南大學(xué)集成電路學(xué)院國家ASIC系統(tǒng)工程技術(shù)研究中心國家ASIC系統(tǒng)工程技術(shù)研究中心主要內(nèi)容主要內(nèi)容n什么是嵌入式什么是嵌入式Linuxn嵌入式嵌入式Linux的特點的特點n嵌入式嵌入式Linux系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linuxn 嵌入式Linux一般是指對標(biāo)準(zhǔn)Linux進行裁剪、定制乃至改造處理之后,適合于特定嵌入式應(yīng)用場合的專用Linux操作系統(tǒng)。 uCLinux RTLinux RTAI MontaVista Linux (Hard Hat Linux) MobiLinux Embedix Blue Cat Linux Android Linux國家

2、ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux:Linux簡介nLinux 還是 GNU/Linux? Linux:開源的類UNIX操作系統(tǒng)內(nèi)核 GNU/Linux:集成GNU (GNUs Not Unix) 軟件(窗口系統(tǒng)、編譯器、各種 shell、應(yīng)用程序和開發(fā)工具等)和Linux內(nèi)核的操作系統(tǒng)。 GPL( GNU General Public License )許可證協(xié)議下,GNU軟件可以自由地“使用、復(fù)制、修改和發(fā)布”(CopyLeft) LGPL( GNU Lesser General Public License )國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :Li

3、nux簡介n1991年,Linux之父,芬蘭赫爾辛基大學(xué)的學(xué)生:Linus Torvalds,發(fā)布第一個Linux版本國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :Linux簡介nLinux內(nèi)核版本國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :Linux簡介n0.00(1991年24月):兩個進程分別顯示AAA BBB。n1.0(1993年3月):在一批高水平黑客的參與下,誕生第一個正式版本。n2.0(1996年6月):可支持多個處理器SMP 。n2.2(1999年1月):增加了對進程的POSIX能力的支持。n2.4(2001年1月):進一步提升SMP系統(tǒng)的擴展性,集成

4、了很多用于支持桌面系統(tǒng)的特性,如對USB、PCMCIA的支持,內(nèi)置的即插即用等功能。n2.6(2003年12月):更好地支持大型多處理服務(wù)器;更好地支持嵌入式設(shè)備,如手機、網(wǎng)絡(luò)路由器或者視頻錄像機等;對鼠標(biāo)和鍵盤指令等用戶行為反應(yīng)更加迅速;塊設(shè)備驅(qū)動程序做了徹底更新,如與硬盤和CD光驅(qū)通信的軟件模塊。n3.0(2011年5月):改變版本命令規(guī)則國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :Linux簡介nLinux 內(nèi)核版本編號方式內(nèi)核版本編號方式1.01.0版本前版本前0.XX非正式版本1.0 2.6.01.0 2.6.0版本版本A.B.CA:主版本號B:次版本號(偶數(shù)表示穩(wěn)定版

5、本,奇數(shù)表示開發(fā)版本)C:修訂版本號2.6.03.02.6.03.0版本版本A.B.C.DC:修訂版本號(time-based)D:bug修復(fù),安全更新,添加新特性和驅(qū)動的次數(shù)3.03.0版本以后版本以后A.B.CB:修訂版本號(time-based)C:bug修復(fù),安全更新,添加新特性和驅(qū)動的次數(shù)國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :Linux簡介nGNU/Linux發(fā)行套件國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :嵌入式Linuxn內(nèi)核的定制:嵌入式Linux 內(nèi)核 為特殊的硬件配置、或為了支持特別的應(yīng)用而經(jīng)過特別的裁剪的修改過的Linux 內(nèi)核n系統(tǒng)的

6、定制:嵌入式Linux 系統(tǒng) 為了在嵌入式系統(tǒng)中使用而剪裁過的Linux系統(tǒng)軟件n發(fā)行套件的定制:嵌入式Linux 發(fā)行套件 為了在嵌入式系統(tǒng)中使用而剪裁過的Linux應(yīng)用軟件國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :嵌入式應(yīng)用國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux :嵌入式應(yīng)用n實時性 硬實時 軟實時 寬松時限n硬件規(guī)模 小型(CPU100MHz,內(nèi)存32MB) 中型(CPU500MHz,內(nèi)存1GHz,內(nèi)存1GMB)國家ASIC系統(tǒng)工程技術(shù)研究中心什么是嵌入式Linux nuClinux (Micro-Control-Linux):專門針對無MMU的微控制器領(lǐng)

7、域而設(shè)計的嵌入式Linux 系統(tǒng)nARM Linux:專門針對無ARM處理器(有MMU)的嵌入式Linux 系統(tǒng)nRTLinux:硬實時微內(nèi)核的實時操作系統(tǒng),將普通Linux系統(tǒng)作為一個低優(yōu)先級的任務(wù)來運行,其他的實時任務(wù)優(yōu)先級比普通Linux 系統(tǒng)要高。nRATI(RealTime Application Interface):嵌入式Linux 系統(tǒng)的硬實時補丁,類同RTLinux,但通過實時硬件抽象層實現(xiàn)實時任務(wù)和Linux的交互。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點n標(biāo)準(zhǔn)Linux的特點(1) 單體內(nèi)核( monolithic ) 借鑒了微內(nèi)核的特性,具有動態(tài)調(diào)入模塊的

8、觀念,比傳統(tǒng)的單體內(nèi)核操作系統(tǒng)可移植性更強。 多任務(wù) 采用時間片輪轉(zhuǎn)優(yōu)先級搶占的算法,實現(xiàn)多任務(wù)并行。 多用戶 多個用戶可以在同一時間內(nèi)使用系統(tǒng),同一用戶可以同時并行執(zhí)行多個任務(wù)。操作系統(tǒng)可以同時管理多個用戶的請求和多個任務(wù)。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點n標(biāo)準(zhǔn)Linux的特點(2) 支持多種處理器體系結(jié)構(gòu) X86、ARM、MIPS、M68K、PowerPC、SH、SPARC 支持MMU和non-MMU的處理器 支持32位和64位的處理器 支持多處理器(SMP) 支持32個CPU并行工作 支持多種總線接口和外部設(shè)備國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點n

9、標(biāo)準(zhǔn)Linux的特點(3) 支持虛擬內(nèi)存 4GB虛擬地址空間,用戶空間3GB。 支持多種文件系統(tǒng) 通過虛擬文件系統(tǒng)(VFS)屏蔽了各種不同文件系統(tǒng)的內(nèi)在差別,使得用戶可以使用同樣的方式訪問各種不同格式的文件系統(tǒng):EXT、FAT、YAFFS。 通過邏輯卷管理(LVM)可以在運行時動態(tài)伸縮文件系統(tǒng)的大小,或增加文件系統(tǒng)。 支持網(wǎng)絡(luò)文件系統(tǒng)(NFS) 支持內(nèi)核虛擬機(KVM) 允許在宿主 Linux 內(nèi)核的用戶空間中運行其他客戶操作系統(tǒng)。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點n標(biāo)準(zhǔn)Linux的特點 規(guī)范性和可移植性 支持POSIX( Portable Operating System

10、 Interface )標(biāo)準(zhǔn) GNU工具的支持:GCC、GDB、GNU make、GNU ld 實時性 支持內(nèi)核線程(守護進程),2.6版本以后內(nèi)核線程可搶占。 有效的延遲機制:下半部分,軟中斷,tasklet和工作列隊等??梢葬槍θ蝿?wù)的輕重緩急,更細粒度的選擇執(zhí)行時機。保證了系統(tǒng)運行時盡量在安全時間(不關(guān)中斷)。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點n標(biāo)準(zhǔn)Linux的特點 開放性 遵循GPL許可證協(xié)議,開放源代碼,全世界的開發(fā)者共同使用和維護 無授權(quán)費用 開源社區(qū)的支持,快速的技術(shù)更新國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點nLinux沒有的 強迫性的軟件升級

11、私有的文件格式 產(chǎn)品注冊登記 高昂的軟件價格國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特點nLinux 2.6內(nèi)核針對嵌入式系統(tǒng)的改進 實時性顯著提高 允許搶占以內(nèi)核態(tài)運行的任務(wù)(包括通過系統(tǒng)調(diào)用進入內(nèi)核模式的用戶任務(wù))。 更加有效的調(diào)度算法。算法復(fù)雜度為O(1)。 同步性的提高。 增加對嵌入式處理器的支持 增加了對無MMU系統(tǒng)的支持。 面向嵌入式應(yīng)用 子系統(tǒng)架構(gòu)將功能模塊化,可以定制而對其他部分影響最小,便于裁剪和移植。 改善了I/O子系統(tǒng),提供了更多嵌入式外設(shè)的支持以實現(xiàn)各種應(yīng)用開發(fā)。 可以配置成無輸入和顯示的純粹無用戶接口系統(tǒng)。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux的特

12、點n嵌入式Linux的特點 需要交叉編譯開發(fā) 具有更強的實時性 根據(jù)硬件資源限制和應(yīng)用需求進行裁剪國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu)n引導(dǎo)系統(tǒng)(Bootloader)n系統(tǒng)內(nèi)核(Kernel)n文件系統(tǒng)(File System)國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):BootloadernBootLoader回顧 Boot Loader 是在操作系統(tǒng)內(nèi)核運行之前首先運行的第一段小程序:初始化硬件設(shè)備;建立內(nèi)存空間的映射圖;加載操作系統(tǒng)內(nèi)核鏡像到RAM中,并將系統(tǒng)的控制權(quán)傳遞給它。 BootLoader依賴于CPU體系結(jié)構(gòu)和板級硬件配置 BootLoade

13、r通常預(yù)先劃分好固態(tài)存儲設(shè)備的空間,用于存放鏡像。 BootLoader通常支持啟動加載和下載兩種模式。 BootLoader的操作通常分為兩個階段。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Bootloadern第一階段操作1. 屏蔽所有的中斷2. 設(shè)置CPU 的速度和時鐘頻率3. RAM 初始化4. 初始化硬件調(diào)試端口(LED/UART)。5. 關(guān)閉CPU 內(nèi)部指令數(shù)據(jù)cache6. 為第二階段準(zhǔn)備RAM 空間7. 拷貝第二階段代碼到RAM 中8. 設(shè)置堆棧指針sp9. 跳轉(zhuǎn)到第二階段的入口點國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Bootloadern第

14、二階段操作1. 初始化本階段要使用到的硬件設(shè)備2. 檢測系統(tǒng)內(nèi)存映射(memory map)3. 將kernel 映像和根文件系統(tǒng)映像從flash 上讀到RAM 空間中4. 為內(nèi)核設(shè)置啟動參數(shù)5. 調(diào)用內(nèi)核國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Bootloadern在嵌入式Linux系統(tǒng)中,需要由BootLoader設(shè)置的參數(shù)有: 內(nèi)核參數(shù),如頁面大小、根設(shè)備 內(nèi)存映射情況 命令行參數(shù) initrd映像參數(shù) 起始地址,大小 Ramdisk參數(shù) 解壓后的大小國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Bootloadern嵌入式Linux系統(tǒng)常用BootLoad

15、er: UBoot RedBoot Blob國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu)nGNU/Linux系統(tǒng)構(gòu)成 應(yīng)用程序 庫 系統(tǒng)內(nèi)核國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu)n嵌入式Linux應(yīng)用程序 程序文件采用ELF格式或AOUT格式 運行在用戶空間,必須通過Linux內(nèi)核訪問資源 支持圖形用戶界面,需要第三方GUI軟件 X11 Window QT Micro Window MiniGUIn庫:通常為共享庫(.so),需要鏈接到應(yīng)用程序運行。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)核:實際上僅僅是一個資源管理器。不管被管理

16、的資源是進程、內(nèi)存還是硬件設(shè)備,內(nèi)核負(fù)責(zé)管理并裁定多個競爭用戶對資源的訪問(既包括內(nèi)核空間也包括用戶空間)。 n內(nèi)核構(gòu)成 體系結(jié)構(gòu)層 設(shè)備驅(qū)動 內(nèi)存管理 進程管理 虛擬文件系統(tǒng) 網(wǎng)絡(luò)協(xié)議 系統(tǒng)調(diào)用接口國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kernel國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程 在Linux內(nèi)核中,進程代表了單獨的處理器虛擬化(線程代碼、數(shù)據(jù)、堆棧和 CPU 寄存器)。 系統(tǒng)資源分配的基本單位。由正文段(text)、用戶數(shù)據(jù)段(user segment)和系統(tǒng)數(shù)據(jù)段(system segment)組成的動態(tài)實體。國家ASIC系

17、統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程管理進程管理 通過進程描述符(task_struct數(shù)據(jù)結(jié)構(gòu),進程控制塊PCB )描述進程,是進程存在的唯一標(biāo)志。 進程描述符放在動態(tài)內(nèi)存中而且和內(nèi)核態(tài)的進程棧放在一個獨立的8KB的內(nèi)存區(qū)中 進程描述符進程標(biāo)識(PID)進程狀態(tài)(State)進程調(diào)度信息和策略標(biāo)識號(Identifiers)進程通信有關(guān)的信息(IPC)進程鏈接信息(Links)時間和定時器信息(Times and Timers)文件系統(tǒng)信息(Files System)處理器相關(guān)的上下文信息國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程管

18、理:狀態(tài)機國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程管理 基本操作 fork: 通過復(fù)制調(diào)用進程來建立新的進程,是最基本的進程建立過程 exec :包括一系列系統(tǒng)調(diào)用,它們都是通過用一個新的程序覆蓋原來的內(nèi)存空間,實現(xiàn)進程的轉(zhuǎn)變 wait:提供初級的進程同步措施,能使一個進程等待,直到另外一個進程結(jié)束為止。 exit:該系統(tǒng)調(diào)用用來終止一個進程的運行國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kernel國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kernel國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進

19、程管理 fork調(diào)用結(jié)束時,內(nèi)核在系統(tǒng)的物理內(nèi)存中為新進程分配新的task_struct結(jié)構(gòu),并為新進程要使用的堆棧分配物理頁和進程標(biāo)志符 exec并不創(chuàng)建新進程 exec前后進程ID是不變的,僅替代了當(dāng)前進程的正文、數(shù)據(jù)、堆和棧國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程管理:進程父子關(guān)系國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程管理 Linux中的0號進程,通常稱為swapper進程,是所有進程的祖先。由它執(zhí)行cpu_idle()函數(shù),當(dāng)沒有其他進程處于TASK_RUNNING的時候,調(diào)度程序會選擇0號進程運行 0號進程創(chuàng)建

20、1號進程,通常稱為init進程。它創(chuàng)建和監(jiān)控其他進程的活動國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln進程管理:進程調(diào)度 O(1)調(diào)度器 普通進程動態(tài)優(yōu)先調(diào)度(時間片輪轉(zhuǎn))周期性地修改進程的優(yōu)先級(避免饑餓)根據(jù)進程的counter值,平均睡眠時間長的提升優(yōu)先級 實時進程靜態(tài)優(yōu)先級調(diào)度(FIFO或時間片輪轉(zhuǎn)) RSDL (Rotating Staircase Deadline)調(diào)度器 CFS (Completely Fair Schedule)調(diào)度器 BFS (Brain Fuck Scheduler)調(diào)度器國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):

21、Kernel國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)存管理 與體系結(jié)構(gòu)無關(guān)的三級/四級頁表模型 pgd,頁目錄 pmd,頁中級目錄 pte,頁表項國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)存管理 各進程擁有自己的3G用戶空間 內(nèi)核占用最高的1G作為系統(tǒng)空間,系統(tǒng)空間由所有進程共享國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)存管理 1G內(nèi)核空間的后128MB用作實現(xiàn)非連續(xù)內(nèi)存分配和固定映射的線性地址國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)存管理 實現(xiàn)了基于區(qū)的伙伴系統(tǒng)

22、(Buddy System)能夠快速的滿足各種大小的分配要求,同時減少碎片。 實現(xiàn)了slab分配器,把存儲器區(qū)看作對象,對象按照類型分組成不同的高速緩存。解決請求內(nèi)存小于一頁的問題,改進伙伴系統(tǒng)的效率。 非連續(xù)存儲器區(qū)的管理,允許將連續(xù)的線性地址映射到非連續(xù)的物理頁。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln設(shè)備驅(qū)動 完成與硬件相關(guān)的具體操作細節(jié) 提供一組抽象接口完成和操作系統(tǒng)之間的交互 運行在高特權(quán)級的處理器環(huán)境中 可采用內(nèi)核模塊( Loadable Kernel Module,LKM )的實現(xiàn)方式國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Ker

23、neln內(nèi)核模塊 可以動態(tài)鏈入內(nèi)核的代碼塊 在內(nèi)核空間運行 實際上是一種目標(biāo)對象文件,沒有鏈接,不能獨立運行。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)核模塊的優(yōu)點 將來修改內(nèi)核時,節(jié)省編譯時間; 若需要安裝新的模塊,只要插入 (通過insmod命令) 對應(yīng)的模塊即可; 減少內(nèi)核對系統(tǒng)資源的占用,內(nèi)核可以集中精力做最基本的事情,把一些擴展功能都交由模塊實現(xiàn)。模塊也可以用來嘗試新的內(nèi)核代碼,而不需要每次都創(chuàng)建和重激活內(nèi)核。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln內(nèi)核模塊潛在的問題: 對系統(tǒng)性能和內(nèi)存利用有負(fù)面影響; 裝入的內(nèi)核模塊和

24、其他內(nèi)核部分一樣,具有相同的訪問權(quán)限,因此,差的內(nèi)核模塊會導(dǎo)致系統(tǒng)崩潰; 有些模塊要求利用其他模塊的功能,因此,內(nèi)核要維護模塊之間的依賴性。 內(nèi)核必須能夠在卸載模塊時通知模塊,并且要釋放分配給模塊的內(nèi)存和中斷等資源; 內(nèi)核版本和模塊版本的不兼容也可能導(dǎo)致系統(tǒng)崩潰。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln設(shè)備驅(qū)動(中斷處理) 當(dāng)執(zhí)行中斷處理程序或下半部時,內(nèi)核處于中斷上下文 中斷上下文不同于進程上下文,中斷或異常處理程序執(zhí)行的代碼不是一個進程。它是一個內(nèi)核控制路徑,代表了中斷發(fā)生時正在運行的進程執(zhí)行,作為一個進程的內(nèi)核控制路徑,中斷處理程序比一個進程要“輕”(中斷

25、上下文只包含了很有限的幾個寄存器,建立和終止這個上下文所需要的時間很少) 中斷上下文不可以睡眠,也不能調(diào)用某些函數(shù),具有較為嚴(yán)格的時間限制國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln設(shè)備驅(qū)動 下半部可以通過多種機制實現(xiàn),分別由不同的接口和子系統(tǒng)組成 BH接口靜態(tài)創(chuàng)建 由32 個 Bottom half組成的鏈表 Taskqueue 任務(wù)隊列 機制 軟中斷 Tasklet 工作隊列國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):Kerneln嵌入式Linux內(nèi)核源代碼組織國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):File Systemn嵌入式

26、Linux文件系統(tǒng) 在Linux中沒有盤符的概念,每個文件都以唯一的名稱存儲在系統(tǒng)的目錄中。我們可以把整個目錄系統(tǒng)看成一個樹形結(jié)構(gòu),其中有很多目錄分枝。所有的目錄都會連接到“根”目錄,用單斜線 (/)表示。 Linux繼承了Unix的資源訪問方式,所有的資源訪問控制都是基于文件的。在Linux中各種硬件設(shè)備、端口設(shè)備甚至內(nèi)存都是以文件形式存在的。 通過虛擬文件系統(tǒng)(VFS)在內(nèi)核中提供一個文件系統(tǒng)框架(接口函數(shù)集、管理用的數(shù)據(jù)結(jié)構(gòu)、各種緩存機制)為各種文件系統(tǒng)提供通用接口,即通用文件模型。國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):File Systemn嵌入式Linux文件系統(tǒng)構(gòu)成國家ASIC系統(tǒng)工程技術(shù)研究中心嵌入式Linux系統(tǒng)結(jié)構(gòu):File Systemn嵌入式Linux文件系統(tǒng) VFS由以下對象類型組成 超級塊對象:存放已安裝文件系統(tǒng)信息 索引節(jié)點對象:存放文件信息,每個索引節(jié)點對象的索引節(jié)點號唯一地標(biāo)識了文件系

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論