博學(xué)公司最近簽訂了一份控制系統(tǒng)軟件的研制合同。合同技術(shù)要求如下:
①本控制系統(tǒng)的軟件運(yùn)行平臺(tái)擬采用嵌入式實(shí)時(shí)操作系統(tǒng),控制系統(tǒng)的工作周期為10ms,要求控制軟件能夠精確地按事先預(yù)定的時(shí)間順序完成數(shù)據(jù)的采集、處理和輸出。
②為了提高整個(gè)系統(tǒng)的可靠性,控制系統(tǒng)采用容錯(cuò)處理,即用兩個(gè)相對(duì)獨(dú)立的計(jì)算機(jī)承擔(dān)相同的工作,通過交叉對(duì)比,實(shí)現(xiàn)控制的雙余度管理;當(dāng)任何一臺(tái)計(jì)算機(jī)出現(xiàn)故障時(shí),系統(tǒng)可以進(jìn)行單余度控制。系統(tǒng)結(jié)構(gòu)如圖12-21所示。
③在10ms工作周期內(nèi)的時(shí)間分配如表12-15所示。
公司總工程師將本項(xiàng)任務(wù)交付給項(xiàng)目主管李工程師實(shí)施,要求李工按雙方合同要求完成本項(xiàng)目的策劃、需求分析和方案設(shè)計(jì)工作,重點(diǎn)強(qiáng)調(diào)系統(tǒng)的可靠性要求,并特別提示:目前比較流行的嵌入式操作系統(tǒng)普遍采用可搶占式優(yōu)先級(jí)調(diào)度策略,不能滿足用戶關(guān)于"能夠精確地按事先預(yù)定的時(shí)間順序完成數(shù)據(jù)的采集、處理和輸出"的要求。
李工接到任務(wù)后,認(rèn)為本項(xiàng)目比較簡(jiǎn)單,很快就安排3名技術(shù)人員分別負(fù)責(zé)數(shù)據(jù)采集/輸出模塊、數(shù)據(jù)處理模塊和比較監(jiān)控模塊的編寫??偣こ處熉牭絽R報(bào)后,認(rèn)為李工的方案和安排不妥,理由是李工忽視了系統(tǒng)的可靠性要求,對(duì)系統(tǒng)需求的理解不夠深入。為實(shí)現(xiàn)系統(tǒng)關(guān)于可靠性方面的需求:
①你認(rèn)為在組織結(jié)構(gòu)、人員分工、設(shè)計(jì)開發(fā)等方面應(yīng)做出哪些安排和規(guī)定?
②請(qǐng)寫出關(guān)于余度表決算法的考慮。
甲公司承擔(dān)了一項(xiàng)為宇航系統(tǒng)配套生產(chǎn)高性能嵌入式計(jì)算機(jī)系統(tǒng)的任務(wù),用戶要求該系統(tǒng)要具有高速并發(fā)處理能力、低功耗、高可靠性,并可以有效地防止系統(tǒng)故障的蔓延。根據(jù)用戶對(duì)本項(xiàng)目的要求,甲公司成立了軟/硬件兩個(gè)項(xiàng)目組,總體設(shè)計(jì)由硬件組承擔(dān),負(fù)責(zé)高性能嵌入式計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì),軟件組負(fù)責(zé)確定軟件的技術(shù)需求和應(yīng)用軟件開發(fā)平臺(tái)的軟件設(shè)計(jì)工作。
在處理器選型方面,硬件組王工與軟件組張工在討論采用哪種CPU體系結(jié)構(gòu)方面發(fā)生爭(zhēng)議。目前,流行的處理器結(jié)構(gòu)包括單核結(jié)構(gòu)、多處理器結(jié)構(gòu)、超線程結(jié)構(gòu)、多核結(jié)構(gòu)、共享Cache的多核結(jié)構(gòu)和超線程技術(shù)的多核結(jié)構(gòu)共6種,如圖12-20所示。
甲公司承擔(dān)了一項(xiàng)為宇航系統(tǒng)配套生產(chǎn)高性能嵌入式計(jì)算機(jī)系統(tǒng)的任務(wù),用戶要求該系統(tǒng)要具有高速并發(fā)處理能力、低功耗、高可靠性,并可以有效地防止系統(tǒng)故障的蔓延。根據(jù)用戶對(duì)本項(xiàng)目的要求,甲公司成立了軟/硬件兩個(gè)項(xiàng)目組,總體設(shè)計(jì)由硬件組承擔(dān),負(fù)責(zé)高性能嵌入式計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì),軟件組負(fù)責(zé)確定軟件的技術(shù)需求和應(yīng)用軟件開發(fā)平臺(tái)的軟件設(shè)計(jì)工作。
在處理器選型方面,硬件組王工與軟件組張工在討論采用哪種CPU體系結(jié)構(gòu)方面發(fā)生爭(zhēng)議。目前,流行的處理器結(jié)構(gòu)包括單核結(jié)構(gòu)、多處理器結(jié)構(gòu)、超線程結(jié)構(gòu)、多核結(jié)構(gòu)、共享Cache的多核結(jié)構(gòu)和超線程技術(shù)的多核結(jié)構(gòu)共6種,如圖12-20所示。
在本項(xiàng)目中,如果計(jì)算機(jī)采用了多線程技術(shù)實(shí)現(xiàn)應(yīng)用程序的并發(fā)操作,程序設(shè)計(jì)人員將面臨多種挑戰(zhàn),其主要原因在于:程序會(huì)同時(shí)發(fā)生多個(gè)動(dòng)作,對(duì)這些同時(shí)發(fā)生的動(dòng)作及它們之間的交互進(jìn)行管理將面臨4方面的挑戰(zhàn),即同步、通信、負(fù)載均衡和可伸縮性,用200字以內(nèi)的文字對(duì)上述4種挑戰(zhàn)進(jìn)行簡(jiǎn)要描述,并給出如表12-14所示的常用并發(fā)程序設(shè)計(jì)模式的分解方式。