如何为远程医疗设备选择合适的实时操作系统?
扫描二维码
随时随地手机看文章
发达国家的医疗保健服务已经超越了以医院为中心的模式,以初级和二级医疗为重点而不仅局限于医院。这些举措推动了用于医院之外、通常由病人自己使用的远程医疗设备的发展。
对远程医疗设备的迫切需求正在推动市场增长。美国2010年的无线消费医疗设备销售额达到6亿美元,2011年有望达到13亿美元 ,然而与全球医疗设备市场每年2000 亿美元的销售额相比仍然微不足道。
操作系统 - 关键区分要素
操作系统是所有电子医疗设备的关键区分要素,而且制造商也非常明白这一点。事实上,他们往往在选择板卡前先选择操作系统。
图 1 不同行业中首先选择操作系统的项目所占比率
本文的讨论未包括消费级医疗设备,例如其发生故障时不会造成严重后果。对于出现故障时会导致严重后果的设备,可将其操作系统的关键特征归类如下:
· 可信性:在规定的时间内对事件进行及时正确地响应
· 连接性:直接或通过网络与不同设备和系统进行通讯
· 数据完整性和安全性:安全地存储数据并防止未经授权的查阅
以上每个特征都值得深入讨论,在此我们只重点介绍其中最重要的一种特征--可信性。
图2 一种简单的远程病人监护网络
选择GPOS 还是RTOS?
可信性将可用性和可靠性合二为一。可用性要求系统能够及时响应请求的概率,可靠性则表明响应的正确率。对一个可靠的操作系统的要求是排除使用通用操作系统(GPOS),因为GPOS不能提供严格的可用性和可靠性的保障。
与此相反,实时操作系统(RTOS)本身就是为了保证可用性和可靠性而精心设计的。设计人员可以信赖实时操作系统随时响应需求的可用性和按要求完成任务的可靠性。因此,可以得出这样的结论,即:大部分的医疗设备需要实时操作系统。
实时操作系统架构
即使像配药机这样简单的设备也不允许出现故障。假如故障导致数据损坏,配药机可能改变剂量,最终的严重后果可想而知。既然操作系统架构对系统的可靠性有重要影响,那么首先就应对它进行严格评估。实时操作系统最常见的三种架构是实时执行、宏内核和微内核。
实时执行架构
基于实时执行架构,所有的软件组件包括内核、网络协议栈、文件系统、驱动程序和应用程序都在同一个内存地址空间内运行。这种架构虽然高效,但它有两个明显缺点。首先,任何模块内的单个指针错误都可能损坏内核或任何其他模块所用的内存。其次,系统崩溃后不会留下诊断信息。
宏内核架构
有些实时操作系统通过宏内核架构(其中的程序可作为内存受保护的进程运行)解决可能引起整个系统故障的内存错误。这种架构的确能防止用户故障代码损坏内核。但是,内核组件仍与其他服务共享相同的地址空间。因此,任何服务中的单个编程错误都可能导致整个系统崩溃。
微内核架构
在微内核实时操作系统中,设备驱动程序、文件系统、网络协议栈和应用程序都运行在内核外部的独立地址空间,因此它们不仅与内核隔离,而且彼此之间也互不影响。一个组件出现故障不会导致整个系统瘫痪,组件中的内存故障不会影响其他进程或内核。这样,操作系统就能自动重启故障组件。
图 3 病人监护系统中的微内核操作系统
实时操作系统的关键特征
在众多操作系统特征中,除了系统架构必须仔细评估,其他重要特征包括:
· 确保实时性
· 防止优先级反转
· 确保可用性
· 监视和重启进程
确保实时性
对所有需要确保实时性的系统而言,抢占式内核至关重要。例如,病人摔倒时触发了报警器应能抢占进程并发出警报。
为确保优先级高的进程随时获得所需的CPU周期,实时操作系统的内核需要进行抢占式运行,此外内核的设计必须尽可能简单,以保证最长的不可被抢占代码路径有执行时间的上限。只要操作系统的内核能将任务密集的运行分配到外部进程或线程,并只包括路径短的服务就能在操作系统内核实现这种简洁性设计。