




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
嵌入式操作系統(tǒng)
EmbeddedOperatingSystem2016年2月桑楠sn@
信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院1共五十九頁第三(dìsān)部分信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院2嵌入式軟件體系結(jié)構(gòu)共五十九頁核心內(nèi)容體系結(jié)構(gòu)的概念軟件體系結(jié)構(gòu)的作用軟件體系結(jié)構(gòu)的發(fā)展歷程通用(tōngyòng)的體系結(jié)構(gòu)基于模型的軟件開發(fā)嵌入式軟件體系結(jié)構(gòu)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院3共五十九頁體系結(jié)構(gòu)的概念(gàiniàn)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院4共五十九頁基本(jīběn)觀點(diǎn)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院5目前尚沒有共識的定義許多專家學(xué)者從不同角度和不同側(cè)面對軟件體系結(jié)構(gòu)進(jìn)行了刻畫共五十九頁來自(láizì)建筑業(yè)的靈感信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院6磚瓦房的建造共五十九頁來自(láizì)建筑業(yè)的靈感(2)信息(xìnxī)與軟件工程學(xué)院7現(xiàn)代建造框架共五十九頁DewaynePerry和A1exWo1f定義(dìngyì)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院8具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工數(shù)據(jù)構(gòu)件是被加工的信息連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來。該定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。其思想應(yīng)用于其他定義中共五十九頁Kruchten定義(dìngyì)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院9軟件體系結(jié)構(gòu)有四個角度概念角度:描述系統(tǒng)的主要構(gòu)件及它們之間的關(guān)系;模塊角度:包含功能分解與層次結(jié)構(gòu);運(yùn)行角度:描述了一個系統(tǒng)的動態(tài)結(jié)構(gòu);代碼角度:描述了各種代碼和庫函數(shù)在開發(fā)環(huán)境中的組織。處理處理連接數(shù)據(jù)共五十九頁Bass,Ctements和Kazman定義(dìngyì)信息(xìnxī)與軟件工程學(xué)院10一個程序或計算機(jī)系統(tǒng)的軟件體系結(jié)構(gòu)包括一個或一組軟件構(gòu)件、軟件構(gòu)件的外部可見特性及其相互關(guān)系。其中,"軟件外部的可見特性"是指軟件構(gòu)件提供的服務(wù)、性能、特性、錯誤處理、共享資源使用等共五十九頁軟件體系結(jié)構(gòu)的生命周期信息(xìnxī)與軟件工程學(xué)院11共五十九頁軟件體系結(jié)構(gòu)的發(fā)展(fāzhǎn)方向信息(xìnxī)與軟件工程學(xué)院12各種ADLs(結(jié)構(gòu)描述語言)之間的信息互換:用一種公共形式把各種語言綜合起來,使得能夠交換各種體系結(jié)構(gòu)描述信息設(shè)計工具和環(huán)境:用工具實(shí)現(xiàn)體系結(jié)構(gòu)的描述和分析,以實(shí)現(xiàn)階段成果的自動轉(zhuǎn)換體系結(jié)構(gòu)再工程:從遺留系統(tǒng)軟件代碼和系統(tǒng)中抽取結(jié)構(gòu)信息,經(jīng)過描述、統(tǒng)一、抽象、一般化與實(shí)例化等處理,總結(jié)出系統(tǒng)的體系結(jié)構(gòu)→體系結(jié)構(gòu)融合共五十九頁軟件體系結(jié)構(gòu)
作用(zuòyòng)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院13共五十九頁設(shè)計(shèjì)計劃信息(xìnxī)與軟件工程學(xué)院14共五十九頁幫助管理復(fù)雜系統(tǒng)的抽象(chōuxiàng)框架信息(xìnxī)與軟件工程學(xué)院15任務(wù)的實(shí)時性軟件體系結(jié)構(gòu)獨(dú)立于任何一個現(xiàn)實(shí)系統(tǒng)平臺,它是一個抽象:現(xiàn)實(shí)系統(tǒng)中的許多細(xì)節(jié)被提煉并封裝成軟件體系結(jié)構(gòu)中的元素。軟件體系結(jié)構(gòu)對管理的另一輔助作用是便于分析矛盾需求之間的平衡點(diǎn)。共五十九頁軟件體系結(jié)構(gòu)
發(fā)展(fāzhǎn)歷程信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院16共五十九頁示意(shìyì)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院17共五十九頁軟件體系結(jié)構(gòu)
通用(tōngyòng)模型信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院18共五十九頁整體(zhěngtǐ)結(jié)構(gòu)—無結(jié)構(gòu)模型信息(xìnxī)與軟件工程學(xué)院19共五十九頁層次結(jié)構(gòu)信息(xìnxī)與軟件工程學(xué)院20共五十九頁層次結(jié)構(gòu)(2)—另一種(yīzhǒnɡ)體現(xiàn)信息(xìnxī)與軟件工程學(xué)院21共五十九頁層次結(jié)構(gòu)(3)—示例(shìlì)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院22OFP(飛控程序)共五十九頁對象結(jié)構(gòu)(jiégòu)模型——抽象信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院23共五十九頁客戶機(jī)/服務(wù)器結(jié)構(gòu)(jiégòu)模型信息(xìnxī)與軟件工程學(xué)院24共五十九頁客戶機(jī)/服務(wù)器結(jié)構(gòu)(jiégòu)模型(1)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院25nanoOS共五十九頁客戶機(jī)/服務(wù)器結(jié)構(gòu)(jiégòu)模型(2)信息(xìnxī)與軟件工程學(xué)院26安全OS——微內(nèi)核
User
kernelHardwareProcessApplicationMemoryMicro-kernelFileNetDisplayRequestReturnSafetySecurity共五十九頁三層體系(tǐxì)架構(gòu)信息(xìnxī)與軟件工程學(xué)院27共五十九頁倉庫(cāngkù)風(fēng)格:黑板模型信息(xìnxī)與軟件工程學(xué)院28共享數(shù)據(jù)共五十九頁虛擬機(jī)體系(tǐxì)架構(gòu)信息(xìnxī)與軟件工程學(xué)院29以犧牲運(yùn)行效率為代價,優(yōu)化應(yīng)用的可移植性。一個抽象計算機(jī),有自己的抽象指令解釋執(zhí)行抽象指令(應(yīng)用),在實(shí)際計算機(jī)上運(yùn)行應(yīng)用可在新環(huán)境下運(yùn)行,不重新編碼、編譯Basic、Java共五十九頁虛擬機(jī)體系(tǐxì)架構(gòu)(2)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院30共五十九頁虛擬機(jī)體系(tǐxì)架構(gòu)(3):JVM架構(gòu)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院31物理系統(tǒng)虛擬指令虛擬機(jī)共五十九頁基于(jīyú)構(gòu)件的架構(gòu)信息(xìnxī)與軟件工程學(xué)院32共五十九頁云計算體系(tǐxì)架構(gòu)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院33全新的基于互聯(lián)網(wǎng)的超級計算理念和模式,實(shí)現(xiàn)需要多種技術(shù)結(jié)合,需要用軟件實(shí)現(xiàn)將硬件資源進(jìn)行虛擬化管理和調(diào)度,形成一個巨大的虛擬化資源池,把存儲于個人電腦、移動設(shè)備和其他設(shè)備上的大量信息和處理器資源集中在一起,協(xié)同工作計算資源都放到互聯(lián)網(wǎng)(云)上。計算資源則包括計算機(jī)硬件資源(如計算機(jī)設(shè)備、存儲設(shè)備、服務(wù)器集群、硬件服務(wù)等)和軟件資源(如應(yīng)用軟件、集成開發(fā)環(huán)境、軟件服務(wù))共五十九頁云計算體系(tǐxì)架構(gòu)(2)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院34共五十九頁云計算(jìsuàn)體系架構(gòu)信息(xìnxī)與軟件工程學(xué)院35共五十九頁MVC模式(móshì)信息(xìnxī)與軟件工程學(xué)院36共五十九頁模型(móxíng)驅(qū)動的
軟件開發(fā)信息(xìnxī)與軟件工程學(xué)院37共五十九頁傳統(tǒng)(chuántǒng)設(shè)計方法信息(xìnxī)與軟件工程學(xué)院38當(dāng)面對一個新的業(yè)務(wù)需求時,總是從先建立數(shù)據(jù)表等結(jié)構(gòu)開始面向功能的結(jié)構(gòu)化設(shè)計方法面向數(shù)據(jù)流的結(jié)構(gòu)化設(shè)計方法面向?qū)ο笤O(shè)計方法共五十九頁存在(cúnzài)問題信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院39系統(tǒng)的狀態(tài)無法統(tǒng)一設(shè)計,導(dǎo)致每個程序員都可以直接操控系統(tǒng)的狀態(tài)——整個系統(tǒng)狀態(tài)運(yùn)行混亂容易將實(shí)體表和關(guān)系混合,造成分析者視覺混亂,無法正確提煉系統(tǒng)核心實(shí)體軟件系統(tǒng)的編碼架構(gòu)以數(shù)據(jù)庫為中心:沿用過程化編程風(fēng)格,難于維護(hù)和拓展系統(tǒng)負(fù)載集中在數(shù)據(jù)庫服務(wù)器端:大型機(jī)集中式計算模式,非分布式計算模式容易喪失多層結(jié)構(gòu)引以為豪的中間層,回復(fù)到過去的兩層結(jié)構(gòu),不利于軟件重用。共五十九頁模型(móxíng)驅(qū)動的軟件架構(gòu)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院40起源:OMG定義的一個軟件開發(fā)框架,基于UMLMDA概念:以建模行為驅(qū)動整個軟件開發(fā)過程核心思想:將業(yè)務(wù)分析與業(yè)務(wù)實(shí)現(xiàn)分離,保持業(yè)務(wù)邏輯對實(shí)現(xiàn)技術(shù)和平臺的獨(dú)立性,提高軟件質(zhì)量和可重用度意義:提供了一種途徑(通過相關(guān)的工具)來規(guī)范化一個平臺獨(dú)立的系統(tǒng)、規(guī)范化平臺、為系統(tǒng)選擇一個特定的實(shí)現(xiàn)平臺,并且把系統(tǒng)規(guī)范轉(zhuǎn)換到特定的實(shí)現(xiàn)平臺共五十九頁模式驅(qū)動(qūdònɡ)的設(shè)計過程信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院41確立領(lǐng)域模型及其之間關(guān)系;定義業(yè)務(wù)功能;由程序員分別實(shí)現(xiàn)表現(xiàn)層、業(yè)務(wù)服務(wù)層和持久層領(lǐng)域模型相互關(guān)聯(lián)
界面邊界界面設(shè)計
業(yè)務(wù)流程業(yè)務(wù)組件數(shù)據(jù)持久化存儲獲取數(shù)據(jù)
共五十九頁軟件體系結(jié)構(gòu)
嵌入式實(shí)時(shíshí)模型信息(xìnxī)與軟件工程學(xué)院42共五十九頁輪詢模型(móxíng)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院43共五十九頁輪詢(2)——子輪詢結(jié)構(gòu)(jiégòu)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院44共五十九頁輪詢(2)——子輪詢程序(chéngxù)信息(xìnxī)與軟件工程學(xué)院45print_msg(msg)char*msg;{while(*msg!=END_CHAR){if(READY_FLAG&input(PRINTER_PORT)){output(PRINTER_DATA,*MSG++);}else{poll_others();}}}共五十九頁輪詢(3)——典型結(jié)構(gòu)(jiégòu)及應(yīng)用示意信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院46典型應(yīng)用哲學(xué)家問題;無線傳感信息采集;分時系統(tǒng);信號(如雷達(dá)信號)采集系統(tǒng);網(wǎng)絡(luò)服務(wù)應(yīng)答;....共五十九頁前后臺模型(móxíng)
——中斷模型信息(xìnxī)與軟件工程學(xué)院47前臺后臺共五十九頁前后(qiánhòu)臺模型(2):
中斷的執(zhí)行信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院48共五十九頁前后臺模型(móxíng)(3)——典型系統(tǒng)結(jié)構(gòu)信息(xìnxī)與軟件工程學(xué)院49典型應(yīng)用信號(如雷達(dá)信號)采集系統(tǒng);開啟節(jié)能模式的微控制系統(tǒng);酒店預(yù)訂系統(tǒng)、....共五十九頁前后(qiánhòu)臺模型(4):
重要參數(shù)信息(xìnxī)與軟件工程學(xué)院50性能指標(biāo):響應(yīng)時間
中斷延遲時間吞吐量
前后臺交互:同步信號
數(shù)據(jù)交互
共五十九頁中斷(zhōngduàn)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院51中斷指一個必須立即處理的情況時,CPU暫時停止當(dāng)前程序的執(zhí)行轉(zhuǎn)而執(zhí)行處理新情況的程序和執(zhí)行過程一種硬件機(jī)制,芯片必須帶該機(jī)制中斷服務(wù)一段代碼或程序,中斷發(fā)生時CPU新執(zhí)行的內(nèi)容相關(guān)概念
中斷注冊使中斷服務(wù)程序有效中斷優(yōu)先級中斷服務(wù)程序的緊急程度中斷屏蔽確保重要程序不被中斷,以免引發(fā)錯誤中斷源可能引起中斷的設(shè)備或故障共五十九頁中斷(zhōngduàn)
——處理過程信息(xìnxī)與軟件工程學(xué)院52(1)中斷CPU當(dāng)前執(zhí)行(2)保護(hù)被中斷進(jìn)程現(xiàn)場。(3)分析中斷原因,轉(zhuǎn)去相應(yīng)的中斷處理程序。在多個中斷請求同時發(fā)生時,處理優(yōu)先級最高的中斷源發(fā)出的中斷請求。(4)執(zhí)行中斷處理程序(5)恢復(fù)被中斷進(jìn)程的現(xiàn)場(6)CPU繼續(xù)執(zhí)行原來被中斷的進(jìn)程。共五十九頁中斷——現(xiàn)場保存(bǎocún)與恢復(fù)信息與軟件工程(ruǎnjiànɡōnɡchénɡ)學(xué)院53保存/恢復(fù)內(nèi)容寄存器;現(xiàn)場保存:r0-r12、LR、CPSRsublr,lr,#4
;由IRQ模式計算返回地址
(1)stmfdsp!,{r0-r12,lr}
;保存寄存器和pc
(2)mrsr0,cpsr
(3)stmfdsp!,{r0}
;保存CPSR (4);跳轉(zhuǎn)執(zhí)行相應(yīng)的中斷服務(wù)程序ldrr0,=INTOFFSET
(5)ldrr0,[r0]
(6)ldrr1,=HandlerEINT0
(7)addr1,r1,r0,lsl#2
;R0=R1+R2*4, (8)ldrr1,[r1]
(9)movlr,pc
;ISR完成后的返回處 (10)movpc,r1
;跳轉(zhuǎn)到ISR (11);恢復(fù)現(xiàn)場:r0-r12、LR、CPSRldmfdsp!,{r0}
(12)mrsspsr_cxsf,r0
;恢復(fù)CPSR
(13)ldmfdsp!,{r0-r12,lr}
;恢復(fù)寄存器和pc
(14)movspc,lr
;返回被中斷程序
(15)共五十九頁實(shí)時(shíshí)多任務(wù)模型信息(xìnxī)與軟件工程學(xué)院54任務(wù)(Task)一個程序運(yùn)行的實(shí)體;資源擁有的基本單位;系統(tǒng)調(diào)度的基本單元(若
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主體水電合同范本
- 參數(shù)設(shè)計合同范本
- 租賃會議室合同范本
- 冬儲保價合同范本
- 轉(zhuǎn)讓精裝修房產(chǎn)合同范本
- 合同范本與格式合同區(qū)別
- 鋁合金分銷合同范本
- 吧臺轉(zhuǎn)讓合同范本
- 廠內(nèi)工程裝修合同范本
- 倉庫燈具回收合同范例
- 解讀國有企業(yè)管理人員處分條例(2024)課件(全文)
- 2024年江蘇省揚(yáng)州市中考數(shù)學(xué)真題(解析版)
- 創(chuàng)新創(chuàng)業(yè)基礎(chǔ)-理論、案例與訓(xùn)練(大學(xué)生創(chuàng)新創(chuàng)業(yè)教育課程)全套教學(xué)課件
- TD/T 1072-2022 國土調(diào)查坡度分級圖制作技術(shù)規(guī)定(正式版)
- 《火力發(fā)電建設(shè)工程機(jī)組調(diào)試技術(shù)規(guī)范》
- 2024年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 2024年合肥市高三第二次教學(xué)質(zhì)量(二模)英語試卷(含答案)
- 新能源充電樁創(chuàng)業(yè)計劃書
- 2024屆浙江省初中學(xué)業(yè)水平測試中考科學(xué)測模擬試題(二模)附答案
- 2023年全國統(tǒng)一高考政治試卷(湖南卷)含答案與解析
- 中班語言活動:小老虎的名片
評論
0/150
提交評論