




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Linux內(nèi)核設(shè)計的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計與實讀書筆記模板01思維導(dǎo)圖讀書筆記目錄分析內(nèi)容摘要精彩摘錄作者介紹目錄0305020406思維導(dǎo)圖藝術(shù)架構(gòu)設(shè)計內(nèi)核運行實現(xiàn)書過程方式進(jìn)程文件小結(jié)設(shè)置設(shè)備創(chuàng)建執(zhí)行第章程序中斷內(nèi)存本書關(guān)鍵字分析思維導(dǎo)圖內(nèi)容摘要內(nèi)容摘要本書的第1版廣獲好評,版權(quán)被中國臺灣和美國兩家大型出版社引進(jìn),第2版根據(jù)讀者的反饋和作者對操作系統(tǒng)的最新研究成果對第1版進(jìn)行了大幅優(yōu)化和重寫,使其內(nèi)容質(zhì)量更上一層樓。本書在眾多關(guān)于Linux內(nèi)核的書中獨樹一幟,它在世界范圍內(nèi)首次提出并闡述了操作系統(tǒng)設(shè)計的核心指導(dǎo)思想——主奴機(jī)制,這是所有操作系統(tǒng)研究者的一筆寶貴財富。它也是一本能真正引導(dǎo)我們較為容易地、極為透徹地理解Linux內(nèi)核的經(jīng)典之作,也可能是當(dāng)前唯一能從本質(zhì)上指引我們?nèi)ピO(shè)計和開發(fā)擁有自主知識產(chǎn)權(quán)的操作系統(tǒng)的著作。本書的最大特點是它的寫作方式和內(nèi)容組織方式與同類書完全不同。它在深刻地分析了傳統(tǒng)講解方法的利弊之后,破舊立新,從認(rèn)知學(xué)的角度開創(chuàng)了一種全新的方式。以操作系統(tǒng)的真實運行過程為主線,結(jié)合真實的內(nèi)核源代碼、300余幅精確的內(nèi)核運行時序圖和具有點睛之妙的文字說明,對操作系統(tǒng)從開機(jī)加電到系統(tǒng)完全準(zhǔn)備就緒,及運行用戶程序的整個過程進(jìn)行了系統(tǒng)而完整地分析,深刻地揭示了其間每一個動作的設(shè)計意圖和實現(xiàn)原理,完美地再現(xiàn)了操作系統(tǒng)設(shè)計者的設(shè)計思路。閱讀本書就如同跟隨著操作系統(tǒng)設(shè)計者一起去思考,我們會在閱讀的過程中發(fā)現(xiàn)Linux內(nèi)核設(shè)計的精妙,會發(fā)現(xiàn)原來處處都“暗藏玄機(jī)”,哪怕是一行很短的代碼。本書在所有細(xì)節(jié)上都力求完美。為了保證知識的準(zhǔn)確性,操作系統(tǒng)運行過程中的每個動作都經(jīng)過了嚴(yán)格的考證;為了讓我們真正理解Linux內(nèi)核的原理,它突破傳統(tǒng),以Linux的真實運行過程為主線進(jìn)行講解;為了做到真正易于理解,創(chuàng)新性地使用了圖解的方式,精心繪制了300余幅分辨率600dpi的時序圖,圖中表現(xiàn)的運行時結(jié)構(gòu)和狀態(tài)與操作系統(tǒng)實際運行時的真實狀態(tài)完全吻合;為了提高閱讀體驗,本書采用了雙色印刷,以便于我們更清楚地觀察每一幅圖中的細(xì)節(jié)。讀書筆記讀書筆記偏底層,細(xì)節(jié)較多,需要一定匯編和硬件基礎(chǔ)才能看懂,不適合操作系統(tǒng)入門。內(nèi)核版本太老,而且硬件平臺也非常老,了解linuxboot加載系統(tǒng)的過程還可以,其他的都已經(jīng)落伍嚴(yán)重,不適用了。個人讀來覺得比較一般,很多地方需要主動翻代碼才能連接起來。2020.29斷斷續(xù)續(xù)花了三周的時間看完,有些原理一知半解,中途又去惡補(bǔ)了匯編語言的知識,因為文章主要書寫方式是原理介紹,代碼描述,圖表描述,內(nèi)核從啟動到0進(jìn)程,1進(jìn)程的執(zhí)行過程有了一些了解,還有進(jìn)程調(diào)度,內(nèi)存管理,磁盤管理等知識,后續(xù)需要再刷的一本書,目前告一段落,去學(xué)習(xí)其他書籍的操作系統(tǒng)知識,再回來閱讀,應(yīng)該有更多的感受。"本書作者為新設(shè)計團(tuán)隊,一直在為設(shè)計一個自主的、有所突破和創(chuàng)新的操作系統(tǒng)而努力。"。作者的配圖嚴(yán)謹(jǐn),結(jié)合linux0.11的代碼,讓linux不再是一層迷霧。第一章和第六章寫得非常好。本書用的是linux0.11的內(nèi)核代碼,相對來說實現(xiàn)的比較粗糙,像進(jìn)程調(diào)度算法,內(nèi)存管理。。精彩摘錄精彩摘錄第一步,啟動BIOS,準(zhǔn)備實模式下的中斷向量表和中斷服務(wù)程序;第二步,從啟動盤加載操作系統(tǒng)程序到內(nèi)存,加載操作系統(tǒng)程序的工作就是利用第一步中準(zhǔn)備的中斷服務(wù)程序?qū)崿F(xiàn)的;第三步,為執(zhí)行32位的main函數(shù)做過渡工作。將CPU硬件邏輯設(shè)計為加電瞬間強(qiáng)行將CS的值置為0xF000、IP的值置為0xFFF0,這樣CS:IP就指向0xFFFF0這個地址位置第一批由BIOS中斷int0x19把第一扇區(qū)bootsect的內(nèi)容加載到內(nèi)存;第二批、第三批在bootsect的指揮下,分別把其后的4個扇區(qū)和隨后的240個扇區(qū)的內(nèi)容加載至內(nèi)存。BIOS在內(nèi)存中建立中斷向量表和中斷服務(wù)程序中斷向量表中有256個中斷向量,每個中斷向量占4字節(jié)BIOS程序在內(nèi)存最開始的位置(0x00000)用1KB的內(nèi)存空間(0x00000~0x003FF)構(gòu)建中斷向量表,在緊挨著它的位置用256字節(jié)的內(nèi)存空間構(gòu)建BIOS數(shù)據(jù)區(qū)(0x00400~0x004FF),并在大約57KB以后的位置(0x0E05B)加載了8KB左右的與中斷向量表相應(yīng)的若干中斷服務(wù)程序。操作系統(tǒng)的設(shè)計者是要全面地、整體地考慮內(nèi)存的規(guī)劃的。目錄分析1.1啟動BIOS,準(zhǔn)備實模式下的中斷向量表和中斷服務(wù)程序1.2加載操作系統(tǒng)內(nèi)核程序并為保護(hù)模式做準(zhǔn)備1.3開始向32位模式轉(zhuǎn)變,為main函數(shù)的調(diào)用做準(zhǔn)備1.4本章小結(jié)第1章從開機(jī)加電到執(zhí)行main函數(shù)之前的過程1.1啟動BIOS,準(zhǔn)備實模式下的中斷向量表和中斷服務(wù)程序1.1.1BIOS的啟動原理1.1.2BIOS在內(nèi)存中加載中斷向量表和中斷服務(wù)程序1.2加載操作系統(tǒng)內(nèi)核程序并為保護(hù)模式做準(zhǔn)備1.2.1加載第一部分內(nèi)核代碼——引導(dǎo)程序(bootsect)1.2.2加載第二部分內(nèi)核代碼——setup1.2.3加載第三部分內(nèi)核代碼——system模塊1.3開始向32位模式轉(zhuǎn)變,為main函數(shù)的調(diào)用做準(zhǔn)備1.3.1關(guān)中斷并將system移動到內(nèi)存地址起始位置0x000001.3.2設(shè)置中斷描述符表和全局描述符表1.3.3打開A20,實現(xiàn)32位尋址1.3.4為保護(hù)模式下執(zhí)行head.s做準(zhǔn)備1.3.5head.s開始執(zhí)行2.1設(shè)置根設(shè)備-4、硬盤2.2規(guī)劃物理內(nèi)存格局,設(shè)置緩沖區(qū)、虛擬盤、主內(nèi)存2.3設(shè)置虛擬盤空間并初始化2.4內(nèi)存管理結(jié)構(gòu)mem_map初始化第2章設(shè)備環(huán)境初始化及激活進(jìn)程02.5異常處理類中斷服務(wù)程序掛接2.6初始化塊設(shè)備請求項結(jié)構(gòu)2.7與建立人機(jī)交互界面相關(guān)的外設(shè)的中斷服務(wù)程序掛接2.8開機(jī)啟動時間設(shè)置2.9初始化進(jìn)程02.10初始化緩沖區(qū)管理結(jié)構(gòu)010302040506第2章設(shè)備環(huán)境初始化及激活進(jìn)程02.11初始化硬盤2.12初始化軟盤2.13開啟中斷2.14進(jìn)程0由0特權(quán)級翻轉(zhuǎn)到3特權(quán)級,成為真正的進(jìn)程2.15本章小結(jié)12345第2章設(shè)備環(huán)境初始化及激活進(jìn)程02.7與建立人機(jī)交互界面相關(guān)的外設(shè)的中斷服務(wù)程序掛接2.7.1對串行口進(jìn)行設(shè)置2.7.2對顯示器進(jìn)行設(shè)置2.7.3對鍵盤進(jìn)行設(shè)置2.9初始化進(jìn)程02.9.1初始化進(jìn)程02.9.2設(shè)置時鐘中斷2.9.3設(shè)置系統(tǒng)調(diào)用總?cè)肟?.1進(jìn)程1的創(chuàng)建3.2內(nèi)核第一次做進(jìn)程調(diào)度3.3輪轉(zhuǎn)到進(jìn)程1執(zhí)行3.4本章小結(jié)第3章進(jìn)程1的創(chuàng)建及執(zhí)行3.1進(jìn)程1的創(chuàng)建3.1.1進(jìn)程0創(chuàng)建進(jìn)程13.1.2在task中為進(jìn)程1申請一個空閑位置并獲取進(jìn)程號3.1.3調(diào)用copy_process函數(shù)3.1.4設(shè)置進(jìn)程1的分頁管理3.1.5進(jìn)程1共享進(jìn)程0的文件3.1.6設(shè)置進(jìn)程1在GDT中的表項3.1.7進(jìn)程1處于就緒態(tài)3.3輪轉(zhuǎn)到進(jìn)程1執(zhí)行3.3.1進(jìn)程1為安裝硬盤文件系統(tǒng)做準(zhǔn)備3.3.2進(jìn)程1格式化虛擬盤并更換根設(shè)備為虛擬盤3.3.3進(jìn)程1在根設(shè)備上加載根文件系統(tǒng)4.1打開終端設(shè)備文件及復(fù)制文件句柄4.3加載shell程序4.2進(jìn)程1創(chuàng)建進(jìn)程2并切換到進(jìn)程2執(zhí)行第4章進(jìn)程2的創(chuàng)建及執(zhí)行4.5本章小結(jié)4.4系統(tǒng)實現(xiàn)怠速第4章進(jìn)程2的創(chuàng)建及執(zhí)行4.1打開終端設(shè)備文件及復(fù)制文件句柄4.1.1打開標(biāo)準(zhǔn)輸入設(shè)備文件4.1.2打開標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯誤輸出設(shè)備文件4.3加載shell程序4.3.1關(guān)閉標(biāo)準(zhǔn)輸入設(shè)備文件,打開rc文件4.3.2檢測shell文件4.3.3為shell程序的執(zhí)行做準(zhǔn)備4.3.4執(zhí)行shell程序4.4系統(tǒng)實現(xiàn)怠速4.4.1創(chuàng)建update進(jìn)程4.4.2切換到shell進(jìn)程執(zhí)行4.4.3重建shell5.1安裝文件系統(tǒng)5.3讀文件5.2打開文件第5章文件操作5.4新建文件5.5寫文件5.6修改文件5.7關(guān)閉文件5.8刪除文件5.9本章小結(jié)010302040506第5章文件操作5.1安裝文件系統(tǒng)5.1.1獲取外設(shè)的超級塊5.1.2確定根文件系統(tǒng)的掛接點5.1.3將超級塊與根文件系統(tǒng)掛接5.2打開文件5.2.1將進(jìn)程的*filp與file_table掛接5.2.2獲取文件i節(jié)點5.2.3將文件i節(jié)點與file_table掛接5.3讀文件5.3.1確定數(shù)據(jù)塊在外設(shè)中的位置5.3.2將數(shù)據(jù)塊讀入緩沖塊5.3.3將緩沖塊中的數(shù)據(jù)復(fù)制到進(jìn)程空間5.4新建文件5.4.1查找文件5.4.2新建文件i節(jié)點5.4.3新建文件目錄項5.5寫文件5.5.1確定文件的寫入位置5.5.2申請緩沖塊5.5.3將指定的數(shù)據(jù)從進(jìn)程空間復(fù)制到緩沖塊5.5.4數(shù)據(jù)同步到外設(shè)的兩種方法5.6修改文件5.6.1重定位文件的當(dāng)前操作指針5.6.2修改文件5.7關(guān)閉文件5.7.1當(dāng)前進(jìn)程的filp與file_table脫鉤5.7.2文件i節(jié)點被釋放5.8刪除文件5.8.1對文件的刪除條件進(jìn)行檢查5.8.2進(jìn)行具體的刪除工作6.1線性地址的保護(hù)6.3一個用戶進(jìn)程從創(chuàng)建到退出的完整過程6.2分頁第6章用戶進(jìn)程與內(nèi)存管理6.5本章小結(jié)6.4多個用戶進(jìn)程同時運行第6章用戶進(jìn)程與內(nèi)存管理6.1線性地址的保護(hù)6.1.1進(jìn)程線性地址空間的格局6.1.2段基址、段限長、GDT、LDT、特權(quán)級6.2分頁6.2.1線性地址映射到物理地址6.2.2進(jìn)程執(zhí)行時分頁6.2.3進(jìn)程共享頁面6.2.4內(nèi)核分頁6.3一個用戶進(jìn)程從創(chuàng)建到退出的完整過程6.3.1創(chuàng)建str1進(jìn)程6.3.2str1進(jìn)程加載的準(zhǔn)備工作6.3.3str1進(jìn)程的運行、加載6.3.4str1進(jìn)程的退出6.4多個用戶進(jìn)程同時運行6.4.1進(jìn)程調(diào)度6.4.2頁寫保護(hù)7.1緩沖區(qū)的作用7.2緩沖區(qū)的總體結(jié)構(gòu)7.3b_dev、b_blocknr及request的作用7.4uptodate和dirt的作用7.5count、lock、wait、request的作用12345第7章緩沖區(qū)和多進(jìn)程操作文件7.6實例1:關(guān)于緩沖塊的進(jìn)程等待隊列7.7總體來看緩沖塊和請求項7.8實例2:多進(jìn)程操作文件的綜合實例7.9本章小結(jié)第7章緩沖區(qū)和多進(jìn)程操作文件7.3b_dev、b_blocknr及request的作用7.3.1保證進(jìn)程與緩沖塊數(shù)據(jù)交互的正確性7.3.2讓數(shù)據(jù)在緩沖區(qū)中停留的時間盡可能長7.4uptodate和dirt的作用7.4.1b_uptodate的作用7.4.2b_dirt的作用7.4.3i_uptodate、i_dirt和s_dirt的作用7.5count、lock、wait、request的作用7.5.1b_count的作用7.5.2i_count的作用7.5.3b_lock、*b_wait的作用7.5.4i_lock、i_wait、s_lock、*s_wait的作用7.5.5補(bǔ)充request的作用8.1管道機(jī)制8.3本章小結(jié)8.2信號機(jī)制第8章進(jìn)程間通信8.1管道機(jī)制8.1.1管道的創(chuàng)建過程8.1.2管道的操作8.2信號機(jī)制8.2.1信號的使用8.2.2信號對進(jìn)程執(zhí)行狀態(tài)的影響9.1運行一個最簡單的程序,看操作系統(tǒng)為程序運行做了哪些工作9.2操作系統(tǒng)的設(shè)計指導(dǎo)思想——主奴機(jī)制9.3實現(xiàn)主奴機(jī)制的三種關(guān)鍵技術(shù)9.4建立主奴機(jī)制的決定性因素——先機(jī)9.5軟件和硬件的關(guān)系9.6父子進(jìn)程共享頁面010302040506第9章操作系統(tǒng)的設(shè)計指導(dǎo)思想9.7操作系統(tǒng)的全局中斷與進(jìn)程的局部中斷——信號“新設(shè)計團(tuán)隊”簡介
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨產(chǎn)呼吸技巧專項訓(xùn)練
- 2025運城師范高等??茖W(xué)校輔導(dǎo)員考試試題及答案
- 2025西安歐亞學(xué)院輔導(dǎo)員考試試題及答案
- 2025遼寧民族師范高等??茖W(xué)校輔導(dǎo)員考試試題及答案
- 2025蘇州城市學(xué)院輔導(dǎo)員考試試題及答案
- 2025福建衛(wèi)生職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 四川綿陽中山長虹電器有限公司招聘筆試題庫2025
- 室內(nèi)設(shè)計概論
- 數(shù)鴨子大班音樂活動
- 橋梁工程師考試試卷及答案2025年
- 慈善專項捐贈協(xié)議書
- 2025年高考數(shù)學(xué)二輪熱點題型歸納與演練(上海專用)專題06數(shù)列(九大題型)(原卷版+解析)
- 2025中國鐵路南寧局集團(tuán)有限公司招聘高校畢業(yè)生32人四(本科及以上學(xué)歷)筆試參考題庫附帶答案詳解
- 國開政治經(jīng)濟(jì)學(xué)形考任務(wù)1-4試題及答案
- 第1章 整式的乘法(單元測試)(原卷)2024-2025學(xué)年湘教版七年級數(shù)學(xué)下冊
- 2025貴州中考:歷史必考知識點
- 《高中數(shù)學(xué)知識競賽》課件
- 2025-2030年中國城市燃?xì)庑袠I(yè)發(fā)展分析及發(fā)展戰(zhàn)略研究報告
- 人民醫(yī)院關(guān)于印發(fā)對口支援工作管理辦法(暫行)
- 施工現(xiàn)場環(huán)境保護(hù)措施試題及答案
- 2025年下半年浙江嘉興市水務(wù)投資集團(tuán)限公司招聘92人易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論