




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式操作系統讀書筆記模板01思維導圖目錄分析精彩摘錄內容摘要讀書筆記作者介紹目錄0305020406思維導圖嵌入式操作系統作者嵌入式操作系統書實現工程師實現線程概述系統第章對象設備機制核心方式管理開發程序本書關鍵字分析思維導圖內容摘要內容摘要本書是《自己動手寫嵌入式操作系統》的全面升級版,作者對自己親自在PC上開發嵌入式操作系統的“HelloChina”進行的全面的升級和改進,書中詳細地敘述自己動手寫嵌入式操作系統所需的各方面知識,如加載和初始化、Shell、線程的實現、內存管理機制、互斥和同步機制及中斷和定時機制的實現,以及設備驅動程序管理框架和應用編程接口等。本書中的每一個字都是作者辛勤勞動的結晶,本書所講到的嵌入式操作系統“HelloChina”更是作者親自實踐的成果,因此本書具有極高的實用性,對于嵌入式軟件開發工程師、應用軟件開發工程師均有很高的參考價值,對于大中院校的學生學習和理解操作系統及計算機原理也會有許多啟發,對于系統軟件愛好者更是一本不可多得的好書,因為它會使您得到一個完整而細致的實踐過程。目錄分析1.1嵌入式系統概述1.3操作系統的基本概念1.2嵌入式操作系統概述第1章概述1.5實例:一個簡單的IP路由器的實現1.4HelloChina概述第1章概述1.2嵌入式操作系統概述1.2.1嵌入式操作系統的特點1.2.2嵌入式操作系統與通用操作系統的區別1.2.3嵌入式實時操作系統1.3操作系統的基本概念1.3.1微內核與大內核1.3.2進程、線程與任務1.3.3可搶占與不可搶占1.3.4同步機制1.4HelloChina概述1.4.1HelloChina的功能特點1.4.2HelloChina的開發環境1.4.3面向對象思想的模擬1.4.4對象機制1.4.5HelloChinaV1.0版本的源文件構成1.4.6HelloChinaV1.5版本的源文件構成1.4.7HelloChina的使用1.5實例:一個簡單的IP路由器的實現1.5.1概述1.5.2路由器的硬件結構1.5.3路由器的軟件功能1.5.4各任務的實現2.2HelloChina在PC上的啟動2.1常見嵌入式系統的啟動第2章HelloChina的加載和初始化2.1常見嵌入式系統的啟動2.1.1典型嵌入式系統內存映射布局2.1.2嵌入式系統的啟動概述2.1.3常見嵌入式操作系統的加載方式2.1.4嵌入式系統軟件的寫入2.2HelloChina在PC上的啟動2.2.1PC啟動過程概述2.2.2HelloChina的引導過程2.2.3實模式下的初始化2.2.4保護模式下的初始化2.2.5操作系統核心功能的初始化3.1Shell的啟動和初始化3.2Shell的消息處理過程3.3內部命令的處理過程3.4外部命令的處理過程第3章HelloChina的Shell4.1線程概述4.3V1.5版本中核心線程的實現4.2HelloChinaV1.0版本的線程實現第4章HelloChina的線程4.5V1.5核心線程對象(KernelThreadObject)的實現4.4V1.5核心線程管理器(KernelThreadManager)的實現第4章HelloChina的線程4.1線程概述4.1.1進程、線程和任務4.2HelloChinaV1.0版本的線程實現4.2.1核心線程管理對象4.2.2線程的狀態及其切換4.2.3核心線程對象4.2.4線程的上下文4.2.5線程的優先級與調度4.2.6線程的創建4.2.7線程的結束4.2.8線程的消息隊列4.2.9線程的切換——中斷上下文4.3V1.5版本中核心線程的實現4.3.1概述4.3.2核心線程調度時機4.4V1.5核心線程管理器(KernelThreadManager)的實現4.4.1V1.5核心線程隊列的實現4.5V1.5核心線程對象(KernelThreadObject)的實現4.5.1V1.5版本中硬件上下文的保存4.5.2線程的調度——中斷上下文4.5.3線程的調度——程序上下文4.5.4核心線程的創建和初始化4.5.5中斷處理程序結束后的線程調度5.1內存管理機制概述5.2IA32CPU內存管理機制5.3PowerPCCPU的內存管理機制5.4HelloChina內存管理模型第5章HelloChina的內存管理機制5.2IA32CPU內存管理機制5.2.1IA32CPU內存管理機制概述5.2.2幾個重要的概念5.2.3分段機制的應用5.2.4分頁機制的應用5.4HelloChina內存管理模型5.4.1HelloChina的內存管理模型5.4.2HelloChina的內存布局5.4.3核心內存池的管理5.4.4頁框管理對象(PageFrameManager)5.4.5頁面索引對象(PageIndexManager)5.4.6虛擬內存管理對象(VirtualMemoryManager)6.2堆的功能需求定義6.1Heap概述第6章線程本地堆的實現6.4堆的詳細實現6.3堆的實現概要第6章線程本地堆的實現6.4堆的詳細實現6.4.1堆的創建6.4.2堆的銷毀6.4.3堆內存申請6.4.4堆內存釋放6.4.5malloc函數和free函數的實現7.1互斥和同步概述7.2關鍵區段概述7.3關鍵區段產生的原因7.4單CPU下關鍵區段的實現7.5多CPU下關鍵區段的實現7.6PowerPC下關鍵區段的實現010302040506第7章互斥和同步機制的實現7.7關鍵區段使用注意事項7.8Semaphore概述7.9Semaphore對象的定義7.10Semaphore對象的實現第7章互斥和同步機制的實現7.3關鍵區段產生的原因7.3.1多個線程之間的競爭7.3.2中斷服務程序與線程之間的競爭7.3.3多個CPU之間的競爭7.5多CPU下關鍵區段的實現7.5.1多CPU環境下的實現方式7.5.2HelloChina的未來實現7.6PowerPC下關鍵區段的實現7.6.1PowerPC提供的互斥訪問機制7.6.2多CPU環境下的互斥機制7.10Semaphore對象的實現7.10.1Initialize和Uninitialize實現7.10.2WaitForThisObject的實現7.10.3WaitForThisObjectEx的實現7.10.4ReleaseSemaphore的實現8.1中斷和異常概述8.2硬件相關部分處理8.3硬件無關部分處理8.4對外服務接口8.5幾個注意事項12345第8章中斷和定時處理機制的實現8.6PowerPC的異常處理機制8.7定時器概述8.8設置定時器操作8.9定時器超時處理第8章中斷和定時處理機制的實現8.10定時器取消處理8.12定時器注意事項8.11定時器復位第8章中斷和定時處理機制的實現8.2硬件相關部分處理8.2.1IA32中斷處理過程8.2.2IDT初始化8.3硬件無關部分處理8.3.1系統對象和中斷對象8.3.2中斷調度過程8.3.3默認中斷處理函數8.6PowerPC的異常處理機制8.6.1PowerPC異常處理機制概述8.6.2PowerPC異常的分類8.6.3異常的處理和返回8.7定時器概述8.7.1SetTimer函數的調用8.7.2CancelTimer函數的調用8.7.3ResetTimer函數的調用9.1系統總線概述9.3驅動程序接口9.2系統資源管理第9章系統總線管理9.5PCI總線驅動程序的實現9.4PCI總線驅動程序概述第9章系統總線管理9.1系統總線概述9.1.1系統總線9.1.2總線管理模型9.1.3設備標識符9.2系統資源管理9.2.1資源描述對象9.2.2IO端口資源管理9.3驅動程序接口9.3.1GetResource9.3.2GetDevice9.3.3CheckPortRegion9.3.4ReservePortRegion9.3.5ReleasePortRegion9.3.6AppendDevice9.3.7DeleteDevice9.4PCI總線驅動程序概述9.4.1PCI總線概述9.4.2PCI設備的配置空間9.4.3配置空間關鍵字段的說明9.4.4PCI配置空間的讀取與設置9.5PCI總線驅動程序的實現9.5.1探測PCI總線是否存在9.5.2對普通PCI設備進行枚舉9.5.3配置PCI橋接設備10.1設備驅動程序管理框架10.3設備驅動程序框架10.2文件系統的實現第10章驅動程序管理框架10.5設備的中斷管理10.4設備對象第10章驅動程序管理框架10.1設備驅動程序管理框架10.1.1概述10.1.2設備管理器和IO管理器10.1.3HelloChina的設備管理框架10.1.4I/O管理器(IOManager)10.2文件系統的實現10.2.1文件系統與文件的命名10.2.2文件系統驅動程序10.2.3打開一個文件的操作流程10.3設備驅動程序框架10.3.1設備請求控制塊(DRCB)10.3.2設備驅動程序的文件組織結構10.3.3設備驅動程序的功能實現10.3.4設備驅動程序對象10.3.5DriverEntry的實現10.3.6UnloadEntry的實現10.4設備對象10.4.1設備對象的定義10.4.2設備對象的命名10.4.3設備對象的類型10.4.4設備對象的設備擴展10.4.5設備的打開操作10.4.6設備命名策略11.1CPU占用率概述11.3進程和多CPU情況下的考慮11.2核心線程CPU占用率統計的實現第11章核心線程CPU占用率統計功能11.2核心線程CPU占用率統計的實現11.2.1統計周期和統計算法11.2.2核心線程統計對象11.2.3CPU統計對象11.2.4CPU占用率統計線程11.3進程和多CPU情況下的考慮11.3.1進程的用戶態和核心態執行時間統計11.3.2多CPU環境下的考慮12.1Hook概述12.3線程Hook的應用12.2線程Hook的實現第12章系統核心HOOK機制的實現12.2線程Hook的實現12.2.1線程Hook的實現概述12.2.2線程調度前后的回調機制12.2.3線程創建和結束的回調機制12.2.4CallThreadHook例程的實現13.1串行通信接口概述13.2串行通信編程方式13.3串口交互程序的實現13.4串行通信編程總結第13章串口交互程序及其實現13.2串行通信編程方式13.2.1串口初始化13.2.2數據發送13.2.3數據接收13.3串口交互程序的實現13.3.1串口交互程序的使用13.3.2輪詢模式的串口交互程序實現13.3.3中斷模式的串口交互程序實現13.4串行通信編程總結13.4.1輪詢方式和中斷方式編程的對比13.4.2串口交互程序的其他實現方式14.1核心線程操作接口14.2內存操作接口14.3定時器操作接口14.4核心線程同步操作接口14.5系統中斷操作接口14.6輸入/輸出(IO)接口010302040506第14章應用編程接口與示例14.7設備驅動程序接口14.9PC服務接口14.8相關輔助功能接口第14章應用編程接口與示例14.1核心線程操作接口14.1.1CreateKernelThread14.1.2DestroyKernelThread14.1.3SendMessage14.1.4GetMessage14.1.5SetKernelThreadPriority14.1.6GetKernelThreadPriority14.1.7GetKernelThreadID14.2內存操作接口14.2.1KMemAlloc14.2.2KMemFree14.2.3VirtualAlloc14.2.4VirtualFree14.2.5malloc14.2.6free14.2.7CreateHeap14.2.8DestroyHeap14.2.9HeapAlloc14.3定時器操作接口14.3.1SetTimer14.3.2CancelTimer14.4核心線程同步操作接口14.4.1Sleep14.4.2CreateMutex14.4.3ReleaseMutex14.4.4DestroyMutex14.4.5CreateEvent14.4.6SetEvent14.4.7ResetEvent14.4.8DestroyEvent14.4.9WaitForThisObject14.5系統中斷操作接口14.5.1ConnectInterrupt14.5.2DisconnectInterrupt14.6輸入/輸出(IO)接口14.6.1CreateFile14.6.2ReadFile14.6.3WriteFile14.6.4IoControl14.6.5SetFilePointer14.6.6FlushFile14.6.7CloseFile14.7設備驅動程序接口14.7.1CreateDevice14.7.2DestroyDevice14.8相關輔助功能接口14.8.1StrLen14.8.2StrCpy14.8.3MemZero14.8.4MemCpy14.9PC服務接口14.9.1PrintLine14.9.2PrintChar14.9.3ChangeLine14.9.4GotoHome15.2在HelloChina基礎上開發一個簡單應用程序15.1HelloChina的開發方法概述第15章HelloChina的應用開發方法A.1總體概述A.2WindowsRAD開發工具概述A.3RAD開發工具開發OS注意事項A.4使用MicrosoftVisualC++搭建一個OS開發環境A.5簡單OS開發示例A.6后續開發建議010302040506附錄A如何搭建一個基于Windows的操作系統開發平臺A.2WindowsRAD開發工具概述A.2.1常用的WindowsRADA.2.2WindowsRAD工具不能直接用于OS開發的原因A.3RAD開發工具開發OS注意事項A.3.1避免調用任何Windows操作系統提供的系統調用A.3.2避免任何C運行期函數調用A.3.3避免使用C或C++提供的異常處理機制A.4使用MicrosoftVisualC++搭建一個OS開發環境A.4.1操作系統開發中常用的MicrosoftVisualC++特性A.4.2如何搭建一個OS映像文件開發環境A.5簡單OS開發示例A.5.1創建一個名字為OSIMG_1的DLL工程A.5.2添加一個源程序文件,并編輯實現代碼A.5.3設置編譯連接選項,并進行編譯連接A.5.4處理目標文件A.5.5創建引導磁盤A.6后續開發建議A.6.1開發一個單線程的交互式系統A.6.2開發一個多線程的實時操作系統A.6.3開發一個多任務的輕量操作系統A.6.4開發一個絡應用終端B.1概述B.2執行時間計算方法B.3實現方式B.4HelloChina系統時鐘中斷測試結果附錄B一種代碼執行時間測量方法的實現B.3實現方式B.3.1對外接口B.3.2IA32硬件平臺下的實現B.3.3誤差分析C.1概述C.2加法C.3減法C.4比較附錄C64bit整型數據類型的實現C.6后續支持C.5移位附錄C64bit整型數據類型的實現C.2加法C.2.1__U64的加法C.2.2__I64的加法C.3減法C.3.1__U64的減法C.3.2__I64的減法C.4比較C.4.1__U64的比較C.4.2__I64的比較C.5移位C.5.1__U64的移位C.5.2__I64的移位D.1概述D.3一個讀取PCI設備配置空間的例子D.2使用方式附錄DIOCTRL控制程序使用介紹及實例D.2使用方式D.2.1InputbD.2.2Inputw
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國數碼經絡治療儀行業發展機遇與投資方向預測研究報告
- 留守兒童與義務教育論文
- 湖北省“黃鄂鄂”2025年高三下學期4月聯考試題 生物 含答案
- 獸醫病理解剖試題含答案
- 池州市重點中學2025年高考英語二模試卷含答案
- 遼寧省錦州市第四中學2025屆高三一診考試英語試卷含解析
- 職業技術學院護理五年制專業人才培養方案
- 2025年吉林省長春市中考二模歷史試題(原卷版+解析版)
- 河南省名校大聯考2024-2025學年高一下學期4月期中數學試題(原卷版+解析版)
- 糖果與巧克力食品安全與質量控制方法實踐案例分析實踐案例考核試卷
- 眼睛的結構和視覺系統
- 陜09J01 建筑用料及做法圖集
- 2024年醫療信息安全培訓資料
- 心電監護技術
- 餐廳銷售技巧培訓
- 電機與電氣控制技術課程說課
- 國開《Windows網絡操作系統管理》形考任務2-配置本地帳戶與活動目錄域服務實訓
- GA/T 2087-2023法庭科學玻璃破碎痕跡檢驗技術規程
- XX醫院高警示藥品(高危藥品)目錄
- 鎖邊機安全操作規程
- 特種設備日管控、周排查、月調度模板
評論
0/150
提交評論