共享处理器和网络接口的多个操作系统技术方案

技术编号:2848941 阅读:231 留言:0更新日期:2012-04-11 18:40
一种被配置为用于通信的计算机系统,包括:处理器;在处理器上运行的第一操作系统;在处理器上运行的第二操作系统;以及用于传送分组数据的网络接口,其特征在于,第一操作系统和第二操作系统被设置为共享对所述网络接口的访问。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及从被设置为运行多个操作系统的计算机连接网络。在常规的计算机中,设置有网络接口卡(NIC),其将计算机连接到网络。NIC被设置为根据网络协议在网络上传送数据;例如,其可以是以太网网络接口卡。计算机在网络上具有物理地址(MAC地址)。
技术介绍
计算机运行提供应用程序接口(API)的操作系统,该应用程序接口(API)使得应用程序可以使用计算机的资源(包括NIC)。为此,操作系统提供直接控制特定计算机平台的资源的驱动器例程(通常为独立的程序)。很多操作系统提供使用网际协议(“IP”)来进行通信的例程(即,IP堆栈)。使用网际协议使得计算机可以通过多个网络来进行通信。为计算机分配IP地址,IP地址是不同于物理MAC地址的逻辑地址。最著名的操作系统(例如,Microsoft WindowsTM和LinuxTM)是适用于在宽范围的平台(具有适当的驱动器程序)上运行宽范围的应用程序的“通用”操作系统。此外,这种操作系统通常提供多任务;换言之,它们允许几个应用程序并行运行。为此,这种操作系统提供调度;换言之,它们根据调度算法为各个应用程序分配时间,在不同的应用程序之间共享计算机资源的使用。这种操作系统得到广泛应用,并因此具有被编写为在该操作系统上运行的、用户可以从中进行选择的大应用程序库。因此这种操作系统是大多数应用程序的首选。然而,对于某些应用程序,程序中的步骤在规定时间段内或在规定时间执行是非常关键的。这种程序的示例为用于操纵移动电话或者用于操纵专用小交换机(PBX)或蜂窝基站的控制程序。通常,该程序必须在外部事件或状态变化内的特定时刻或者特定时间内以一贯的方式对事件作出响应。这称为“实时”操作。通用的操作系统不适用于实时操作,也不能修改为进行该操作。因此,为了这种任务,已经开发了实时操作系统;一个示例是ChorusOS(也称为Chorus)及其衍生物。作为开放源码软件,Chorus可以从http//www.experimentalstuff.com/Technologies/ChorusOS/index.html获得,Jaluna可以在http//www.jaluna.com/获得。在2001年8月的222页的“ChorusOS Features and Architectureoverview”,Francois Armand,Sun Technical Report(可以从http//www.jaluna.com/developer/papers/COSDESPERF.pdf获得)中对其进行了描述。这些操作系统也可以用于运行其他类型的程序。然而,可以理解,用户希望能够运行为诸如Windows或Linux的通用操作系统而编写的大量“传统”程序,而不必为了在实时操作系统中运行而重写这些程序。在US 5903752和US 5721206中,试图通过在非实时操作系统(例如Windows)的中断处理环境中提供实时多任务内核来将实时环境并入非实时操作系统中。当试图使用通用操作系统来进行实时流数据(例如,音频流或视频流,或者基于因特网的语音(VoIP)数据)的通信时,结果通常是不能令人满意的;首先,因为如果存在操作系统必须执行的其他任务,则操作系统可能完全不能足够快地进行操作,其次,因为如果调度执行另一任务,则调度器可能意外地拒绝IP堆栈处理器资源,导致短时数据丢失。已经进行了一些努力来解决这一问题,以提供对Linux的实时扩展。一个方案是US 5995745(Yodaiken)或http//www.fsmlabs.com中描述的RT Linux。另一方案是RTAI(Linux的实时应用程序接口),对此参见http//www.aero.polimi.it/~rtai/applications/或者http//www.opensource.lineo.com/rtai.html应当理解,RT Linux和RTAI都可以被构成为通过使用RT NET程序来提供IP协议堆栈,对此参见http//www.rts.uni-hannover.de/rtnet/。近来,已经提出了用于提供“多个性”系统(即,其中在同一处理器上并行运行两个或更多个不同操作系统的系统)的方案。一个是http//opersys.com/ftp/pub/Adeos/adeos.pdf的白皮书中(以及在http//opersys.com/adeos的其他文件中)描述的ADEOS(操作系统的自适应域环境)。另一个是我们于2003年4月9日提交的在先欧洲申请EP03290894.9中描述的Jaluna 2,在此通过引用并入其全部内容。EP 1054332示出了具有实时操作系统和通用操作系统并且在两者之间进行切换的计算机系统,其中在这些操作系统之间共享外围装置。EP1059582描述了运行实时操作系统和通用操作系统的虚拟机系统。US 6330616描述了包括多个逻辑分区和到网络的端口的主机数据处理系统。多个不同的TCP/IP堆栈(各自由不同分区中的软件来控制,所述软件可以是各分区中的独立操作系统)可以访问该端口。操作系统和TCP/IP堆栈完全独立地运行,并且各堆栈具有其自有的唯一的IP地址。
技术实现思路
本专利技术的目的是提供改进的网络通信。一方面,本专利技术包括根据权利要求1所述的计算机系统、根据权利要求18所述的方法、或者根据权利要求19所述的用于提供执行该方法的代码的计算机程序产品。尽管该解决方案可能初看起来效率低下,但是由于在运行多个并行操作系统时不可避免地将存在一些处理器开销(overhead),因此选择适当的操作系统可以提高操作效率例如,第一操作系统可以是实时操作系统,其可以支持用于时间关键(time-critical)通信(例如流数据通信)的代码,第二操作系统可以是通用操作系统,其可以被允许传送诸如信令或监视数据的非时间关键数据。在该示例中,第一(实时)操作系统自然被设计为保证确定性并且对于流数据传输比通用系统提供更高的性能。由此,通过提供共享对网络的访问的多个并行运行的操作系统、这些不同操作系统共享公共逻辑地址,可以共同地管理两个操作系统来使用相同的公共的参数组,然而可以将通信中涉及的行为指派给它们尤其适合的不同操作系统。另一方面,本专利技术使用基于网际协议的语音通信的环境中的这种灵活性,但是使用实时操作系统来传送语音数据(例如,使用具有小分组的用户数据报协议(UDP/IP)传输)、并使用通用操作系统来提供呼叫建立及切断信令和/或呼叫计费信令。因此,实时操作系统可以保证不中断语音通信所必需的最低性能,同时通用操作系统可以在实时操作系统不需要网络接口卡时按不同的更可靠的协议(例如TCP/IP)来进行通信。优选地,在任一种情况下,实时操作系统被赋予对NIC的访问优先权。对于输入数据,实时操作系统优选地对全部接收到的数据分组进行过滤,并将并非唯一地旨在用于实时操作系统上运行的应用程序的全部数据分组传送给通用操作系统。由此,在处理时间关键分组时不存在延迟。对于输出数据,优选地,将优先权赋予来自实时操作系统的数据。根据以下说明和权利要求,本专利技术的其他方面、特征、实施例和优点将变得显而易见。附图说明现在参照附图,仅通过示例的方式来示出本专利技术的实施例,在本文档来自技高网
...

