医学诊断超声和其它系统的协同定位操作系统之间的通信的制作方法

文档序号:1097864阅读:201来源:国知局
专利名称:医学诊断超声和其它系统的协同定位操作系统之间的通信的制作方法
技术领域
本发明涉及具有多个操作系统或协同定位的(co-located)进程的嵌入系统。具体地,为医学诊断超声系统或其它系统提供协同定位的操作系统或进程之间的通信。
背景技术
许多复杂系统、例如医学成像系统包括不同软件。有些软件在一种类型的操作系统、例如微软Windows NT上运行。其它软件在实时操作系统上运行。为不同软件提供不同硬件组、例如两个不同主板。基于套接字的协议可被用于两组硬件之间的通信。网络接口卡、以太网电缆线路、路由器或其它连网设备提供基于套接字的通信机制。采用基于套接字的通信的软件可以只针对给定硬件组而设计,从而限制改变为替代通信的能力。
在同一系统或处理器上交替地执行不同进程。例如,Windows实时扩展允许实时操作系统以与Windows NT操作系统协同定位的方式运行。为了在两个进程或相关的操作系统之间进行通信,设置有邮箱或共享存储器通信。两个操作系统管理具有持久信息的共享文件系统。采用开销通信来管理共享存储器,以致一个进程可将数据存储到共享存储器以供其它程序检索。采用共享存储器会引入延迟,以及需要用于通过共享存储器的通信的开销处理。

发明内容
作为介绍,下面描述的优选实施例包括用于操作一个计算机系统、多个计算机系统的方法,以及具有用于操作计算机系统的指令的计算机可读存储介质。两个不同的操作系统、例如一个采用Windows实时扩展的操作系统和另一个采用Windows NT或其它的非实时操作系统可在同一系统或硬件上实现,例如协同定位于同一处理器上,而无需改变客户软件。在同一处理器或系统上运行两个或更多软件进程。软件进程采用套接字应用编程接口进行通信。套接字通信的使用允许进程进行通信,就好象进程在不同系统上。在被提供给用于外部传输的硬件之前,两个操作系统之间的套接字通信被分层服务提供器拦截。套接字通信重新路由至目的地操作系统的套接字堆栈。套接字通信对于应用软件或中间件层软件来说是透明的。通过在两个协同定位的操作系统之间提供套接字通信,可避免执行新的通信协议的成本。
在第一方面,提供一种用于操作医学诊断超声成像系统的方法。利用实时操作系统实时地控制所述医学诊断超声成像系统的操作。医学诊断成像系统的操作还利用非实时操作系统来控制。这两个操作系统可操作用于共享医学诊断超声成像系统的硬件。实时操作系统采用套接字通信与非实时操作系统进行通信。
在第二方面,提供一种用于操作计算机系统的方法。该计算机系统利用实时操作系统来实时地控制,并且还利用非实时操作系统来控制。这两个操作系统是协同定位的。在这两个操作系统之间采用套接字通信进行通信。
在第三方面,提供一种计算机可读存储介质。该计算机可读存储介质在其中存储有表示由用于操作医学诊断成像系统的计算机可执行的指令的数据。这些指令用于利用实时操作系统以及非实时操作系统来实时地控制医学诊断成像系统的操作。这两个操作系统可操作用于共享医学诊断成像系统的硬件。这两个操作系统彼此采用套接字通信进行通信。
在第四方面,提供一种计算机操作系统。处理器可操作用于基本上同时运行具有实时扩展的操作系统和非实时操作系统。端口可操作用于提供在处理器外部的套接字通信。两个操作系统可操作地用于利用在传递至端口之前被拦截的套接字通信进行通信。
本发明由下面的权利要求来限定,并且本部分中的内容不应被视为对那些权利要求的限制。本发明的其它方面和优点在下面结合优选实施例进行论述,并且可以在以后独立地或以组合的形式要求保护。


