發(fā)達(dá)國家的醫(yī)療保健服務(wù)已經(jīng)超越了以醫(yī)院為中心的模式,以初級和二級醫(yī)療為重點(diǎn)而不僅局限于醫(yī)院。這些舉措推動了用于醫(yī)院之外、通常由病人自己使用的遠(yuǎn)程醫(yī)療設(shè)備的發(fā)展。
對遠(yuǎn)程醫(yī)療設(shè)備的迫切需求正在推動市場增長。美國2010年的無線消費(fèi)醫(yī)療設(shè)備銷售額達(dá)到6億美元,2011年有望達(dá)到13億美元 ,然而與全球醫(yī)療設(shè)備市場每年2000 億美元的銷售額相比仍然微不足道。
操作系統(tǒng) - 關(guān)鍵區(qū)分要素
操作系統(tǒng)是所有電子醫(yī)療設(shè)備的關(guān)鍵區(qū)分要素,而且制造商也非常明白這一點(diǎn)。事實(shí)上,他們往往在選擇板卡前先選擇操作系統(tǒng)。
圖 1 不同行業(yè)中首先選擇操作系統(tǒng)的項(xiàng)目所占比率
本文的討論未包括消費(fèi)級醫(yī)療設(shè)備,例如其發(fā)生故障時不會造成嚴(yán)重后果。對于出現(xiàn)故障時會導(dǎo)致嚴(yán)重后果的設(shè)備,可將其操作系統(tǒng)的關(guān)鍵特征歸類如下:
· 可信性:在規(guī)定的時間內(nèi)對事件進(jìn)行及時正確地響應(yīng)
· 連接性:直接或通過網(wǎng)絡(luò)與不同設(shè)備和系統(tǒng)進(jìn)行通訊
· 數(shù)據(jù)完整性和安全性:安全地存儲數(shù)據(jù)并防止未經(jīng)授權(quán)的查閱
以上每個特征都值得深入討論,在此我們只重點(diǎn)介紹其中最重要的一種特征--可信性。
圖2 一種簡單的遠(yuǎn)程病人監(jiān)護(hù)網(wǎng)絡(luò)
選擇GPOS 還是RTOS?
可信性將可用性和可靠性合二為一。可用性要求系統(tǒng)能夠及時響應(yīng)請求的概率,可靠性則表明響應(yīng)的正確率。對一個可靠的操作系統(tǒng)的要求是排除使用通用操作系統(tǒng)(GPOS),因?yàn)镚POS不能提供嚴(yán)格的可用性和可靠性的保障。
與此相反,實(shí)時操作系統(tǒng)(RTOS)本身就是為了保證可用性和可靠性而精心設(shè)計(jì)的。設(shè)計(jì)人員可以信賴實(shí)時操作系統(tǒng)隨時響應(yīng)需求的可用性和按要求完成任務(wù)的可靠性。因此,可以得出這樣的結(jié)論,即:大部分的醫(yī)療設(shè)備需要實(shí)時操作系統(tǒng)。
實(shí)時操作系統(tǒng)架構(gòu)
即使像配藥機(jī)這樣簡單的設(shè)備也不允許出現(xiàn)故障。假如故障導(dǎo)致數(shù)據(jù)損壞,配藥機(jī)可能改變劑量,最終的嚴(yán)重后果可想而知。既然操作系統(tǒng)架構(gòu)對系統(tǒng)的可靠性有重要影響,那么首先就應(yīng)對它進(jìn)行嚴(yán)格評估。實(shí)時操作系統(tǒng)最常見的三種架構(gòu)是實(shí)時執(zhí)行、宏內(nèi)核和微內(nèi)核。
實(shí)時執(zhí)行架構(gòu)
基于實(shí)時執(zhí)行架構(gòu),所有的軟件組件包括內(nèi)核、網(wǎng)絡(luò)協(xié)議棧、文件系統(tǒng)、驅(qū)動程序和應(yīng)用程序都在同一個內(nèi)存地址空間內(nèi)運(yùn)行。這種架構(gòu)雖然高效,但它有兩個明顯缺點(diǎn)。首先,任何模塊內(nèi)的單個指針錯誤都可能損壞內(nèi)核或任何其他模塊所用的內(nèi)存。其次,系統(tǒng)崩潰后不會留下診斷信息。
宏內(nèi)核架構(gòu)
有些實(shí)時操作系統(tǒng)通過宏內(nèi)核架構(gòu)(其中的程序可作為內(nèi)存受保護(hù)的進(jìn)程運(yùn)行)解決可能引起整個系統(tǒng)故障的內(nèi)存錯誤。這種架構(gòu)的確能防止用戶故障代碼損壞內(nèi)核。但是,內(nèi)核組件仍與其他服務(wù)共享相同的地址空間。因此,任何服務(wù)中的單個編程錯誤都可能導(dǎo)致整個系統(tǒng)崩潰。
微內(nèi)核架構(gòu)
在微內(nèi)核實(shí)時操作系統(tǒng)中,設(shè)備驅(qū)動程序、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧和應(yīng)用程序都運(yùn)行在內(nèi)核外部的獨(dú)立地址空間,因此它們不僅與內(nèi)核隔離,而且彼此之間也互不影響。一個組件出現(xiàn)故障不會導(dǎo)致整個系統(tǒng)癱瘓,組件中的內(nèi)存故障不會影響其他進(jìn)程或內(nèi)核。這樣,操作系統(tǒng)就能自動重啟故障組件。
圖 3 病人監(jiān)護(hù)系統(tǒng)中的微內(nèi)核操作系統(tǒng)
實(shí)時操作系統(tǒng)的關(guān)鍵特征
在眾多操作系統(tǒng)特征中,除了系統(tǒng)架構(gòu)必須仔細(xì)評估,其他重要特征包括:
· 確保實(shí)時性
· 防止優(yōu)先級反轉(zhuǎn)
· 確保可用性
· 監(jiān)視和重啟進(jìn)程
確保實(shí)時性
對所有需要確保實(shí)時性的系統(tǒng)而言,搶占式內(nèi)核至關(guān)重要。例如,病人摔倒時觸發(fā)了報警器應(yīng)能搶占進(jìn)程并發(fā)出警報。
為確保優(yōu)先級高的進(jìn)程隨時獲得所需的CPU周期,實(shí)時操作系統(tǒng)的內(nèi)核需要進(jìn)行搶占式運(yùn)行,此外內(nèi)核的設(shè)計(jì)必須盡可能簡單,以保證最長的不可被搶占代碼路徑有執(zhí)行時間的上限。只要操作系統(tǒng)的內(nèi)核能將任務(wù)密集的運(yùn)行分配到外部進(jìn)程或線程,并只包括路徑短的服務(wù)就能在操作系統(tǒng)內(nèi)核實(shí)現(xiàn)這種簡潔性設(shè)計(jì)。
防止優(yōu)先級反轉(zhuǎn)
操作系統(tǒng)中最令人頭疼的錯誤是優(yōu)先級反轉(zhuǎn)。它是指低優(yōu)先級任務(wù)阻止高優(yōu)先級任務(wù)完成運(yùn)行的狀態(tài)。例如,在報警控制、數(shù)據(jù)記錄儀和數(shù)據(jù)聚合器共享資源的病人監(jiān)控系統(tǒng)里,優(yōu)先級高的任務(wù)(報警控制器)必須等待優(yōu)先級低的任務(wù)(數(shù)據(jù)記錄器)結(jié)束才能繼續(xù)運(yùn)行。第三項(xiàng)任務(wù)(數(shù)據(jù)聚合器)的優(yōu)先級比報警控制器的低,但比數(shù)據(jù)記錄器的高。數(shù)據(jù)聚合器會搶占數(shù)據(jù)記錄器的優(yōu)先級,進(jìn)而搶占報警控制器的優(yōu)先級,這就無法滿足實(shí)時提交的要求。
優(yōu)先級繼承
優(yōu)先級繼承是指將被阻止的高優(yōu)先級任務(wù)的優(yōu)先級分配給阻止任務(wù)的低優(yōu)先級線程,直至完成被阻止的任務(wù),以此防止優(yōu)先級反轉(zhuǎn)。例如,數(shù)據(jù)記錄器可繼承報警控制器的優(yōu)先級,這樣它就不會被數(shù)據(jù)聚合器搶占。當(dāng)任務(wù)結(jié)束后,它會恢復(fù)最初的優(yōu)先級,報警控制器會解除阻止并繼續(xù)運(yùn)行。
圖 4 優(yōu)先級繼承防止優(yōu)先級反轉(zhuǎn)
確保可用性
對許多系統(tǒng)來說,資源的可用性至關(guān)重要。假如某一子系統(tǒng)出現(xiàn)CPU周期匱乏,會導(dǎo)致十分嚴(yán)重的后果。例如,如果心臟監(jiān)護(hù)儀的連接中斷可能導(dǎo)致中心監(jiān)護(hù)系統(tǒng)誤認(rèn)為出現(xiàn)報警情況并派出急救人員,或當(dāng)病人真出現(xiàn)危急狀況時,系統(tǒng)卻無法發(fā)出報警信息。
根據(jù)以往經(jīng)驗(yàn),解決這一問題的途徑是更新硬件或重新設(shè)計(jì)軟件。雖然將新設(shè)計(jì)的軟件發(fā)送到聯(lián)網(wǎng)的醫(yī)療設(shè)備上是一個可行方案,但這不僅使成本高昂,而且還可能導(dǎo)致該設(shè)備已有的產(chǎn)品認(rèn)證失效。
分區(qū)分區(qū)技術(shù)通過執(zhí)行CPU預(yù)算并防止進(jìn)程獨(dú)占CPU周期,使資源匱乏的問題迎刃而解。可選擇兩種類型的分區(qū):固定式和自適應(yīng)式。
采用固定分區(qū),系統(tǒng)設(shè)計(jì)人員為每個任務(wù)指定分配的CPU時間。分區(qū)內(nèi)的任務(wù)消耗的CPU時間都不能超過分區(qū)時已分配的時間比例,以便于其他分區(qū)內(nèi)的進(jìn)程保持隨時可用,進(jìn)而保證所有關(guān)鍵進(jìn)程隨時可用。
遺憾的是,采用固定分區(qū)時,即使分配到其他地方的周期未被使用,另一個分區(qū)內(nèi)的進(jìn)程也無法使用,因?yàn)樗荒苁褂贸銎渌诜謪^(qū)預(yù)先分配的CPU周期,固定分區(qū)雖然能防止系統(tǒng)出現(xiàn)資源匱乏,但它卻浪費(fèi)了CPU周期,而且削弱了系統(tǒng)應(yīng)對高峰需求的能力。
與固定分區(qū)類似,自適應(yīng)分區(qū)也能防止資源匱乏。然而,自適應(yīng)分區(qū)采用一種動態(tài)調(diào)度算法將一個分區(qū)內(nèi)閑置的CPU周期重新分配到另一個需要更多處理時間的分區(qū)內(nèi)。當(dāng)多個分區(qū)內(nèi)的進(jìn)程爭奪CPU周期時,自適應(yīng)分區(qū)會執(zhí)行資源分配。這樣,設(shè)計(jì)人員就能充分依賴系統(tǒng)資源保證,不必再為固定分區(qū)造成的處理能力降低而尋找良策了。
監(jiān)視、停止或重啟進(jìn)程
防止整個系統(tǒng)的進(jìn)程發(fā)生連鎖故障和自我修復(fù)功能對可信賴的操作系統(tǒng)至關(guān)重要。需確保系統(tǒng)可用性的設(shè)備可采用面向硬件的高可用性解決方案和軟件監(jiān)視程序。
監(jiān)視程序監(jiān)視系統(tǒng)并進(jìn)行多級恢復(fù)或按要求平穩(wěn)關(guān)機(jī)。根據(jù)執(zhí)行方式的不同,當(dāng)出現(xiàn)故障時它應(yīng):先終止然后重啟出現(xiàn)故障的進(jìn)程而無需重啟系統(tǒng),或者,終止故障進(jìn)程和相關(guān)進(jìn)程,初始化硬件使其進(jìn)入“安全”狀態(tài),然后以協(xié)調(diào)方式重啟終止的進(jìn)程,或者,如故障比較嚴(yán)重或危及安全,能以受控方式關(guān)機(jī)或使整個系統(tǒng)復(fù)位,并向系統(tǒng)操作員發(fā)出報警。
在所有情況下,監(jiān)視程序都必須能自我監(jiān)控并靈活響應(yīng)內(nèi)部故障。如果監(jiān)視程序意外停止,它必須通過一個鏡像進(jìn)程復(fù)制本身的狀態(tài)。
最后,軟件監(jiān)視程序能監(jiān)視傳統(tǒng)硬件監(jiān)視程序看不到的系統(tǒng)事件。例如,硬件監(jiān)視程序能確保驅(qū)動程序?yàn)橛布?wù),但卻很難檢測到其他程序是否正與該驅(qū)動程序正確通話。軟件監(jiān)視程序能彌補(bǔ)這一不足,它會在驅(qū)動程序本身出現(xiàn)問題前采取行動。
結(jié)論
發(fā)達(dá)國家的人口老齡化趨勢和健康預(yù)算緊縮都促使醫(yī)療服務(wù)方式由常規(guī)醫(yī)院模式向遠(yuǎn)程醫(yī)療和家庭自助模式轉(zhuǎn)變。這些變化和最新技術(shù)推動遠(yuǎn)程醫(yī)療設(shè)備的市場不斷擴(kuò)大,其發(fā)展速度之快在十年前是難以想象的。
設(shè)備制造商通過認(rèn)真分析所選操作系統(tǒng)的性能特征,從而降低成本并提升其產(chǎn)品順利通過行業(yè)認(rèn)證而在市場上大獲成功的機(jī)會。采用曾多次成功通過產(chǎn)品安全認(rèn)證(有據(jù)可查)的供應(yīng)商提供的微內(nèi)核實(shí)時操作系統(tǒng),能幫助客戶減少順利獲得FDA、MDD和其他標(biāo)準(zhǔn)認(rèn)證所需的費(fèi)用。
評論