【技术保护点】
一种被配置为用于通信的计算机系统,包括:    处理器(102);    在处理器(102)上运行的第一操作系统(201);    在处理器(102)上运行的第二操作系统(202);以及    用于传送数据的网络接口(118),    其中,第一操作系统和第二操作系统被设置为共享所述网络接口(118)的使用;    其特征在于,所述网络接口使用两个操作系统共用的单组网络逻辑地址来进行操作。

【技术特征摘要】
【国外来华专利技术】EP 2003-7-30 03291941.71.一种被配置为用于通信的计算机系统,包括处理器(102);在处理器(102)上运行的第一操作系统(201);在处理器(102)上运行的第二操作系统(202);以及用于传送数据的网络接口(118),其中,第一操作系统和第二操作系统被设置为共享所述网络接口(118)的使用;其特征在于,所述网络接口使用两个操作系统共用的单组网络逻辑地址来进行操作。2.根据权利要求1所述的系统,其中,第一操作系统(201)为实时操作系统。3.根据权利要求1所述的系统,其中,第二操作系统(202)为通用操作系统。4.根据权利要求1所述的系统,其中,与第一操作系统相关联的代码(205)被设置为接收全部输入分组,并将那些并非由第一操作系统(201)或其上运行的应用程序(207)专用的分组转发给第二操作系统(202)。5.根据权利要求1所述的系统,包括发送调度器(258),所述发送调度器(258)被设置为选择性地转发来自第一操作系统和第二操作系统(201、202)的用于通过网络接口(118)进行发送的输出数据分组。6.根据权利要求5所述的系统,其中,发送调度器(258)被设置为将优先权赋予第一操作系统(201)。7.根据权利要求5所述的系统,其中,发送调度器(258)被设置为在存在来自第一操作系统(201)的发送分组时不发送来自第二操作系统(202)的任何分组。8.根据权利要求1所述的系统,其被设置为使用网际协议进行通信。9.根据权利要求1所述的系统,其中,第一操作系统包括用于处理UDP数据报的UDP/IP堆栈(205)。10.根据权利要求8所述的系统,其中,第二操作系统包括TCP/IP协议堆栈(206)。11.根据权利要求1所述的系统,其中,所述第一操作系统和第二操作系统(201、202)在单个处理器(102)上运行。12.根据权利要求11所述的系统,包括操作系统间通信通道(260),所述操作系统间通信通道(260)用于在所述第一操作系统与第二...

【专利技术属性】
技术研发人员:弗拉迪米尔格鲁齐德夫伊万布勒
申请(专利权)人:扎鲁纳股份有限公司
类型:发明
国别省市:FR[法国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1