嵌入式操作系統(tǒng)設計與實現(xiàn)

出版時間:2008-5  出版社:電子工業(yè)出版社  作者:藍楓葉  頁數(shù):535  
Tag標簽:無  

內(nèi)容概要

  本書是《自己動手寫嵌入式操作系統(tǒng)》的全面升級版,作者對自己親自在PC上開發(fā)的嵌入式操作系統(tǒng)的“Hello China”進行全面的升級和改進,書中詳細地敘述自己動手寫嵌入式操作系統(tǒng)所需的各方面知識,如加載和初始化、Shell、線程的實現(xiàn)、內(nèi)存管理機制、互斥和同步機制及中斷和定時機制的實現(xiàn),以及設備驅(qū)動程序管理框架和應用編程接口等。  本書中的每一個字都是作者辛勤勞動的結晶,本書所講到的嵌入式操作系統(tǒng)“Hello China”更是作者親自實踐的成果,因此本書具有極高的實用性,對于嵌入式軟件開發(fā)工程師、應用軟件開發(fā)工程師均有很高的參考價值,對于大中院校的學生學習和理解操作系統(tǒng)及計算機原理也會有許多啟發(fā),對于系統(tǒng)軟件愛好者更是一本不可多得的好書,因為它會使您得到一個完整而細致的實踐過程。

書籍目錄