图中的组件不一定按比例,而重点被放在解释说明本发明的原理。此外,在图中,相同的附图标记在所有不同的视图中表示相应的部分。
图1是采用不同应用程序进程的计算机系统的一个实施例的框图;图2是在不同应用程序之间提供套接字通信的一个实施例的软件堆栈的图形表示;以及图3是在用于在不同控制进程之间进行通信的方法的一个实施例的流程图。
具体实施例方式
同一处理器或系统的两个不同操作系统、例如实时和非实时操作系统上所执行的应用软件利用服务提供器接口的套接字调用来进行通信。在同一处理器上运行的应用程序之间的通信对于应用程序而言是透明的,从而避免了为了在协同定位的进程之间进行通信而改动应用程序或客户软件。通过避免共享存储器访问或避免进程之间通信的外部路由而减少执行成本和开发风险。微软服务提供器接口或其它类似协议堆栈提供嵌入系统的实时和非实时组件之间的透明的套接字通信。
图1示出用于计算机、医学成像系统、医学诊断超声成像系统或其它系统的系统10的一个实施例。系统10包括处理器12、端口14和共享存储器16。此外,可提供不同或更少的组件,例如处理器12在主板上或其它电路板上实现。作为另一个实例,设置多个端口14。
处理器12是通用处理器、数字信号处理器、控制处理器、电路板、计算机、微处理器,上述的组合或其它现在已知或以后研发的用于运行软件或执行软件进程的装置。处理器12可操作用于运行两个或更多不同的操作系统18、20。操作系统共享相同的硬件,但可被配置成控制系统10的不同方面。例如,设置非实时和实时操作系统。实时操作系统以例如由Windows操作系统提供的实时扩展来运行。非实时操作系统是通用个人计算机操作系统或具有可操作用于控制端口14上的数据传输的服务提供器接口22的其它系统。在一个实施例中,通用个人计算机操作系统是Windows NT,2000或XP系统。可提供其它基于Windows或非Windows的通用操作系统,例如基于Linux的操作系统。在替代的实施例中,采用两个实时或两个非实时操作系统。
操作系统由处理器12基本上同时、例如利用同一处理器的共享处理来实现。基本上同时的操作包括一个操作系统相对于另一个操作系统的不常见的操作,其中两个操作系统在处理器12上驻留或运行,而无需与加载操作系统或唤醒操作系统相关的信息真正地进出存储器的传输。例如,实时操作系统20通过使非实时操作系统18作为实时操作系统的低优先级线程而拥有、控制或管理处理器12。
实时操作系统20包括服务库或服务集合以及使用处理器12、系统10、共享存储器16、驱动器或其它组件的程序。在一个实施例中,操作系统20是Windows实时扩展操作系统。操作系统20包括应用程序进程24、BSD套接字库26和及时套接字服务28。此外,可设置不同或更少的软件组件。
应用程序24执行用于控制被分配给实时操作系统20的系统20的硬件部分的操作。例如,在医学诊断成像系统中,实时操作系统20和相关的应用程序24可操作用于控制作为成像参数的函数的成像。应用程序24沿着成像路径控制多个函数。对于超声系统来说,参数可控制发射束形成器、接收束形成器、滤波器、检测器、扫描转换器或其它成像特征的操作。通过采用实时扩展和实时操作,提供有保证的成像处理或控制,因此可得到实时成像。操作系统20和相关的应用程序24在有保证的或设定的时间量内响应中断,例如根据优选级的定时中断处理。
套接字库26和套接字服务28是进行套接字调用的软件包或协议堆栈的两个实例。在替代的实施例中,可提供不同的现在已知的或以后研发的用于套接字处理的软件。及时套接字服务28提供利用实时扩展的套接字通信。套接字库26提供调用库或相关的可用的套接字通信。套接字库26是用于在操作系统、例如与不同处理器相关联的操作系统之间进行通信的TCP/IP信息库。套接字通信可包括将用软件来传输的日期,该软件对于提出请求的应用程序来说是透明的。
非实时操作系统18包括服务集合或服务库以及使用处理器12、系统10、驱动器、共享存储器16或其它组件的程序。非实时操作系统18包括应用软件30、应用程序接口32、服务提供器接口22和传输服务提供器34。可设置附加的不同的或更少的组件。在一个实施例中,非实时操作系统利用Windows NT,2000或XP来实现。可采用其它现在已知的或以后研发的非实时操作系统。采用轮转(round robin)线程来提供非实时操作。在接收到中断时或在没有优选级的情况下处理中断。当实时操作系统20作为低优先级线程来实现非实时操作系统18时,如果当前没有实时中断被调度,则执行或调度非实时操作系统20的中断。
应用程序30控制被分配给非实时操作系统18的系统10的硬件的操作。例如,应用程序30控制存储在共享存储器16或远程随机存取存储器中的成像参数数据库。应用程序30还控制用户接口组件、例如键盘、用户输入设备、显示器、监视器或用户输出设备。应用程序30可附加地或替代地控制图形或其它显示处理。可采用控制函数的其他分布。
端口14是网络接口卡、以太网电缆、路由器或其它用于从处理器12到其它处理器或远程设备进行通信的网络设备。如图1所示,端口14由非实时操作系统18的传输服务提供器34来管理。在替代的实施例中,端口14由实时操作系统20或由两个操作系统18、20来管理。端口14可操作用于在处理器12外部的套接字通信。实时操作系统20和非实时操作系统18可操作用于利用套接字通信通过端口14与远程设备进行通信。由实时操作系统20和相关的应用程序24所产生的套接字调用通过套接字服务28被路由到非实时操作系统18的服务提供器接口22。套接字库26和套接字服务28还可指示给定套接字通信的地址、例如在处理器12外部的设备的地址。服务提供器接口22执行对普遍存在的套接字库的调用,该调用指示用于通过端口14进行通信的设备的存在和位置。服务提供器接口22执行套接字以通过端口14移动数据,例如通过控制通过端口14的读操作。传输服务提供器34按照来自服务提供器接口22的指令控制硬件或驱动端口14。在处理器12的端口14上所接收的套接字通信然后利用服务提供器接口22被路由到适当的应用程序20、24。
图2示出由非实时操作系统18和/或实时操作系统20执行的软件协议堆栈的一个实施例。该协议堆栈将根据如图1所示的非实时操作系统18进行描述。该协议堆栈相当于操作系统18和与端口14相关的TCP/IP协议软件之间的Winsock 2软件应用程序接口。在替代的实施例中,可使用除了Winsock 2以外的其它接口软件、例如其它现在已知的或以后研发的软件,包括BSD套接字库26和/或及时套接字服务28。协议堆栈是ISO参考模型中传输层上的网络编程接口。该堆栈包括两个彼此间进行通信的应用程序40和42。这些应用程序包括中间件、中间层软件或较高层软件。应用程序40和42在两个不同的操作系统18和20上实现,或在处理器12和远程处理器之间实现。
应用程序40、42与Winsock应用程序接口32进行通信。该程序接口提供套接字库调用以作为传输控制协议(TCP)或用户数据报协议(UDP)与系统上的应用程序40和42之间的传输层起作用。应用程序40、42可引用软件调用和例行程序以利用应用程序接口32访问底层网络服务。
动态链接库46允许可执行代码模块按要求被加载并在运行时被链接。由于在运行时进行链接,可对应用程序40和42透明地更改和改动代码。
传输和名称空间服务提供器接口22和50限定网络或通过端口14的外部通信如何通过应用程序接口32与操作系统连接。这种服务提供器接口22、50允许作为服务的传输提供器或协议堆栈的开发。例如,由图1所示的套接字服务28建立的实时套接字是一直运行的后台服务。服务提供器接口22、50提供用于建立连接、传输数据、行使流控制、误差控制以及传输和名称空间服务的其它通信的功能。名称空间服务提供器接口50识别地址和其他网络地址以及用于例如通过因特网或其它局域网连接与远程设备进行通信的服务的端口号。该服务提供器在硬件上直接连接软件层,以提供标准接口来操纵PCMCIA卡、适配器和其它套接字。
传输服务提供器接口22包括执行更高级定制通信功能的分层服务提供器软件。该软件可重复使用或停留在套接字顶部。底层基础提供器然后执行与如由传输和名称空间服务提供器52、54、56和58所表示的远程端点的硬件数据交换。服务提供器52、54、56、58在图1中通常被表示成标号为34的传输服务提供器。该服务提供器通过端口14实现套接字。响应于套接字调用,由传输服务提供器34产生通过端口14的通信。嵌入在应用程序、例如应用程序40、42中的中间件通信软件管理名称空间。图2所示的堆栈软件处理与套接字的同步,正执行的通信的类型、例如广播、确认或用于处理消息的回叫。还实现用于匹配名称与端口14中的IP地址的名称空间。
图2中所表示的软件还可用于协同定位在同一处理器12上的操作系统18、12与相关的应用程序30、24之间的通信,而无需使用端口14或套接字。操作系统18、20利用在传递至端口14之前被拦截的套接字通信进行通信。服务提供器接口被用于提供透明的套接字通信。分层服务提供器被写入以在套接字调用被传递至硬件层之前将其拦截。用于协同定位的操作系统的在图2中所示的协议堆栈可采用分层服务提供器来拦截套接字调用。不同操作系统18、29的套接字调用与不同的地址相关。具有实时扩展的操作系统20作为客户起作用,而非实时操作系统18作为访问端口14的服务器起作用。操作系统18和20均与硬布线的地址或用于相互通信的端口相关联。在替代的实施例中,实时操作系统20作为非实时操作系统18客户的服务器起作用。服务提供器接口作为运行在后台的驱动器被实现,从而允许应用程序和控制软件在同一处理器12上运行,但通过套接字调用或套接字通信与不同的操作系统18、20进行通信,而无需改变客户软件。通信通过驱动器来处理,而不必通过一个操作系统18、20向共享存储器16写入数据并通过其他操作系统20、18读出该数据。
在非实时操作系统18上的服务提供器接口22的分层服务提供器可操作用于拦截与非实时操作系统18或采用实时扩展的操作系统20相关联的套接字通信。然后,分层服务提供器可操作用于将套接字通信路由到操作系统20、18中的另一个操作系统的套接字流。例如,由非实时操作系统18寻址至实时操作系统20的套接字服务28的套接字调用被拦截并被发送到同一处理器12内的套接字服务28,而无需利用端口14的外部通信。来自其它硬件的应用程序30的其它调用被传递至该硬件或通过端口14的套接字传递。源自实时操作系统20和相关联的应用程序24的调用(1)以环回地址或本地非路由地址被发送给其自身,或者(2)通过协同定位的Windows IP地址来传递。如果针对非实时操作系统18被寻址,由实时操作系统20所产生的套接字调用被非实时操作系统18的服务提供器接口22的分层服务提供器拦截。
在医学成像的实现中,非实时操作系统和相关的应用程序30管理成像特征参数的数据库并管理用户接口,例如成像类型的用户输入选择。实时操作系统20和相关的应用程序24基于通过套接字通信从非实时操作系统18传递来的参数来控制各种成像系统部件,例如束形成器。实时操作系统20可提供时间信息或其它与成像或来自受控硬件的反馈相关的数据,以便由非实时操作系统18的应用程序30进行记录、保持或显示。在一个操作系统18、20与另一个操作系统20、18相互作用或使用来自另一个操作系统20、18的信息的情况下,提供用于医学成像或其它计算机系统操作的套接字通信。
图3示出用于操作计算机系统、例如医学诊断成像系统或医学诊断超声成像系统的方法的一个实施例。用于执行系统操作的软件作为可由操作该系统的计算机执行的指令被存储在计算机可读存储介质上。例如,指令被存储在缓冲器、高速缓冲存储器、RAM、ROM、可移动介质、硬盘驱动器、上述的组合或其它现在已知的或以后研发的存储器。此外,可提供与图3中所示的不同的动作或更少的动作。
在动作70中,利用实时操作系统实时地控制计算机系统或其它系统。例如,实时地控制医学诊断超声成像系统的操作。可控制任何不同的操作,例如与束形成器、检测器、扫描转换器、滤波器、显示器、发送器、接收器或其它现在已知的或以后研发的医学成像硬件相关的操作。其它操作包括计算、用户接口选择和/或通信操作。操作系统通过一个或多个应用程序控制操作,该一个或多个应用程序作为操作系统的一部分、作为操作系统内的线程、驻留在操作系统上、按照操作系统运行或由操作系统管理。
实时地执行对操作的控制。例如,由操作系统提供对外部中断的有保证的响应时间。通过采用实时扩展或其它进程,可基于所分配的优选级控制不同的操作或中断。非实时操作可作为利用实时操作系统的操作控制的一部分被提供。例如,实时操作系统以低优先级线程实现非实时操作系统。不同的中断由两个不同的操作系统所拥有,例如与操作系统之间的硬件分配相关。
在动作72中,利用非实时操作系统来控制计算机系统。例如,利用非实时操作系统来控制医学诊断超声成像系统的操作。在一个实施例中,非实时操作系统为通用个人计算机操作系统,例如基于windows的系统。受控操作包括被分配给特定操作系统的计算机系统或医学成像系统的任何操作。例如,利用运行在非实时操作系统上的应用程序来控制用户接口和/或外部通信操作。可控制输入和/或输出用户接口操作。使用轮转排队技术来执行非实时操作。可使用其它非实时进程,例如分配执行中断的优先级或顺序,其无需作为时间的函数进行重组。
动作70的非实时操作系统和实时操作系统被并置、例如在同一处理器上运行。例如,实时操作系统将非实时操作系统作为应用程序或线程进行管理或者反之亦然。操作系统可操作用于共享计算机或医学成像系统的硬件。例如,共享存储器和/或处理器。系统内的其它硬件在不同操作系统之间进行划分,例如在系统内划分远程设备。例如,非实时操作系统运行应用程序或驱动程序以控制用户输入设备、显示器、网卡、外部通信端口和/或个人计算机系统的其它硬件。实时操作的嵌入系统的硬件、例如成像系统被划分给实时操作系统的应用程序。
在动作74中,两个操作系统之间的通信利用套接字通信进行。该通信利用服务提供器接口进行。例如,来自非实时操作系统的套接字调用由例如与非实时操作系统相关的通用个人计算机操作系统的服务提供器接口接收。硬件地址被提交至例如与实时BSD套接字服务相关的实时操作系统的非路由IP地址。来自非实时操作系统的套接字调用在分层服务提供器内被复制而不是被路由到硬件地址。所复制的套接字调用中的一组具有非实时操作系统的语义,而另一组具有实时操作系统的语义。复制在无需传给硬件传输的情况下拦截套接字调用。非实时操作系统的协议堆栈的分层服务提供器拦截该调用,将该套接字调用引入所期望的操作系统、例如非实时操作系统或实时操作系统。
未指示为到实时服务提供器的本地地址的、来自实时服务提供器的套接字调用被发送到所复制的IP套接字地址。结果,套接字调用被路由至非实时操作系统的分层服务提供器以便复制并插入到非实时操作系统的套接字调用流中。在套接字地址指示非实时操作系统的情况下,套接字调用利用软件来处理,而无需传递至用于进行外部通信的硬件。在IP套接字地址与外部通信相关的情况下,分层服务提供器将套接字调用路由至用于进行外部通信的硬件。类似地,在非实时操作系统产生实时操作系统的套接字通信地址、例如与BSD套接字库相关的地址的情况下,该调用在被发送至用于路由到实时操作系统的专用IP地址的硬件之前被拦截。
由于许多不同计算机系统或嵌入系统利用套接字通信来进行外部通信或与网络相关的通信,所以可改变服务提供器以提供协同定位的进程的套接字通信。具有实时操作系统和非实时操作系统的嵌入系统可利用套接字通信来减少硬件调用并降低复杂性,同时避免改变或变更应用程序或客户软件的需求。
作为在服务提供器接口层上拦截套接字通信的替代方案,可采用更高层软件来拦截或最初路由操作系统之间的套接字通信,例如API或DLL层。在另一个实施例中,例如在实时操作系统或两个系统都控制用于外部通信的端口的情况下,非实时和实时操作系统或只有实时操作系统拦截套接字调用。两个非实时或两个实时操作系统可利用如在此所讨论的套接字通信交替地进行通信。
虽然在上面已参照各种实施例对本发明进行了描述,但应当理解,在不偏离本发明的范围的情况下可以进行许多改变和修改。因此前述详细描述应被看作是说明性的而非限制性的,而且应当理解的是,下述包括所有等同方案的权利要求旨在限定本发明的精神和范围。
权利要求
1.一种用于操作医学诊断超声成像系统(10)的方法,所述方法包括(a)利用实时操作系统(20)实时地控制(70)所述医学诊断超声成像系统(10)的第一操作;(b)利用非实时操作系统(18)控制(72)所述医学诊断超声成像系统(10)的第二操作,所述实时操作系统(20)和非实时操作系统(18)可操作用于共享所述医学诊断超声成像系统(10)的硬件;以及(c)利用套接字通信在所述实时操作系统(20)和所述非实时操作系统(18)之间进行通信(74)。
2.根据权利要求1所述的方法,其中(a)包括保证(70)对外部中断的响应时间。
3.根据权利要求1所述的方法,其中(a)包括基于优先级来控制(70)所述第一操作。
4.根据权利要求1所述的方法,其中(b)包括利用轮转调度来控制(72)所述第二操作。
5.根据权利要求1所述的方法,其中(a)和(b)包括所述实时操作系统(20)管理作为低优先级线程的所述非实时操作系统(18)。
6.根据权利要求1所述的方法,其中(a)包括控制(70)医学成像以及其中(b)包括利用通用个人计算机操作系统运行(72)用户接口。
7.根据权利要求1所述的方法,其中(c)包括在无需转到硬件传输的情况下拦截(74)套接字调用。
8.根据权利要求7所述的方法,其中(c)包括利用分层服务提供器拦截(74)所述套接字调用。
9.根据权利要求7所述的方法,其中(c)包括利用所述非实时操作系统(18)的协议堆栈来拦截(74)所述套接字调用。
10.根据权利要求1所述的方法,其中(c)包括与服务提供器接口(22)进行通信(74)。
11.根据权利要求1所述的方法,其中(c)包括将来自所述实时操作系统(20)的调用路由(74)至所设定的端口(14)。
12.根据权利要求1所述的方法,其中(c)包括将所述实时和非实时操作系统(18,20)中的一个的套接字调用转向所述实时和非实时操作系统(18,20)中的另一个的套接字流。
13.根据权利要求1所述的方法,其中(b)包括利用通用个人计算机操作系统来控制(72)传输,并且其中(c)包括利用所述通用个人计算机操作系统的服务提供器接口(22)进行通信(74)。
14.一种用于操作计算机系统(10)的方法,所述方法包括(a)利用第一操作系统(20)来控制(70)所述计算机系统;(b)利用不同于所述第一操作系统(20)的第二操作系统(18)来控制(72)所述计算机系统,所述第一操作系统(20)和第二操作系统(18)是协同定位的;以及(c)利用套接字通信在所述第一操作系统(20)和第二操作系统(18)之间进行通信(74)。
15.根据权利要求14所述的方法,其中(a)包括利用实时扩展进行控制(70)。
16.根据权利要求14所述的方法,其中(b)包括利用轮转调度来控制(72)所述第二操作。
17.根据权利要求14所述的方法,其中(a)和(b)包括所述第一操作系统(20)管理作为低优先级线程的所述第二操作系统(18)。
18.根据权利要求14所述的方法,其中(c)包括利用分层服务提供器来拦截(74)套接字调用。
19.根据权利要求18所述的方法,其中(c)包括利用所述第二操作系统(18)的协议堆栈来拦截(74)所述套接字调用。
20.根据权利要求14所述的方法,其中(c)包括利用服务提供器接口(22)进行通信(74)。
21.根据权利要求14所述的方法,其中(c)包括将所述第一和第二操作系统(18,20)中的一个的套接字调用转向所述第二和第一操作系统(18,20)中的另一个的套接字流。
22.存储有表示计算机(10)可执行的用于操作医学诊断成像系统(10)的指令的数据的计算机可读存储介质,所述存储介质包括用于以下方面的指令(a)利用实时操作系统(20)实时地控制(70)所述医学诊断成像系统(10)的第一操作;(b)利用非实时操作系统(18)控制(72)所述医学诊断成像系统(10)的第二操作,所述实时操作系统(20)和所述非实时操作系统(18)可操作用于共享所述医学诊断成像系统(10)的硬件;以及(c)利用套接字通信在所述实时操作系统(20)和所述非实时操作系统(18)之间进行通信(74)。
23.根据权利要求22所述的存储介质指令,其中(a)包括基于优先级来控制(70)所述第一操作,以及其中(b)包括利用轮转调度来控制(72)所述第二操作。
24.根据权利要求22所述的存储介质指令,其中(a)和(b)包括所述实时操作系统(20)管理作为低优先级线程的所述非实时操作系统(18)。
25.根据权利要求22所述的存储介质指令,其中(a)包括控制(70)医学成像,以及其中(b)包括利用通用个人计算机操作系统来运行(72)用户接口。
26.根据权利要求22所述的存储介质指令,其中(c)包括利用分层服务提供器来拦截(74)套接字调用。
27.根据权利要求26所述的存储介质指令,其中(c)包括利用所述非实时操作系统(18)的协议堆栈来拦截(74)所述套接字调用。
28.根据权利要求22所述的存储介质指令,其中(c)包括利用服务提供器接口(22)进行通信(74)。
29.根据权利要求22所述的存储介质指令,其中(c)包括将来自所述实时操作系统(20)的调用路由(74)至所设定的端口(14)。
30.根据权利要求22所述的存储介质指令,其中(c)包括将所述实时和非实时操作系统(18,20)中的一个的套接字调用转向所述实时和非实时操作系统(18,20)中的另一个的套接字流。
31.根据权利要求22所述的存储介质指令,其中(b)包括利用通用个人计算机操作系统来控制(72)传输,以及其中(c)包括利用所述通用个人计算机操作系统的服务提供器接口(22)进行通信(74)。
32.一种用于计算机的操作系统,所述操作系统包括处理器(12),该处理器(12)可操作用于基本上同时运行具有实时扩展的操作系统(20)和非实时操作系统(18);端口(14),该端口(14)可操作用于提供在所述处理器(12)外部的套接字通信;其中所述实时操作系统(20)和所述非实时操作系统(18)可操作用于利用在传递至所述端口(14)之前被拦截的套接字通信进行通信。
33.根据权利要求32所述的操作系统,其中所述非实时操作系统(18)包括具有可操作用于控制在所述端口(14)上的数据传输的服务提供器接口(22)的通用个人计算机操作系统。
34.根据权利要求32所述的操作系统,其中所述非实时操作系统(18)的分层服务提供器可操作用于拦截所述非实时操作系统(18)和所述具有实时扩展的操作系统(20)中的一个的所述套接字通信,并可操作用于将所述套接字通信路由至所述非实时操作系统(18)和所述具有实时扩展的操作系统(20)中的另一个的套接字流。
35.根据权利要求32所述的操作系统,其中所述处理器(12)包括医学诊断成像系统(10)的处理器(12),所述非实时操作系统(18)可操作用于控制成像参数的数据库并且所述具有实时扩展的操作系统(20)可操作用于利用所述成像参数来控制成像。
全文摘要
两个不同操作系统(18,20)、例如一个采用Windows实时扩展的操作系统和另一个采用Windows NT或其它的非实时操作系统(18)可在同一系统或硬件上执行,例如协同定位在同一处理器(12)上,而无需改变客户软件。两个或更多软件进程运行在同一处理器(12)或系统上。该软件或操作系统采用套接字应用程序接口进行通信(74)。套接字通信的使用允许进程进行通信,就好像该进程在不同系统上。两个操作系统之间的套接字通信在被提供给用于外部传输的硬件(14)之前由分层服务提供器拦截。该套接字通信被路由至目的地操作系统的套接字堆栈。采用套接字的套接字通信对于应用程序或中间件层软件来说是透明的。通过提供在两个协同定位的操作系统(18,20)之间的套接字通信,可避免由于采用共享存储器而引起的执行成本和开发风险。
文档编号A61B8/00GK1765328SQ20051009950
公开日2006年5月3日 申请日期2005年9月13日 优先权日2004年9月13日
发明者R.L.金, K.M.赖特 申请人:美国西门子医疗解决公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1