資料介紹
Linux 操作系統(tǒng)是類 UNIX 系統(tǒng)中的一員,并且在操作系統(tǒng)發(fā)展過(guò)程中起著重要的作用。Linux 之所以能夠發(fā)展得如此迅速,最主要的原因是其具有開(kāi)源的特點(diǎn),任何人都可以獲得源代碼并進(jìn)行研究。本書主要對(duì) Linux 內(nèi)核進(jìn)行深度的剖析,并詳細(xì)討論內(nèi)核的主要功能及其內(nèi)部結(jié)構(gòu),同時(shí)給出了內(nèi)核的實(shí)現(xiàn)。本章將簡(jiǎn)要介紹內(nèi)核所涉及的基本知識(shí),此外,對(duì)內(nèi)核所涉及的各領(lǐng)域進(jìn)行簡(jiǎn)單的闡述。 1.1 Linux 的內(nèi)存管理機(jī)制操作系統(tǒng)的內(nèi)存管理分為頁(yè)式管理和段式管理兩種管理機(jī)制,對(duì)于段式內(nèi)存管理機(jī)制,是將指令中結(jié)合段寄存器使用的 32 位邏輯地址映射為 32 位的物理地址。隨著操作系統(tǒng)的發(fā)展,提出了保護(hù)模式和虛擬內(nèi)存管理的概念,Intel 在分段機(jī)制的基礎(chǔ)上實(shí)現(xiàn)了包含模式和虛擬內(nèi)存管理,后來(lái)出現(xiàn)了分頁(yè)機(jī)制并逐漸成為內(nèi)存管理機(jī)制的主流。Intel 出于兼容性的考慮,保留了段式內(nèi)存管理機(jī)制,段寄存器用做選擇子,段基地址及其他的某些屬性存放在內(nèi)存中,稱為段描述符表。段式內(nèi)存管理機(jī)制的靈活性和效率都比較差,這樣就需要采用頁(yè)式管理機(jī)制。頁(yè)式管理就是通過(guò)分頁(yè)單元將線性地址轉(zhuǎn)換為物理地址,其中一個(gè)重要的任務(wù)就是把請(qǐng)求的訪問(wèn)類型與線性地址的訪問(wèn)權(quán)限進(jìn)行對(duì)比,如果該內(nèi)存訪問(wèn)無(wú)效,則產(chǎn)生一個(gè)缺頁(yè)的異常。內(nèi)核把線性地址分為 4KB 大小的頁(yè)面,其中的每個(gè)頁(yè)面都可以映射到物理地址空間的任意 4KB 大小的地址。在該映射過(guò)程中,連續(xù)的線性地址映射到物理地址空間中不一定是連續(xù)的,分頁(yè)單元把所有的 RAM 分成固定長(zhǎng)度的物理頁(yè),每一個(gè)物理頁(yè)(Page Frame)包含一個(gè)頁(yè)。把線性地址映射到物理地址的數(shù)據(jù)結(jié)構(gòu)稱為頁(yè)表,該頁(yè)表存放在主存中,并在啟用分頁(yè)單元之前由內(nèi)核對(duì)頁(yè)表進(jìn)行初始化。由于引入了頁(yè)式管理,因此 32 位的線性地址分為 3 個(gè)區(qū)域,分別為 Directory(目錄)、Table(頁(yè)表)及 Offset(偏移)。目錄是線性地址的最高 10 位,用做頁(yè)面表目錄的下標(biāo),指向一個(gè)頁(yè)面表;頁(yè)表是線性地址的中間 10 位,用做具體頁(yè)面表中的下標(biāo),指向具體的物理頁(yè)面;偏移則是線性地址的最低 12 位,用于指向具體物理頁(yè)面內(nèi)的偏移量。對(duì)于每一個(gè)活動(dòng)進(jìn)程都有一個(gè)分配的頁(yè)目錄,正在使用的頁(yè)目錄的物理地址存放在 cr3 控制寄存器中。線性地址的 Directory 字段決定了頁(yè)目錄中的目錄項(xiàng),目錄項(xiàng)指向某個(gè)頁(yè)表,線性地址的 Table 字段則決定了頁(yè)表中的頁(yè)表項(xiàng),Offset 字段決定頁(yè)框內(nèi)的偏移量,由于該字段包含了 12 位,因此每頁(yè)包含了 4 096 字節(jié)的數(shù)據(jù)。頁(yè)式映射的示意圖如圖 1-1 所示。
- 【嵌入式】構(gòu)建嵌入式Linux系統(tǒng)(uboot、內(nèi)核、文件系統(tǒng))
- Linux內(nèi)核文件Cache機(jī)制
- 嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試
- Linux內(nèi)核開(kāi)發(fā)框架學(xué)習(xí)資料匯總 24次下載
- Linux環(huán)境編程:從應(yīng)用到內(nèi)核 18次下載
- Linux_Kernel_Developments內(nèi)核開(kāi)發(fā) 37次下載
- Linux內(nèi)核的編譯與運(yùn)行 16次下載
- Linux內(nèi)核配置的網(wǎng)絡(luò)資料說(shuō)明 14次下載
- Linux內(nèi)核GPIO操作函數(shù)的詳解分析 28次下載
- 動(dòng)手編譯Linux內(nèi)核的教程免費(fèi)下載 14次下載
- 如何使用Linux內(nèi)核實(shí)現(xiàn)USB驅(qū)動(dòng)程序框架 20次下載
- 嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試教程 21次下載
- 如何才能編譯Linux的內(nèi)核 8次下載
- linux內(nèi)核入門教材之linux內(nèi)核設(shè)計(jì)與實(shí)現(xiàn)第二版中文版免費(fèi)下載 0次下載
- Linux的內(nèi)核教程 0次下載
- Linux內(nèi)核中的頁(yè)面分配機(jī)制 323次閱讀
- 使用 PREEMPT_RT 在 Ubuntu 中構(gòu)建實(shí)時(shí) Linux 內(nèi)核 2658次閱讀
- 獲取Linux內(nèi)核源碼的方法 694次閱讀
- Linux內(nèi)核自解壓過(guò)程分析 955次閱讀
- AOSP Android11系統(tǒng)源碼和內(nèi)核源碼簡(jiǎn)析 5630次閱讀
- Linux系統(tǒng)內(nèi)核與Linux發(fā)行套件的區(qū)別 1212次閱讀
- Linux內(nèi)核到底是什么應(yīng)該如何學(xué)習(xí) 1925次閱讀
- Linux:QEMU調(diào)試內(nèi)核的步驟 3172次閱讀
- 深入linux內(nèi)核架構(gòu) Linux內(nèi)核架構(gòu)分析解讀 3806次閱讀
- Linux內(nèi)核中有哪些鎖 3467次閱讀
- Linux 5.4.1內(nèi)核已經(jīng)發(fā)布你期待使用嗎 3310次閱讀
- Linux內(nèi)核與Android的關(guān)系 4606次閱讀
- macOS和Linux的內(nèi)核之間的區(qū)別詳解 5690次閱讀
- Linux內(nèi)核地址映射模型與Linux內(nèi)核高端內(nèi)存詳解 3474次閱讀
- Linux內(nèi)核開(kāi)發(fā)工具介紹 4720次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論