第1章 概述1.1 嵌入式系統(tǒng)概述1.2 嵌入式操作系統(tǒng)概述1.2.1 嵌入式操作系統(tǒng)的特點1.2.2 嵌入式操作系統(tǒng)與通用操作系統(tǒng)的區(qū)別1.2.3 嵌入式實時操作系統(tǒng)1.3 操作系統(tǒng)的基本概念1.3.1 微內(nèi)核與大內(nèi)核1.3.2 進程、線程與任務1.3.3 可搶占與不可搶占1.3.4 同步機制1.4 Hello China概述1.4.1 Hello China的功能特點1.4.2 Hello China的開發(fā)環(huán)境1.4.3 面向?qū)ο笏枷氲哪M1.4.4 對象機制1.4.5 Hello China V1.0版本的源文件構成1.4.6 Hello China V1.5版本的源文件構成1.4.7 Hello China的使用1.5 實例:一個簡單的IP路由器的實現(xiàn)1.5.1 概述1.5.2 路由器的硬件結構1.5.3 路由器的軟件功能1.5.4 各任務的實現(xiàn)第2章 Hello China的加載和初始化2.1 常見嵌入式系統(tǒng)的啟動2.1.1 典型嵌入式系統(tǒng)內(nèi)存映射布局2.1.2 嵌入式系統(tǒng)的啟動概述2.1.3 常見嵌入式操作系統(tǒng)的加載方式2.1.4 嵌入式系統(tǒng)軟件的寫入2.2 Hello China在PC上的啟動2.2.1 PC啟動過程概述2.2.2 Hello China的引導過程2.2.3 實地址模式下的初始化2.2.4 保護模式下的初始化2.2.5 操作系統(tǒng)核心功能的初始化第3章 Hello China的Shell3.1 Shell的啟動和初始化3.2 Shell的消息處理過程3.3 內(nèi)部命令的處理過程3.4 外部命令的處理過程第4章 Hello China的線程4.1 線程概述4.1.1 進程、線程和任務4.2 Hello China V1.0版本的線程實現(xiàn)4.2.1 核心線程管理對象4.2.2 線程的狀態(tài)及其切換4.2.3 核心線程對象4.2.4 線程的上下文4.2.5 線程的優(yōu)先級與調(diào)度4.2.6 線程的創(chuàng)建4.2.7 線程的結束4.2.8 線程的消息隊列4.2.9 線程的切換——中斷上下文4.2.10 線程的切換——系統(tǒng)調(diào)用上下文4.2.11 上下文保存和切換的底層函數(shù)4.2.12 線程的睡眠與喚醒4.3 V1.5版本中核心線程的實現(xiàn)4.3.1 概述4.3.2 核心線程調(diào)度時機4.4 V1.5 核心線程管理器(Kernel ThreadManager)的實現(xiàn)4.4.1 V1.5核心線程隊列的實現(xiàn)4.5 V1.5核心線程對象(Kernel ThreadObject)的實現(xiàn)4.5.1 V1.5版本中硬件上下文的保存4.5.2 線程的調(diào)度——中斷上下文4.5.3 線程的調(diào)度——程序上下文4.5.4 核心線程的創(chuàng)建和初始化4.5.5 中斷處理程序結束后的線程調(diào)度第5章 Hello China的內(nèi)存管理機制5.1 內(nèi)存管理機制概述5.2 IA32 CPU內(nèi)存管理機制5.2.1 IA32 CPU內(nèi)存管理機制概述5.2.2 幾個重要的概念5.2.3 分段機制的應用5.2.4 分頁機制的應用5.3 Power PC CPU的內(nèi)存管理機制5.4 Hello China內(nèi)存管理模型5.4.1 Hello China的內(nèi)存管理模型5.4.2 Hello China的內(nèi)存布局5.4.3 核心內(nèi)存池的管理5.4.4 頁框管理對象(PageFrame Manager)5.4.5 頁面索引對象(Pagelndex Manager)5.4.6 虛擬內(nèi)存管理對象(Virtual MemoryManager)第6章 線程本地堆的實現(xiàn)6.1 Heap概述6.2 堆的功能需求定義6.3 堆的實現(xiàn)概要6.4 堆的詳細實現(xiàn)6.4.1 堆的創(chuàng)建6.4.2 堆的銷毀6.4.3 堆內(nèi)存申請6.4.4 堆內(nèi)存釋放6.4.5 malloc函數(shù)和free函數(shù)的實現(xiàn)第7章 互斥和同步機制的實現(xiàn)7.1 互斥和同步概述7.2 關鍵區(qū)段概述7.3 關鍵區(qū)段產(chǎn)生的原因7.3.1 多個線程之間的競爭7.3.2 中斷服務程序與線程之間的競爭7.3.3 多個CPU之間的競爭7.4 單CPU下關鍵區(qū)段的實現(xiàn)7.5 多CPU下關鍵區(qū)段的實現(xiàn)7.5.1 多CPU環(huán)境下的實現(xiàn)方式7.5.2 Hello China的未來實現(xiàn)7.6 Power PC下關鍵區(qū)段的實現(xiàn)7.6.1 Power PC提供的互斥訪問機制7.6.2 多CPU環(huán)境下的互斥機制7.7 關鍵區(qū)段使用注意事項7.8 Semaphore概述7.9 Semaphore對象的定義7.10 Semaphore對象的實現(xiàn)7.10.1 Initialize和Uninitialize實現(xiàn)7.10.2 WaitForThisObject的實現(xiàn)7.10.3 WaitForThisObjectEx的實現(xiàn)7.10.4 ReleaseSemaphore的實現(xiàn)第8章 中斷和定時處理機制的實現(xiàn)8.1 中斷和異常概述8.2 硬件相關部分處理8.2.1 IA32中斷處理過程8.2.2 IDT初始化8.3 硬件無關部分處理8.3.1 系統(tǒng)對象和中斷對象8.3.2 中斷調(diào)度過程8.3.3 默認中斷處理函數(shù)8.4 對外服務接口8.5 幾個注意事項8.6 Power PC的異常處理機制8.6.1 Power PC異常處理機制概述8.6.2 Power PC異常的分類8.6.3 異常的處理和返回8.7 定時器概述8.7.1 SetTimer函數(shù)的調(diào)用8.7.2 CancelTimer函數(shù)的調(diào)用8.7.3 ResetTimer函數(shù)的調(diào)用8.8 設置定時器操作8.9 定時器超時處理8.10 定時器取消處理8.11 定時器復位8.12 定時器注意事項第9章 系統(tǒng)總線管理9.1 系統(tǒng)總線概述9.1.1 系統(tǒng)總線9.1.2 總線管理模型9.1.3 設備標識符9.2 系統(tǒng)資源管理9.2.1 資源描述對象9.2.2 IO端口資源管理9.3 驅(qū)動程序接口9.3.1 GetResource9.3.2 GetDevice9.3.3 CheckPortRegion9.3.4 ReservePortRegion9.3.5 ReleasePortRegion9.3.6 AppendDevice9.3.7 DeleteDevice9.4 PCI總線驅(qū)動程序概述9.4.1 PCI總線概述9.4.2 PCI設備的配置空間9.4.3 配置空間關鍵字段的說明9.4.4 PCI配置空間的讀取與設置9.5 PCI總線驅(qū)動程序的實現(xiàn)9.5.1 探測PCI總線是否存在9.5.2 對普通PCI設備進行枚舉9.5.3 配置PCI橋接設備第10章 驅(qū)動程序管理框架10.1 設備驅(qū)動程序管理框架10.1.1 概述10.1.2 設備管理器和IO管理器10.1.3 Hello China的設備管理框架lO.1.4 I/O管理器(IOManager)10.2 文件系統(tǒng)的實現(xiàn)10.2.1 文件系統(tǒng)與文件的命名10.2.2 文件系統(tǒng)驅(qū)動程序10.2.3 打開一個文件的操作流程10.3 設備驅(qū)動程序框架10.3.1 設備請求控制塊(DRCB)10.3.2 設備驅(qū)動程序的文件組織結構10.3.3 設備驅(qū)動程序的功能實現(xiàn)10.3.4 設備驅(qū)動程序?qū)ο?0.3.5 DriverEntry的實現(xiàn)10.3.6 UnloadEntry的實現(xiàn)10.4 設備對象10.4.1 設備對象的定義10.4.2 設備對象的命名10.4.3 設備對象的類型10.4.4 設備對象的設備擴展10.4.5 設備的打開操作10.4.6 設備命名策略10.5 設備的中斷管理第11章 核心線程CPU占用率統(tǒng)計功能11.1 CPU占用率概述11.2 核心線程CPU占用率統(tǒng)計的實現(xiàn)11.2.1 統(tǒng)計周期和統(tǒng)計算法11.2.2 核心線程統(tǒng)計對象11.2.3 CPU統(tǒng)計對象11.2.4 CPU占用率統(tǒng)計線程11.3 進程和多CPU情況下的考慮11.3.1 進程的用戶態(tài)和核心態(tài)執(zhí)行時間統(tǒng)計11.3.2 多CPU環(huán)境下的考慮第12章 系統(tǒng)核心HOOK機制的實現(xiàn)12.1 Hook概述12.2 線程Hook的實現(xiàn)12.2.1 線程Hook的實現(xiàn)概述12.2.2 線程調(diào)度前后的回調(diào)機制12.2.3 線程創(chuàng)建和結束的回調(diào)機制12.2.4 CallThreadHook例程的實現(xiàn)12.3 線程Hook的應用第13章 串口交互程序及其實現(xiàn)13.1 串行通信接口概述13.2 串行通信編程方式13.2.1 串口初始化13.2.2 數(shù)據(jù)發(fā)送13.2.3 數(shù)據(jù)接收13.3 串口交互程序的實現(xiàn)13.3.1 串口交互程序的使用13.3.2 輪詢模式的串口交互程序?qū)崿F(xiàn)13.3.3 中斷模式的串口交互程序?qū)崿F(xiàn)13.4 串行通信編程總結13.4.1 輪詢方式和中斷方式編程的對比13.4.2 串口交互程序的其他實現(xiàn)方式第14章 應用編程接口與示例14.1 核心線程操作接口14.1.1 CreateKernelThread14.1.2 DestroyKernelThread14.1.3 SendMessage14.1.4 GetMessage14.1.5 SetKemelThreadPriority14.1.6 GetKemelThreadPriority14.1.7 GetKemelThreadID14.2 內(nèi)存操作接口14.2.1 KMemAlloc14.2.2 KMemFree14.2.3 VirtualAlloc14.2.4 VirtualFree14.2.5 malloc14.2.6 free14.2.7 CreateHeap14.2.8 DestroyHeap14.2.9 HeapAlloc14.2.10 HeapFree14.3 定時器操作接口14.3.1 SetTimet14.3.2 CancelTimer14.4 核心線程同步操作接口14.4.1 Sleep14.4.2 CreateMutex14.4.3 ReleaseMutex14.4.4 DestroyMutex14.4.5 CreateEvent14.4.6 SetEvent14.4.7 ResetEvent14.4.8 DestroyEvent14.4.9 WaitForThisObject14.4.10 WaitForThisObjectEx14.5 系統(tǒng)中斷操作接口14.5.1 ConnectInterrupt14.5.2 DisconnectInterrupt14.6 輸入/輸出(IO)接口14.6.1 CreateFile14.6.2 ReadFile14.6.3 WriteFile14.6.4 IoControl14.6.5 SetFilePointer14.6.6 FlushFile14.6.7 CloseFile14.7 設備驅(qū)動程序接口14.7.1 CreateDevice14.7.2 DestroyDevice14.8 相關輔助功能接口14.8.1 StrLen14.8.2 StrCpy14.8.3 MemZero14.8.4 MemCpy14.9 PC服務接口14.9.1 PrintLine14.9.2 PrintChar14.9.3 ChangeLine14.9.4 GotoHome第15章 Hello China的應用開發(fā)方法15.1 Hello China的開發(fā)方法概述15.2 在Hello China基礎上開發(fā)一個簡單應用程序附錄A 如何搭建一個基于Windows的操作系統(tǒng)開發(fā)平臺附錄B 一種代碼執(zhí)行時間測量方法的實現(xiàn)附錄C 64bit整型數(shù)據(jù)類型的實現(xiàn)附錄D IoCTRL控制程序使用介紹及實例附錄E 如何快速掌握匯編語言附錄F 源代碼使用說明附錄G 優(yōu)先隊列(Priority Queue)和環(huán)形緩沖區(qū)(RING BUFFER)的實現(xiàn)

