随着医疗设备功能的增加,需要有更强大和复杂的嵌入式软件组件。用于将设备与外界相连的技术,如网络互连或USB,通常需要用软件栈来实现。这些软件栈通常要依靠操作系统(OS)来确保在医疗设备忙于其它任务的时候,发送到医疗设备的数据不会丢失信息。软件栈越复杂,那么操作系统就更多地从简单的实时操作系统(RTOS)向功能全面的操作系统靠拢。然而,许多医疗设备仍然需要RTOS的实时可靠性,用以确保医疗设备与病人的通讯质量没有因为其与外界的通信而打折扣。大多数商业的RTOS不仅仅只提供操作系统,还提供有许多与外部设备通信所需的软件栈。因此,嵌入式开发人员可以开发出用于强大和差异化医疗设备所需要的软件。
但是,使用商业操作系统感觉上易被某个商业操作系统供应商锁定。因此,很多医疗设备制造商选择使用开源操作系统,因为开源操作系统对功能、成本以及供应商的中立性三者做了很好的平衡。例如,Linux操作系统在医疗设备中有着良好的使用记录。但是,Linux操作系统不能满足所有医疗设备软件的需求,因为Linux操作系统占用空间大,往往需要为嵌入式设备增加额外的内存和成本,并且有时候不能满足那些用于采样或处理实时大量数据的医疗设备的实时处理要求。相比其它桌面操作系统,Linux操作系统是非常可靠的。但是Linux操作系统的安全性不够,而RTOS有很好的安全性(已经被应用在航空电子、汽车、工业控制等行业中)。若是开发人员着重空间、性能和安全性,并且不愿意牺牲Linux操作系统所提供的供应商中立性以及复用选项,那么也可以使用基于开放标准的商业化RTOS产品。
基于开放标准的RTOS,如POSIX(可移植操作系统界面),是开源操作系统的又一个选择。POSIX是一个开放式操作界面标准,它对操作系统各个方面,如信号、调用、进程和线程管理有若干要求。这类操作系统的功能与Linux操作系统非常相似,因为它提供有供医疗设备与外界相连所需要的软件栈,并且可以兼容针对Linux操作系统编写的应用程序,只需要将应用程序经过简单的重新编译即可轻松移植进来。开放式标准接口也使得代码今后的移植被简化,并且消除了使用带有专利接口的实时操作系统时所存在的供应商锁定威胁。基于标准的开放式RTOS的最大优势是,它有实时系统的血统,具有确定性和可靠性以及安全性背景,而这是开源操作系统所不具备的。
Elekta是一家国际医学技术公司,该公司当前以及未来的医疗设备使用了一款基于开放标准的RTOS。该公司新一代医疗设备以来自LynuxWorks公司的基于POSIX的LynxOS – SE为核心。
Elekta公司专业生产用于治疗癌症和脑疾病的放射治疗及放射治疗系统。Elekta Synergy图像引导放射治疗系统在治疗时采用3 – D高清晰度成像。该技术将患者评估和开始治疗的过程加以简化。它还给医生提供最新的图像数据,这样他们就可以瞄准更大比例的病变区,同时尽量减少对周围健康组织的损伤。
该公司目前的产品开发工作包括一个数字治疗控制系统,该系统用于驱动数字直线加速器类产品。对这项技术而言,公司能够迅速地将软件应用程序移植到多个产品,以便提高其可靠性和缩短产品的上市时间,这一点很重要。至于其新款治疗系统和下一代产品,Elekta公司希望找到一款高性能的对硬盘分区有额外要求的操作系统—这要就可以同时运行其它应用程序,而彼此互不干扰。为了满足这些标准,Elekta公司选择了一款基于开放式标准的系统,该系统使用了POSIX技术。由于LynxOS – SE系统符合POSIX标准,并且完全支持POSIX.1标准,所以Elekta公司可以让RTOS在未来项目的平台之间移植软件。
Elekta公司英国设计中心的工程师小团队设计了一款采用LynxOS – SE操作系统的新产品(见图1)。该工程团队拥有丰富的实时系统开发经验,并且在其项目时间进度内完成了设计任务,包括软件移植和编写驱动程序。LynxOS – SE所具有的可移植性和开放标准要素是能够短时间设计出首个原型产品的基础。团队的另一个关键目标是创建一个通用的平台,在此基础上建立未来的产品。该平台将包括放射治疗系统,以及其它一系列产品,这将使复杂的程序变得更快和更有效。
因为Elekta公司未来的产品战略还将考虑某些基于64位多核技术(LynxOS - SE操作系统已经支持该技术)的新硬件架构,所以代码不仅限于在几个系统之间移植,它也可以跟上以后出现的新技术。LynxOS - SE操作系统也可以被用于下一代虚拟化硬件平台。
设备虚拟化
将医疗设备虚拟化的想法似乎有些奇怪,但是将医疗设备上运行的软件虚拟化可以使未来的设备平台从中受益。虚拟化操作系统已被广泛应用于服务器和数据中心,并正推动软件应用在云计算中的使用。虚拟化技术还具有能够提高嵌入式系统尤其是医疗系统的功能、可用性和安全性的潜力。有一个安全软件虚拟化的例子,请参阅侧栏“虚拟化安全”。
若只是要求同时连接设备和运行多个应用程序,传统的操作系统和RTOS就足以胜任。然而,若是单一设备需要有一个复杂且熟悉的GUI,要求与台式机类似并且还要兼具RTOS的实时性,那么没有那款桌面操作系统或实时操作系统能够两者兼顾。虚拟化技术可以---通过在单一系统中运行多个虚拟操作系统,可以使用传统的桌面操作系统(如,微软Windows)来开发用户界面;而实时患者信息部件则采用传统的实时操作系统(RTOS),如LynxOS - SE。在本案例依赖一款具有实时属性的虚拟化系统来实现,并且还用到了一个分离内核和管理程序(hypervisor)组合产品。
分离内核是一个小型、轻量级操作系统,它与处理器的连接是最低级别的。它提供有运行应用程序的安全分区,而且每个分区都给定有其它分区无法访问的物理和虚拟资源。分离内核不提供诸如磁盘或网络访问等传统的操作系统功能,但它管理程序调度和存储功能,以及每个分区有哪些物理设备(磁盘,图形,网络等)可用。若将分离内核与嵌入式系统管理程序相结合,那么就能够在相同的硬件平台上同时运行多个操作系统(同时保持它们之间的分离)。
嵌入式管理程序技术能够为虚拟化客户机操作系统提供不同的方案。对准虚拟化的客户操作系统加以修改,以便与底层管理程序更加密切地工作。有虚拟化支持的处理器可以提供更好的性能,因为它对操作系统和管理程序以及与底层处理器之间的协同工作进行了优化。这种半虚拟化方案通常被RTOS的虚拟化,其中性能和实时性是关键。对于不能修改或不要求具备实时性能的操作系统,管理程序可以提供一个完整的虚拟化方案。该方案显示底层硬件的虚拟视图,看上去和真实的硬件平台完全相同;因此客户机操作系统会以为它是运行在真正的硬件平台上。
软件分区和管理程序虚拟化还有助于硬件整合,很多医疗应用对此尤其感兴趣。通过让分立的系统运行在自己的分区和允许不同的操作系统和应用程序在这些分区上运行,能够将物理上独立的多个系统整合成单个的物理硬件。
因为分离内核和嵌入式管理程序(hypervisor)设计用于嵌入式实时系统,所以RTOS可以运行在与传统桌面操作系统相同的物理系统中,并且不用牺牲RTOS的实时性或桌面操作系统的功能。这种嵌入式虚拟化的关键特性是分离内核所提供的内置安全性。它让不同的操作系统和其上的应用程序访问同一系统上不同的设备。例如,在Windows操作系统上运行的所有应用程序,包括潜在的恶意攻击,除非明确地被允许(如控制应用),否则都不能干预实时系统。因此,病人敏感的信息和设备不会曝光给外界。
结论
高级嵌入式软件技术可以提高医疗设备的连接性和安全性。这些专用操作系统和运行在该操作系统上的任何应用程序仍可保持独立版本和虚拟化版本,并且可以无缝地移植到虚拟医疗平台。这种接口使医疗设备公司能够将其现有应用程序移植到具有桌面功能和与某个端口相连的系统,并且不会影响医疗设备的安全性。