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