允许通过通信设备在进程之间交换信息的方法和装置制造方法及图纸

技术编号:3536650 阅读:319 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及允许通过通信设备在进程之间交换信息的方法。本方法允许虚拟化,从若干进程共享的通信设备开始,能够执行低级命令,通信设备能够执行高级命令并用于每个进程。(*该技术在2014年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及。例如由专利申请EP-A0492177和EP-A0164972可知,当与存储设备连接时,在适当配置下,控制设备能够处理进程之间的通信;这些设备能够与一个或多个处理机相连使用。尤其是,通过所提及的两个专利申请的第一个中所公开的设备,通过发送适当命令,一个RAM设备能够配置为一组独立存储块,每块根据选自FI-FO、LIFO、循环队列等的一种方式工作;通过另外的命令,数据能够引入到所述存储块或从所述存储块中抽取,而与其工作方式无关。尽管这样的设备在处理进程之间的通信时能有效地提高处理机性能,但是缺点在于仅能执行低级命令,一般严格相关于其内部硬件结构,并为所使用的特定设备特有。这样的缺点实际上意味着要求为含有这种设备的硬件环境开发软件的程序员广泛地了解这种设备;如果这种软件用于多进程实时应用程序,则产生错误的可能性很高,因为也应考虑对这种设备的并行访问。再者,这种软件难以修改。本专利技术的目的在于克服这些缺点。该目的通过得以实现。假设,通过软件,更确切些通过系统软件(认为是固件更好)、能够执行高级命令(直接由硬件实现,因而相对于软件实现而言能提高执行速度)并用于每个进程的通信设备,上述缺陷受限于系统软件,因而极大地降低了其有害作用。通过以下参照附图的说明,本专利技术将更加明显。附图说明图1是根据本专利技术的硬件环境的框图;图2是根据本专利技术的软件环境的概念图。如前述,在多进程软件环境下,由一个或多个处理机形成的硬件环境下实现时,总是需要在各进程之间交换信息;这些可以划分为系统进程和用户进程;另一个可能的细分是根据执行时间要求进行的。根据本专利技术的方法与这种情形有关,这种信息交换通过使用通信设备(图1中标以CD)进行,因而并非简单地通过各种处理机(图1中标以PROC-1,…,PROC-N)的系统软件。以下尤其参照图2说明本方法。允许通过通信设备CD在第一用户进程P1和第二用户进程P2之间交换信息的方法包括步骤a)当收到第一高级原语(直接由硬件实现,因而相对于软件实现能提高其执行速度)时,例如称为CREATE-LINK,激活一个系统链路进程,标以LINKER,它能够利用通信设备CD在用户进程P1和P2之间建立一条通信信道,以及b)当收到发送信息的第二高级原语时,例如称为SEND-MSG,和等待信息的第三高级原语时,例如称为WAIT-MSG(直接由硬件实现,因而对于软件实现能提高其执行速度),激活至少一个系统处理进程,图中标以CD-HAND,它能够通过在设备CD上所建立的信道将信息从一个用户进程传递到另一个用户进程。例如,在单向信道情形下,CREATE-LINK原语至少可以设有以下参数P-MITT发送进程标识;P-DCST被访地址进程标识;LINK-TYPE数据交换方式(FIFO,LIFO,……);CHAN-PTR数据交换所用的存储区标识,也可理解为所建信道的标识;这种标识当然是原语输出参数。自然,该原语可设有一个输出参数,指明信道建立操作的结果。为建立双向信道,利用适当的参数发送两次这种原语就足够了。当用户进程需要特意建立双向信道时,可以在原语CREATE-LINK中再设一个参数,或设两个单独的原语,例如称为CREATE-LINK-SIMPLEX和CREATE-LINK-DUPLEX。进程之前的通信的多种变型应得到考虑例如具有一个发送端和多个被访地址的通信信道。在多处理机环境下执行这样的原语,需要确定发送进程和被访地址进程在哪些处理机上是活动的。为此,可能设想存在一个特定系统进程,它负责用户进程的建立和摧毁,并能在任何时刻知道它们的状态(这种系统进程可以称为管理进程,即负责系统的各种进程交替执行的进程);它可以具有一个原语,为LINKER进程提供所需信息。SEND-MSG原语的参数可以至少为P-DEST被访地址进程(希望向其发送一条信息)的标识;CHAN-PTR用于发送一条信息的信道的标识;MSG-PTR含有待发信息的存储区的标识。自然,该原语可以设有一个输出参数,指明发送操作的结果。WAIT-MSG原语的参数可以至少为P-MITT发送信息的标识,从其可得到一条信息;CHAN-PTR信道的标识,从其可得到一条信息;MSG-PTR将要含有所得信息的存储区的标识。自然,该最后一个原语也可以设有一个指明接收操作的结果的输出参数。例如,最后两个原语可以对发送它们的进程进行暂停即发送SEND-MSG原语的进程在信息被有效发送之前不继续执行,或者发送WAIT-MSG原语的进程在信息被有效接收之前不继续进行。为解决对设备CD的并行访问问题的一个可能的和有利的方式是设置进一步的步骤c)激活至少一个系统仲裁进程,称为RES-MAN,用于控制系统进程对设备CD的并行访问。对设备CD的访问必须尽可能仅由系统进程执行,并最好仅由进程LINKER和CD-HAND,或较好地仅由CD-HAND执行。这可通过为进程RES-MAN设置两个原语实现,例如称为GET-CD和RELEASE-CD,利用它们任何需要访问设备CD的进程请求互斥访问,并在使用之后释放设备。另外,进程RES-MAN可以利用类似的原语对来处理所有系统资源的互斥访问每个资源一对。进程P1和进程P2应该在两个不同的处理机上活动,步骤b)必须能够激活第一和第二处理进程CD-HAND,然后根据处理原语SEND-MSG的第一进程的接收和根据处理原语WAIT-MSG的第二进程的接收,进行信息传送。显然,高级原语CREATE-LINK、SEND-MSG和WAIT-MSG是由用户进程发送的,同时重要的是,这些进程尽可能仅利用这种高级原语进行通信。至此一直讨论进程LINKER和CD-HAND所能接收的高级原语,自然,它们也能接收低级原语;例如,进程LINKER可以从进程CD-HAND接收一条低级原语,以请求与设备CD的已建的特定信道有关的详细信息。例如,在只有通过进程CD-HAND的中间来访问设备CD的情形下,进程CD-HAND能够从进程LINKER接收关于设备CD的初始化和测试、从设备CD读出或写入数据、从设备CD传送或接收信号的低级原语;因此,能够在其内部限定设备的所有特征,并能看到使用不同类型的通信设备不必修改系统的其他进程。需要看到,所有这样的低级原语一般不由用户进程发送,使得与进程之间信息交换有关的特征需要更多限定。显然,本专利技术的方法一般要以至少一个程序来实现,因而该方法的步骤包括以机器语言字符编码的指令序列,并记录在存储装置中。现在仍参照图2说明根据本专利技术的软件环境。这种软件环境包括至少第一用户进程P1和第二用户进程P2,还包括a)一个系统链路进程LINKER,用于在收到高级原语CRE-ATE-LINK时在用户进程之间建立一个通信设备CD,以及b)至少一个系统处理进程CD-HAND,在收到高级发送信息原语SEND-MSG和高级等待信息原语WAIT-MSG时,能够通过通信设备CD将信息从一个用户进程传递到另一个用户进程。自然,所有这样的进程是同时活动的,并且一般一个系统管理进程SP具有实现在同一处理机上这些进程交替执行的功能;此外,若不用管理进程SP,交替执行也可通过进程之间控制的直接传递机制来实现,但从简化编程的观点来看并非十分有效。如果用户进程在两个不同的处理机上是本文档来自技高网...

【技术保护点】
允许通过通信设备(CD)在第一用户进程(P1)和第二用户进程(P2)之间交换信息的方法,包括步骤:a)在收到直接由硬件实现的第一原语(CREATE-LINK)时,激活一个系统链路进程(LINKER),它能够在所述用户进程(P1,P2)之 间在所述设备(CD)上建立一条通信信道,以及b)在收到直接由硬件实现的第二发送信息原语(SEND-MSG)和直接由硬件实现的第三等待信息原语(WAIT-MSG)时,激活至少一个系统处理进程(CD-HAND),它能够通过建立在所述设备(C D)上的所述信道,将信息从所述用户进程之一传递到另一用户进程。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:法比欧布托尼克拉克森兹
申请(专利权)人:阿尔卡塔尔有限公司
类型:发明
国别省市:NL[荷兰]

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

1