出版時間:2012-4 出版社:機械工業(yè)出版社 作者:道格拉斯 頁數(shù):353 譯者:劉旭東
Tag標簽:無
前言
譯者序 隨著電子技術、通信技術等的飛速發(fā)展,嵌入式系統(tǒng)已經廣泛地應用在工業(yè)控制、通信、航空航天、消費電子產品等領域,其所帶來的效益不可估量。隨著時間推移,嵌入式系統(tǒng)的需求量呈現(xiàn)指數(shù)增長,并且應用范圍不斷擴大,同時對系統(tǒng)的復雜性、穩(wěn)定性、安全性以及關鍵性的要求也日益提高。嵌入式系統(tǒng)如何滿足這種需求,怎樣提高嵌入式軟件的生產率,怎樣以最短的時間開發(fā)出最令人滿意的、高效可靠的嵌入式軟件成為了擺在人們面前的問題?!? 本書以面向對象的視角,重新審視嵌入式系統(tǒng),全面總結了嵌入式系統(tǒng)中常見的以及關鍵的設計模式。這些模式廣泛應用于嵌入式系統(tǒng)或嵌入式軟件中。本書還提出了很多新穎的設計模式,為使用C語言編程的嵌入式系統(tǒng)開發(fā)者提供了強有力的工具?!? 通過這些模式,開發(fā)者可以用最短的時間設計出性能好、穩(wěn)定性強、安全性高的嵌入式系統(tǒng)或軟件,而且也能為系統(tǒng)日后的升級維護打下堅實的設計基礎。讀者能夠從本書中系統(tǒng)地掌握嵌入式系統(tǒng)的設計模式,使用C語言以面向對象的視角設計系統(tǒng)、開發(fā)系統(tǒng)。本書針對嵌入式系統(tǒng)中從內存訪問到事件調度,從狀態(tài)機設計到安全性、可靠性保證,對系統(tǒng)設計以及性能表現(xiàn)的方方面面進行了詳細闡述,也提出了很好的設計規(guī)則?!? 本書的作者擁有30年的嵌入式系統(tǒng)設計和開發(fā)經驗,本書是他對嵌入式系統(tǒng)設計模式的一次詳細的總結。本書的組織條理清晰,不僅是一本關于嵌入式系統(tǒng)設計模式的優(yōu)秀書籍,更是一個針對嵌入式軟件工程的工具箱。讀者可以從這個工具箱中找到應用到工作中的經典模式,通過在開發(fā)設計過程中使用這些模式能極大地提高嵌入式系統(tǒng)或軟件的功能和穩(wěn)定性。此外,所有的模式都使用UML來圖形化解釋,讀者可以更直觀地了解模式,并且配有詳細的C代碼實現(xiàn),極大地方便了工作中的使用。可以說本書是一本不可多得的嵌入式系統(tǒng)設計方面的好書?!? 本書在翻譯的過程中得到了很多人的幫助和鼓勵,在此感謝機械工業(yè)出版社編輯在本書翻譯過程中給予的幫助,還要感謝Kourosh Farrokhzadi對本書部分內容理解方面給予的指導。由于時間關系,雖然盡最大的努力翻譯,但是譯文中難免有疏漏和錯誤之處,懇請讀者批評指正。
內容概要
本書介紹如何使用設計模式為嵌入式系統(tǒng)創(chuàng)建高效且優(yōu)化的C語言設計,這些設計方法已經過實踐證明非常有效。
針對嵌入式系統(tǒng)中發(fā)生的問題,本書的設計模式給出了模式化的解決方案。通過學習本書,你將獲得嵌入式領域專家來之不易的經驗。
作者簡介
Bruce Powel
Douglass在俄勒岡大學獲得運動生理學碩士學位,并在USD醫(yī)學院獲得神經生理學博士學位。在USD醫(yī)學院時,他開創(chuàng)了一個叫做自相關因子分析的新數(shù)學分支,用于研究多細胞生物神經系統(tǒng)中的信息處理。
Bruce擁有30余年的實時系統(tǒng)領域軟件開發(fā)工作經驗,并且是實時系統(tǒng)領域和系統(tǒng)工程領域知名的演說家、作家和咨詢顧問。他是嵌入式系統(tǒng)大會顧問委員會的成員之一,并且教授軟件估算和調度、項目管理、面向對象分析和設計、通信協(xié)議、有限狀態(tài)機、設計模式、安全關鍵系統(tǒng)的設計等相關課程。他在實時面向對象分析和設計、項目管理領域有很多年的開發(fā)、講課和咨詢經驗。他為許多刊物撰寫文章,特別是在實時領域。
他是IBM Rational的首席技術宣傳官,IBM
Rational是實時系統(tǒng)開發(fā)工具的主要生產商,產品包括廣泛使用的建模工具Rhapsody。Bruce與其他UML伙伴合作共同制定了UML標準。他是對象管理組織的實時分析與設計工作組的前聯(lián)合主席。他還著有一些與其他軟件相關的書籍,包括:
《Doing Hard Time:Developing Real-Time Systems
with UML,Objects,Frameworks,and
Patterns》(Addison-Wesley,1999)
《Real-Time Design Patterns:Robust Scalable
Architecture for Real-Time Systems》(Addison-Wesley,2002)
《Real-Time UML Third Edition:Advances in the UML
for Real-Time Systems》(Addison-Wesley,2004)
《Real-Time UML Workshop for Embedded
Systems》(Elsevier,2007)
《Real-Time Agility》(Addison-Wesley,2009)
書籍目錄
譯者序
前言
作者簡介
第1章 什么是嵌入式編程
1.1 嵌入式系統(tǒng)有何特殊之處
1.2 面向對象還是結構化
1.3 小結
第2章 嵌入式實時過程Harmony的嵌入式編程
2.1 Harmony過程的基本原理
2.2 方法
2.3 接下來是什么
第3章 訪問硬件的設計模式
3.1 基本的硬件訪問概念
3.2 硬件代理模式
3.3 硬件適配器模式
3.4 中介者模式
3.5 觀察者模式
3.6 去抖動模式
3.7 中斷模式
3.8 輪詢模式
3.9 小結
第4章 嵌入并發(fā)和資源管理的設計模式
4.1 并發(fā)基本概念
4.2 循環(huán)執(zhí)行模式
4.3 靜態(tài)優(yōu)先級模式
4.4 臨界區(qū)模式
4.5 守衛(wèi)調用模式
4.6 隊列模式
4.7 匯合模式
4.8 同時鎖定模式
4.9 排序鎖定
4.10 小結
第5章 狀態(tài)機的設計模式
5.1 哦,行為
5.2 基本狀態(tài)機概念
5.3 單事件接收器模式
5.4 多事件接收器模式
5.5 狀態(tài)表模式
5.6 狀態(tài)模式
5.7 與狀態(tài)
5.8 分解與狀態(tài)模式
5.9 小結
第6章 安全性和可靠性模式
6.1 關于安全性和可靠性的一些事
6.2 二進制反碼模式
6.3 CRC模式
6.4 智能數(shù)據模式
6.5 通道模式
6.6 保護單通道模式
6.7 雙通道模式
6.8 小結
附錄A UML表示法
章節(jié)摘錄
第1章 什么是嵌入式編程 我們將學到: ·嵌入式系統(tǒng)的基礎知識 ·面向對象編程與結構化編程 ·使用C語言實現(xiàn)類、繼承、狀態(tài)機 1.1嵌入式系統(tǒng)有何特殊之處 本書完全著眼于嵌入式系統(tǒng)的開發(fā)。為此,需要區(qū)分嵌入式系統(tǒng)和其他系統(tǒng)。在深入討論之前,我們需要理解這種區(qū)別,這樣才能領會用來開發(fā)嵌入式系統(tǒng)的那些模式和技術的真諦?!? 嵌入式系統(tǒng)可以定義為:不提供通用的計算環(huán)境,而是致力于完成現(xiàn)實世界中具體功能的計算系統(tǒng)。顯然,這樣定義的嵌入式系統(tǒng)非常寬泛,它包括了心臟起搏器中的微型8位嵌入式計算機,與控制航天設備相關的32位計算機,交通設施、飛行器的消防控制,以及C4ISR(Command,Control,Communications,Computers,Intelligence,Surveillance,and Reconnaissance,指揮、控制、通信、計算機、情報、監(jiān)視和偵察)系統(tǒng)的廣域網中用于戰(zhàn)場管理的數(shù)以百計的強大計算機系統(tǒng)。很多嵌入式系統(tǒng)沒有磁盤,沒有人機交互,并且僅有很少的存儲空間,但是嵌入式系統(tǒng)的市場空間卻遠比這些簡單設備更寬廣?!? 嵌入式系統(tǒng)無處不在: ·在醫(yī)藥領域,嵌入式系統(tǒng)包括植入設備(如心臟起搏器、去纖顫器、胰島素泵)、監(jiān)測設備(如心電圖(ECG/EKG)監(jiān)視器、血氣監(jiān)測儀、血壓計、肌電圖(EMG)顯示器)、成像系統(tǒng)(如CT、SPECT、PET、TEM和X射線成像儀),以及治療輸送裝置(如病人呼吸機、藥物汽化器和輸液泵)?!? ·在電信行業(yè),涵蓋了手機、交換設備、路由器、調制解調器和衛(wèi)星等設備?!? ·在汽車制造領域,嵌入式系統(tǒng)優(yōu)化發(fā)動機燃燒,管理變速器中的能量傳輸,監(jiān)控傳感器數(shù)據,控制防抱死系統(tǒng),提供安全保障并且提供咨詢娛樂服務,例如:CD和DVD播放器、GPS導航(在一些地方,它可以提供雷達和激光探測甚至是主動雷達和激光探測應對系統(tǒng))?!? ·在辦公領域,嵌入式系統(tǒng)管理電話、打印機、復印機、傳真機、照明設備、數(shù)字投影儀、安保系統(tǒng)、防火系統(tǒng)和滅火系統(tǒng)?!? ·在家中,例子包括微波爐、電視機、收音機、洗衣機,甚至包括真空吸塵器?!? 嵌入式系統(tǒng)已經能控制、增強、監(jiān)控和管理幾乎所有高科技設備,從電視機到火車,再到工廠自動化系統(tǒng),而且其應用呈上升趨勢?!? 嵌入式系統(tǒng)有個重要的子集即實時系統(tǒng)。很多人錯誤地認為“實時”就是“很快”,這種理解是不正確的。實時系統(tǒng)是一種在系統(tǒng)中必須滿足實時性約束才能正確運行的系統(tǒng)。通常來看,可以將實時系統(tǒng)簡單地分為兩類:其中的一類是“硬”實時系統(tǒng),它以系統(tǒng)實時性約束中的最后期限作為建模依據,在最后期限到來之前,指定的活動必須完成;“軟”實時系統(tǒng)則是相對于“硬”實時系統(tǒng)而言的?,它加入時間期限以外的標準(經常是隨機的)來滿足系統(tǒng)的實時性約束。這些標準包括平均吞吐量、平均執(zhí)行時間、最大脈沖長度或其他的衡量標準。所有的系統(tǒng)都可以建模為硬實時系統(tǒng),但是這樣做經常造成“過度設計”,過度設計造成系統(tǒng)運行速度過快且擁有更多可用資源(實際上這些都是不需要的),同時也提高了系統(tǒng)的續(xù)生成本(recurring cost,近似于“制造成本”)?!? 盡管所有的系統(tǒng)都以硬實時系統(tǒng)作為建模模型,但事實上很多系統(tǒng)并不是真正的硬實時系統(tǒng)。如果系統(tǒng)響應偶爾延遲,甚至整個輸入事件丟失,大多數(shù)系統(tǒng)將繼續(xù)正常工作。把實時系統(tǒng)建模為“硬”實時的主要原因是,可以通過數(shù)學分析簡化系統(tǒng)的實時性約束。 ……
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載