編輯推薦

  全面解讀,國內(nèi)原創(chuàng)嵌入式操作系統(tǒng),開發(fā)全過程。  嵌入式操作系統(tǒng):設計與實現(xiàn)  本書是《自己動手寫嵌入式操作系統(tǒng)》的全面升級版,作者對自己親自在PC上開發(fā)嵌入式操作系統(tǒng)的“Hello China”進行全面的升級和改進,本書具有極高的實用性,對于嵌入式軟件開發(fā)工程師、應用軟件開發(fā)工程師均有很高的參考價值,對于大中院校的學生學習和理解操作系統(tǒng)及計算機原理也會有許多啟發(fā),對于系統(tǒng)軟件愛好者更是一本不可多得的好書,因為它會使您得到一個完整而細致的實踐過程?! ∫粋€簡單的想法  操作系統(tǒng)真的如此難開發(fā)嗎?  我國的通信產(chǎn)品的核心部件和核心技術真的只能依靠國外廠家提供嗎?  一個曲折的過程  在緊張的工作之余進行開發(fā),曾幾度想放棄,一年多的開發(fā)過程,堅持,堅持,再堅持,終于在2006年年初,才把當初規(guī)劃的所有功能開發(fā)完畢?! ¤T就本書  即以作者親自在PC上開發(fā)嵌入式操作系統(tǒng)“Hello China”的全過程為主線,詳細地敘述自己動手寫嵌入式操作系統(tǒng)所需的各方面知識。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    嵌入式操作系統(tǒng)設計與實現(xiàn) PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7