Android應用于嵌入式醫(yī)療設備中優(yōu)勢分析
在過去十年,特別是在最近幾年,對如何將“重量級”的主流操作系統(tǒng)(OS),如Windows、Windows CE和Linux用于醫(yī)療設備,開發(fā)人員的興趣顯著提升。推動因素有很多,如今的醫(yī)療設備用戶希望醫(yī)療設備擁有多個高級接口,并且很多開發(fā)人員已經有在臺式電腦和服務器上使用這些操作系統(tǒng)和相關工具的經驗。就在不久前,如果想要選擇一款功能豐富的操作系統(tǒng),用于嵌入式醫(yī)療設備的開發(fā),那么有兩個典型的選項:微軟Windows CE(有時是桌面Windows本身)或Linux(或其它Unix變體)。
本文引用地址:http://2s4d.com/article/201706/350327.htm在二者中,Windows CE的優(yōu)勢在于,它是一款完全集成的開發(fā)平臺,從設備驅動程序一路到應用程序框架。有些開發(fā)人員可能不太喜歡Windows CE,但Windows CE可以一種快速而簡單且難度最小的方式啟動某個項目,這一點幾乎很少有人會反駁。CE同樣存在不足之處:使用需要支付版稅,并且其代碼庫被微軟公司控制。但值得注意的是,后者也會帶來一些好處。
Linux和其它Unix變體具有免費和開放源碼的優(yōu)勢,但一直以來,若要將它們用于嵌入式設備(尤其是那些配置有高級用戶接口的設備),存在很大障礙。 Linux操作系統(tǒng)原本設計用于臺式機/服務器,且典型分布包含有很多特性(要占用幾兆字節(jié)空間和幾個CPU周期),但嵌入式系統(tǒng)根本不需要或者極少用到這些特性。因此,一直以來,若要在Linux操作系統(tǒng)中啟動某個嵌入式新項目,需要多名開發(fā)人員花上幾周的時間來創(chuàng)建輕量級(lightweight)軟件映像,帶有所需的功能子集,并且有附加的供嵌入使用的資源。雖然手動搭建Linux映像可以優(yōu)化事件,但結果仍然沒有被完全優(yōu)化—有許多用于臺式機的重要代碼不能被削減,并且它們不能高效地利用存儲器、CPU和/或功率。
因此,在過去,要么選擇容易上手的專利系統(tǒng)(Windows CE),或是選擇需要開展大量工作才能啟動的免費和開放的系統(tǒng)(Linux和Linux家族)。
谷歌的Android操作系統(tǒng)進入嵌入領域的時間相對短一些。從根本上講,Android的目的是在Linux操作系統(tǒng)的基礎提供一款功能全面的嵌入式系統(tǒng)框架??偟膩碇v,Android旨在使Linux /免費軟件像Windows CE一樣即開即用、易于使用。
谷歌在2007年11月首次發(fā)布Android,當時它被定位成一款針對智能手機的操作系統(tǒng)。Android已經取得明顯成功:在不到三年的時間里,Android已經成為最流行的智能手機操作系統(tǒng),全球有一半的智能手機使用Android操作系統(tǒng)。每年有10000萬臺Android手機進入市場。
開發(fā)人員后來迅速地意識到:除了手機之外,Android在嵌入式應用中也大有用武之地。當前的很多嵌入式設備和手機具有很多相同的屬性:小尺寸液晶顯示屏/觸摸屏、豐富的圖形用戶界面、低功耗處理器、豐富的連接選項(蜂窩、無線、藍牙,等)、電池供電、等等。
因為要考慮可靠性問題,在采用新技術這一塊,醫(yī)療設備開發(fā)人員一直以來稍稍落后。在等到新技術成熟之后,再將其用于美國FDA監(jiān)管的設備,這樣做很重要。但是Android操作系統(tǒng)是雜交品種:雖然這項技術相對較新,但是Android是以Linux技術為基礎的,而經過檢驗的Linux技術已經在行業(yè)中為人所熟知。
Android是什么?
Android是一款完整的操作系統(tǒng)和應用框架,設計用于ARM處理器。
Android在根本上使用的是Linux,但為了將其搭建成一款用于快速開發(fā)的完整框架,谷歌從以下多個方面對其進行了升級和擴展:
1. Android內核支持用于實現(xiàn)更高效電源管理的擴展,并對進程之間的通信進行了修改。
2. Android用自己的Bionic替換了Glibc庫。Bionic庫占用的容量小且速度快,并且Bionic庫支持BSD授權而不是GPL授權,從而使用戶不需要GPL授權。
3.包括有嵌入應用程序需要經常用到的多個庫,如WebKit(網頁渲染)、媒體框架、SQLLite和其它庫。
4.有一個硬件抽象層,用于定義硬件驅動程序所需要的接口。
5.機器人運行環(huán)境,由Dalvik,優(yōu)化用于嵌入式應用的Java虛擬機和用于應用程序開發(fā)的核心Java API組成。盡管Android的“主導模式”是在Java環(huán)境下開發(fā)應用程序,但也可以用C和其它語言來編寫應用程序,然后使用本地開發(fā)工具包將其編譯成本地ARM代碼。
6. Android應用程序框架,用于實現(xiàn)Java Android應用程序的面向對象的標準結構。
Android是開源的,但設計目標是為了將商業(yè)開發(fā)人員與GPL更好地分隔開。Linux內核在GPL之下,但Android其余大部分的內容以更為較寬松的Apache授權進行發(fā)布,允許其在專有和開源開發(fā)中使用。簡單來說,相比標準Linux,Android讓授權變得更加簡單和明了。
谷歌還開發(fā)了一套非開源的應用程序,包括Android Market和GPS套件。它們主要被用于手機。
要不要在我的醫(yī)療設備中使用Android?
給醫(yī)療設備選定操作系統(tǒng),在很大的程度上和為任何其它設備選擇操作系統(tǒng)是一樣的:我們選擇我們認為能夠將醫(yī)療設備的價值在其生命周期內最大化的操作系統(tǒng)。需要考慮的因素包括:
產品能多快上市?
開發(fā)成本為多少?
這一選擇將如何影響我們銷售商品的成本?
授權費用為多少?
一旦我們的產品推向市場之后,維持技術性成本需要多少錢?
我們對我們的時間/成本估算有多大的信心?
如果是一個醫(yī)療項目,則還要包括以下一個額外的問題:
做這個選擇,是否能得到一款風險能被病人和用戶所接受的設備?
眾所周知,醫(yī)療器械和其它大多數(shù)設備不同,因為醫(yī)療器存在重大風險,特別是病人而言。依據醫(yī)療設備對病人的危險程度以及FDA認為合理的監(jiān)管審查力度,F(xiàn)DA將所有醫(yī)療設備劃分為三大類。
I類設備的風險最小,包括像壓舌板、繃帶和基本的手術器械。 II類設備具有中等風險,包括心電圖機、X光機、血液氣體分析器和輸液泵。III類設備的風險最高,包括植入式除顫器,人工心臟瓣膜和植入式小腦刺激器。
相比主要針對可靠性而設計的更小型、更方便測試的操作系統(tǒng),重量級操作系統(tǒng)(如Android)基本上更容易出現(xiàn)故障。這倒不是說重量級操作系統(tǒng)必然經常出故障。對于許多設備而言,每年一次重新啟動來修復軟件鎖定就可以了。因此,所以,考慮到重量級操作系統(tǒng)所具有的用戶界面更好、上市速度更快以及其它優(yōu)點,偶爾重新啟動帶來的不便可以被原諒。但是,對于植入式除顫器來說,每年重新啟動一次可能是不行的。
依據通常的經驗,Android和與之類似的操作系統(tǒng)適用于I類和II類設備,而III類設備通常需要使用具有高可靠性的更小型的操作系統(tǒng)。當然,每臺設備的情況不同。不論是開發(fā)何種醫(yī)療設備,我們都要充分考慮和了解與操作系統(tǒng)相伴隨的風險。
一個用于獲得“兩全其美”的方法是將處理任務分成兩部分:用一個采用高可靠操作系統(tǒng)的處理器來執(zhí)行核心功能,用一個采用重量級OS的處理器來處理沒那么重要的任務。輸液泵就是一個例子,一個采用高可靠性操作系統(tǒng)的處理器在輸液過程中控制電機,而另一個運行Android的處理器則運行GUI、通信,等等。請注意,用到兩個處理器的解決方案并不是一個立竿見影的靈丹妙藥。需要充分考慮和詳細規(guī)劃。要確保醫(yī)療設備的安全性和可測試性。
用戶眾多的優(yōu)勢
如果你所設計的嵌入式設備選擇使用Android,那么有成千上萬部手機所運行的Android堆棧和你的嵌入式設備所運行的Android堆棧,在本質是相同的。有大量的用戶在查找Android操作系統(tǒng)的漏洞,同時有龐大的開發(fā)社區(qū)致力于修復這些漏洞。盡管Android的可靠性不如輕量級專用操作系統(tǒng),但和從零開始開發(fā)Linux堆棧相比,Android是一款經過徹底調試的系統(tǒng)。此外,目前有超過10萬款支持Android的應用程序,其中有很多程序可以簡化和加速開發(fā)過程。這就是說,Android開發(fā)并不是很復雜,有龐大的開發(fā)人員群支持Android。
對于那些對軟件可靠性要求不高,且價格可以支持所需硬件的醫(yī)療設備,Android具有很強的競爭力。它在功能、資源需求和生產力之間做了很好的平衡,并且具有以規(guī)模龐大且繁榮的Linux產業(yè)鏈為基礎的額外優(yōu)勢。
評論