CN1357123A - 使用共享地址使应用程序之间的数据共享和使应用程序对外围设备的访问容易的方法 - Google Patents

使用共享地址使应用程序之间的数据共享和使应用程序对外围设备的访问容易的方法 Download PDF

Info

Publication number
CN1357123A
CN1357123A CN00809104A CN00809104A CN1357123A CN 1357123 A CN1357123 A CN 1357123A CN 00809104 A CN00809104 A CN 00809104A CN 00809104 A CN00809104 A CN 00809104A CN 1357123 A CN1357123 A CN 1357123A
Authority
CN
China
Prior art keywords
piece
visit
address
shared address
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN00809104A
Other languages
English (en)
Inventor
吉田隆
驹泽雄一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TechnoWave Ltd
Original Assignee
TechnoWave Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TechnoWave Ltd filed Critical TechnoWave Ltd
Publication of CN1357123A publication Critical patent/CN1357123A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/206Memory mapped I/O

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

一种如同从计算机的应用程序读出/写入通常的地址那样用于访问外围设备或存储器的方法和记录用于实现该方法的软件的计算机可以读取的记录媒体。本发明脱离操作系统的管理,确保连续的存储空间,将共享地址名分配给该存储空间的一定宽度的各块,对于上述各块,至少可以选择一个直接作为存储区域使用或用于外围设备的访问,在上述块中,将作为其存储器的内容的数据记载到作为存储区域使用的块中,将作为访问对象的外围设备的信息记载到用于外围设备的访问的块中。

Description

使用共享地址使应用程序之间的数据 共享和使应用程序对外围设备的访问容易的方法
                     技术领域
本发明涉及在计算机领域使在操作系统(OS)上工作的多个应用软件进行存储器共享和使应用软件对外围设备的访问变得容易从而用于支持应用软件的开发的方法和软件。
                     技术背景
在制作在计算机的OS上工作的应用软件(以下,称为应用程序)时,以往,存在以下问题。
首先,为了使多个独立的应用程序共享数据,必须利用按文件形式保存数据等的方法,但是,在速度方面和处理的方便等方面存在很多问题。
另外,关于用于控制在OS上工作的外围设备的应用程序,在外围设备变更时,应用程序本身必须重写。虽然在理论上,可以作成能够灵活地与这种情况对应的应用程序,但是,往往需要非常复杂的结构,反而不方便。
另外,以往为了记载进行外围设备的控制的应用程序,必须对各外围设备采用不同的记载方法,非常烦杂,从而将提高开发成本。
本发明的目的旨在同时解决上述问题、使软件开发容易从而实现可以减少开发工时的环境。
                            发明内容
本发明是为应用程序的开发者等提供可以使用共享地址名共享数据的方法和可以使外围设备的访问变得容易的方法以及支持这样的应用程序作成的环境。
开发者利用本发明的方法,使用共享地址名可以非常容易地作成以与其他的应用程序进行存储器共享为前提的应用程序和通过该共享地址访问外围设备的应用程序。
使用该方法作成的应用程序,在本发明提供的可以使用该共享地址名的环境中执行。即,在应用程序执行之前,预先执行用于实现该环境的程序(以下,称为控制程序)。
在本发明中,权利要求1所述的发明是使应用程序之间的数据共享和应用程序对外围设备的访问更容易的方法,其特征在于:确保从操作系统的管理脱离出来并且连续的存储空间,将共享地址名分配给该存储空间的一定宽度的各块,对于上述各块,至少可以选择其为直接作为存储区域使用或用于外围设备的访问而使用的某一种,在上述块中作为存储区域使用的块中记载作为存储器的内容的数据,在用于外围设备的访问的块中记载作为访问对象的外围设备的信息。
从操作系统的管理脱离出来并确保存储空间,就意味着采取确保的存储区域不会被通过操作系统而发生移动和干涉等所必需的方法。
这样,便可确保特定的存储空间(以后,将该确保的存储空间称为共享区域),并对共享区域内的一定宽度的各块决定与其对应的共享地址,通过提供从OS的干涉中排除该范围的环境,可以非常容易地开发共享存储器的应用软件。
另外,通过将外围设备的信息记载到该块内,可以用于进行外围设备的访问。
即,在共享区域中,在与各共享地址名对应的块中,至少有作为数据共享用的存储器使用的块(以下,称为数据存储块)和用于外围设备的访问而使用的块(以下,称为I/O访问块)。当然,也可以有除此以外的用途所使用的块。
这些块不论在作为哪个目的使用时,作成应用程序的用户都可以像读出/写入通常的地址那样访问共享地址。
另外,通常的计算机的地址,1个号码所具有的大小例如定为8位等。但是,按照本发明的方法,可以任意决定分配给1个共享地址名的块的大小,所以,不仅可以将大的数据存储到1个地址内,而且可以将该地址中的数据的属性等信息也同时存储到该地址内,从而可以存放结构化的数据。
关于使用什么样的共享地址名,各开发者也可以任意决定,但是,共享使用统一规定的共享地址名时,可以获得大的效果。
权利要求2所述的发明是使应用程序之间的数据共享和应用程序向外围设备的访问更容易的方法,其特征在于:确保从操作系统的管理脱离出来并且连续的存储空间,将共享地址名分配给该存储空间的一定宽度的各块,对于上述各块,至少可以选择其直接作为存储区域使用或用于外围设备的访问而使用或访问网络上的第2计算机内的共享地址中的某一种,上述块中,在作为存储区域使用的块中记载作为其存储器的内容的数据,在用于外围设备的访问的块中,记载作为访问对象的外围设备的信息,在用于网络上的第2计算机内的共享地址的访问的块中,记载第2计算机的访问用的信息。
在共享区域中,作为与各共享地址名对应的块,除了数据存储块和I/O访问块以外,至少还存在用于网络上的第2计算机内的共享地址的访问的块(以下,称为网络数据存储块)。
这样,就可以访问网络上的其他计算机内的相同的共享地址。
权利要求3所述的发明是权利要求1或权利要求2所述的方法,其特征在于:记载在用于外围设备的访问的块内的信息是该外围设备的物理地址。
通过将外围设备的物理地址记载到块内,便可使用该物理地址访问外围设备。
权利要求4所述的发明是权利要求2或权利要求3所述的方法,其特征在于:记载在用于网络上的第2计算机内的共享地址的访问的块内的信息是第2计算机的网络地址。
通过将网络上的其他计算机的网络地址记载到块内,便可访问该计算机上的相同的共享地址。
权利要求5所述的发明是权利要求1~权利要求4的任一权项所述的发明,其特征在于:上述共享地址的号码名由字母和十进制数的组合构成。
通常,计算机的地址用二进制数、八进制数、十六进制数等表示。
因此,通过用例如X0001~X9999这样的字母和十进制数表示共享地址名,可以实现对用户而言容易理解的环境。
权利要求6所述的发明是应用程序开发支援系统,其特征在于:提供可以采用权利要求1~权利要求5的任一权项所述的方法的环境。
通过将可以使用共享地址名进行数据共享和外围设备的控制的环境作为开发支持系统来提供,可以提供数据共享和外围设备的控制用的应用程序的开发比先有的方法非常容易的程序开发环境。
权利要求7所述的发明是计算机可以读取的记录媒体,其特征在于:记录了用于设定共享地址环境的程序,该程序包括取得共享地址名的步骤、从操作系统的管理脱离出来并确保足以对该共享地址可以确保一定宽度的块的存储区域的步骤、根据上述共享地址定义文件对各块存储其使用目的的属性的步骤和在有各块的初始数据时将其记载到该块内的步骤。
权利要求8所述的发明是计算机可以读取的记录媒体,其特征在于:记录了用于设定权利要求7所述的共享地址的程序,该程序包括上述各块的使用目的的属性作为存储区域使用或用于外围设备的访问或用于网络上的第2计算机内的共享地址的访问中的至少某一种。
该记录媒体记录的程序是用于设定可以使用共享地址的环境的程序。
使用共享地址记载的应用程序,在执行该程序并设定可以使用共享地址的环境之后执行。
权利要求9所述的发明是计算机可以读取的记录媒体,其特征在于:记录了用于利用共享地址环境的程序,该程序包括使用上述共享地址名取得与其对应的块的属性的步骤和在该属性的类型是表示作为存储区域使用时就将该块内的数据作为其存储器的内容进行访问而在该属性的类型是表示用于外围设备的访问时就从该块取得物理存储地址并访问外围设备的步骤。
权利要求10所述的发明是计算机可以读取的记录媒体,其特征在于:记录了用于利用共享地址环境的程序,该程序包括使用上述共享地址名取得与其对应的块的属性的步骤和在该属性的类型是表示作为存储区域使用时就将该块内的数据作为其存储器的内容进行访问、在该属性的类型是表示用于外围设备的访问时就从该块取得物理存储地址并访问外围设备,而在该属性的类型是表示用于网络上的第2计算机内的共享地址的访问时就从该块取得第2计算机的网络地址并访问第2计算机的步骤。
记录在这些记录媒体上的程序,是在根据权利要求7或权利要求8所述的控制程序记载在设定了可以使用共享地址的环境的状态下执行的应用程序时用于利用共享地址环境的程序。
                           附图说明
图1是表示本发明实施例1的整体的概念图。
图2是表示共享地址定义文件的内容的图。
图3是表示应用程序使用共享地址环境访问I/O和存储器的步骤的流程图。
图4是表示用于实现共享地址环境的步骤的流程图。
图5是共享区域的数据结构。
图6是用于从应用程序访问共享地址的函数的形式。
图7是表示用于从应用程序访问(读出)共享地址的函数的过程的流程图。
图8是表示用于从应用程序访问(写入)共享地址的函数的过程的流程图。
图9是表示确保共享区域的过程的流程图。
图10是表示本发明实施例2的整体的概念图。
图11是表示共享地址定义文件的内容的图。
图12是表示用于实现共享地址环境的过程的流程图。
图13是表示用于从应用程序访问(读出)共享地址的函数的过程的流程图。
图14是表示应用程序使用共享地址访问(读出)共享区域的步骤的概要的图。
图15是表示应用程序使用共享地址访问(读出)外围设备的步骤的概要的图。
图16是表示通过使用共享地址而应用程序通过网络访问(读出)其他的计算机上的共享区域的过程的概要的图。
图17是表示通过使用共享地址而应用程序通过网络访问(读出)与其他计算机连接的外围设备的过程的概要的图。
                        具体实施方式
应用程序的开发者开发出首先决定所使用的共享地址名(例如,决定使用X0000~X9999、Y0000~Y9999),或者使用已由第三者决定的该共享地址,并使用该共享地址进行访问的应用程序。
并且,执行控制程序,设定在计算机上可以实现该共享地址的访问的环境,从而执行上述应用程序。
实施例1.
图1是通过本发明实现的共享地址进行存储器共享和进行外围设备的访问方法的概念图。
共享地址的号码名的称呼,用户可以自由决定。
并且,用户在各个共享地址名中决定希望对应的块作为数据存储块使用还是作为I/O访问块使用,并作成记载这些信息的定义文件。
在该定义文件中,由用户写入图2所示的数据。图2是X系列的共享地址部分的数据的例。在图2中,在“共享地址”栏内,记载共享地址名,在“类型”栏内,记载该共享地址的使用方法即作为数据共享用的共享存储器使用(MEM)还是用于外围设备的访问(I/O)。“R/W”栏记载该I/O或存储器用于读出或写入(或者用于两者)。在“名称”栏内,用户任意写入外围设备或存储器的名称。
并且,在表示I/O访问块的共享地址时,在“数据A”栏内写入映射的外围设备的物理地址,在“数据B”的栏内写入表示访问的字节数的数值。在为表示数据存储块的共享地址时,应用程序将共享区域直接作为存储数据的区域使用,所以,不必对“数据A”和“数据B”进行记载,可以写入任意初始值。
此外,有时也记载与实际地址不同的以该实际地址为基础的“偏移量”。
这样,在决定共享地址之后,用户为了利用这些共享地址,使用作为用于用户的开发支持而提供的图6的C语言的函数(程序)的
ReadComRam(char*dat,void*buf)
WriteComRam(char*dat,void*buf)
等开发应用程序。
关于这些函数本身的实现方法,后面说明,下面使用图3说明使用上述函数的应用程序的记载方法。
S301:确认是否已成为由控制程序提供了共享地址环境的状态。在未成为提供共享地址环境的状态时,返回错误。
S302:为了可以访问共享区域(后面所述的页面文件)而开放该共享区域。
S303:通过使用共享地址读出/写入共享区域内的块,访问共享区域内的数据或记载在共享区域内的物理地址表示的外围设备。这样,不论在访问共享数据时还是访问外围设备时,作为应用程序的记载,都是
ReadComRam(char*dat,vOid*buf)
WriteComRam(char*dat,void*buf)
仅仅是读出/写入共享地址。
S304:在访问结束后,就关闭共享区域。
并且,用户在起动控制程序之后,执行利用上述作成的该共享地址的应用程序。
因此,下面,说明控制程序的动作。图4表示其流程图。
在程序开始时,
首先,在S401,尝试读入定义共享地址的号码名的称呼的文件。这时,如果存在用户作成的文件,就读入该文件,不存在文件时,就使用缺省的定义文件。
缺省的号码名,输入用的由X0001~X9999定义,输出用的由Y0001~Y9999定义,存储器用的由M0001~M9999定义,数据用的由D0001~D9999定义,实数用的由R0001~R999定义等。为了方便,进行了输入用、输出用等区别,但是,这仅仅是考虑到用户使用的方便而赋予这样的名称,当然并不是功能内容随名称而不同。
以后,以使用上述X0001~X9999这样的号码名的情况为例进行说明。
其次,在存储器上确保足以确保与上述共享地址对应的块的共享区域(S402)。
为了使共享区域不会通过OS而移动,要确保其从OS的管理中脱离。作为OS,以使用视窗N T的情况为例说明其实现过程。
在视窗NT上,通过页面文件访问物理存储器。因此,将该页面文件作为共享区域而锁定。
具体的步骤示于图9的流程图。
首先,根据共享地址定义文件计算总数据尺寸(S901)。
其次,给页面文件加上名称,确保上述总数据尺寸(S902)。
然后,将页面文件提交给到物理存储器(S903)。
然后,锁定该页面文件(S904)。
并且,取得用于访问页面文件的开始地址(共享区域的开始地址)(S905)。
通过上述步骤,就确保了锁定的共享区域。
现在,返回到图4的说明,顺序扫描定义文件(图2)。即,如流程图S403~S409所示,顺序读出记载在定义文件中的属性(类型、R/W)和数据,将所需要的数据写入共享区域所对应的块中。共享区域的1块的数据结构如图5所示。
首先,顺序读入由共享地址名指定的各块的“类型”(S403),判断该类型(S404),在块的类型属性是I/O访问块时,就将从定义文件的“数据A”栏读出的该I/O的物理地址记载到该块的“物理地址”栏中(图5)(S405)。然后,将“类型”和“R/W”等属性信息记载到块的“信息”栏中(图5)(S406)。
并且,将从定义文件的“数据B”栏读出的向该I/O的访问使用的字节数记载到“字节数”栏中(图5)(S407)。
在块的类型是“数据存储块”时,就将属性信息写入“信息”栏(S409)。并且,该块的“数据”栏(图5)内的数据成为各应用程序所共享的,但是,在控制程序的起动时刻,不需要将数据特别记载到该栏内。当然,也可以记载任何初始值。
并且,反复进行上述步骤,直至定义文件的最后(S408),在将定义文件全部读入之后,关闭共享区域。
通过执行上述步骤,就设定了共享地址环境。
其次,表示图6所示的
ReadComRam(char*dat,void*buf)
WriteComRam(char*dat,void*buf)
执行时的动作。
应用程序调用这些函数,控制程序执行该函数。
首先,使用图7说明函数ReadComRam(chdr*dat,void*buf)的执行步骤。
开始,确认已设定可以使用该函数的环境即已起动了控制程序11(S701)。
然后,根据由第1变量给出的应读入的共享地址名(*adr)取得共享区域内的对应的块位置(S702)。这就是在控制程序确保共享区域的时刻存储共享区域的开始地址,所以,可以根据该开始地址进行计算。
例如,共享地址从X0000号码开始连续的、存储器上确保的共享区域的实地址的开头号码是D0000号码,如果共享地址的1块使用的宽度是32字节,与共享地址的X0002号码对应的共享区域的实地址就是从D0000号码开始增加2×32字节的地址。
然后,从共享区域的“信息”栏中取得“R/W”属性(S703)。
此外,根据该属性确认要读入的共享地址是许可读入的地址(是“R”或“R/W”)(S704)。
然后,根据从上述“信息”栏读入的“类型”属性确认此后要读入的共享地址表示的块是“数据存储块”还是“I/O访问块”(S705)。
是I/O访问块时,取得共享区域的该块的“物理地址”栏存储的物理地址(S706),进而从该物理地址表示的外围设备(I/O)中取得数据,并将该值存储为变量buf(S707)。
在是数据存储块时,就将共享区域的该块的“数据”栏存储的数据作为该共享地址中存储的值而取得,并存储为变量buf(S708)。
以上,就是函数ReadComRam(char*dat,void *buf)的执行过程。
下面,使用图8说明函数WriteComRam(char*dat,void*buf)的执行过程。
开始,确认已设定了可以使用该函数的环境(S801)。
然后,根据由第1变量给出的应写入的共享地址名(*adr)取得共享区域内的对应的块位置(S802)。这可以和ReadComRam()的情况一样进行计算。
其次,从共享区域的“信息”栏取得“R/W”属性(S803)。
此外,根据该属性确认要读入的共享地址是许可写入的地址(是“W”或“R/W”)(S804)。
然后,根据从上述“信息”栏读入的“类型”属性确认此后要读入的共享地址表示的块是“数据存储块”还是“I/O访问块”(S805)。
是I/O访问块时,就取得共享区域的该块的“物理地址”栏存储的物理地址(S806),进而向该物理地址表示的外围设备写入buf的数据(S807)。
是数据存储块时,将buf的数据存储到共享区域的该块的“数据”栏中(S808)。
以上,就是函数WriteComRam(char*dat,void*buf)的执行过程。
下面,再次说明控制程序的该ReadComRam()、WriteComRam()的执行概念,及与调用它的应用程序的关系。
首先,作为访问在共享区域内共享的数据时的例子,使用图14和图7说明利用ReadComRam()读出共享区域内的数据的情况。这时,和图1的情况一样,设想由共享地址X0000号码指示的共享区域用于数据共享的情况。
由应用程序调用ReadComRam(X0000,buf)时,控制程序11执行ReadComRam()的模块(图14的S1401)。
并且,根据共享地址名取得共享区域的对应的块位置,检查共享地址的属性等(图14的S1402、图7的S702~S705)。
由于该属性是“MEM”,所以,控制程序11读入共享区域内的数据(图14的S1403),将该数据作为ReadComRa()的执行结果返回应用程序(图14的S1404、图7的S708)。
如上所述,应用程序可以使用共享地址读入共享区域内的共享数据。
下面,作为用于访问外围设备时的例子,使用图15和图7说明从外围设备取得数据的例子。这时,和图1的情况一样,设想由共享地址X0001号码指示的共享区域用于访问外围设备的情况。
由应用程序调用ReadComRam(X0001,buf)时,控制程序11执行ReadComRam()(S1501)。
首先,根据共享地址名取得共享区域的对应的块位置,检查指定的共享地址的属性(图15的S1502、图7的S702~S705)。
由于该属性是“I/O”,所以,控制程序11读入与X0001号码对应的共享区域内的物理地址数据(图15的S1503)。这就是应访问的外围设备的物理地址。
然后,使用该物理地址对外围设备执行读出访问(图15的S1504、S1505、图7的S707)。
并且,将读出的数据作为ReadComRam()的执行结果返回应用程序(图15的S1506)。
如上所述,应用程序仅读出共享地址就可以对外围设备进行读取访问。
以上,说明了ReadComRam()的例子,但是,对于WriteComRam()仅仅是读出与写入的差异,基本的动作是相同的。
实施例2.
下面,说明在第1计算机和第2计算机中执行控制程序并且执行应用程序和在各应用程序中进行数据共享或外围设备的控制的例子。
图10是其概念图。
这时,在第1计算机(计算机1)中,具有图11(a)的定义文件,执行控制程序11(图12),在第2计算机(计算机2)中,具有图11(b)的定义文件,执行控制程序12(图12)。
作为共享区域的属性,除了数据存储块和I/O访问块以外,还有网络数据存储块(图5(3))。
下面,说明控制程序执行这时的ReadComRam()、WriteComRam()的概念,包括与调用它们的应用程序的关系。
首先,作为计算机1上的应用程序访问在计算机2内的共享区域内共享的数据时的例子,使用图16和图13说明在图10中通过计算机1上的应用程序103利用ReadComRam()读出共享地址X0006号码而读出计算机2的共享区域(X0006)的共享数据的情况。
由应用程序103调用ReadComRam(X0006,buf)时,控制程序11执行ReadComRam()的模块(图16的S1601)。
并且,根据共享地址名取得共享区域的对应的块位置,检查共享地址的属性等(图16的S1602、图13的S1302~S1305)。
由于该属性是“NETWORK”,所以,控制程序11读入与X0006号码对应的共享区域内的数据(图16的S1603)。这就是计算机2的IP地址(图13的S1309)。
因此,控制程序11使用该IP地址指示计算机2上的控制程序12执行ReadComRam(X0006,buf)(图16的S1604、图13的S1310)。
这样,控制程序12就执行ReadComRam(X0006,buf)。以后的计算机2上的控制程序12的动作,和在实施例1中说明的将共享区域的数据作为共享数据而读出的情况相同。
即,根据共享地址名取得共享区域的对应的块位置,检查共享地址的属性等(图16的S1605)。这就是图13的S1302~S1305的步骤,当然,这次就是控制程序12的动作。
由于该属性是“MEM”,所以,控制程序12读入共享区域内的数据(图16的S1606、图13的S1308),并将该数据作为ReadComRam()的执行结果返回计算机1的控制程序11(图16的S1607)。
控制程序11将从控制程序12返回的值直接返回应用程序103(图16的S1608)。
如上所述,计算机1上的应用程序103可以使用共享地址读出计算机2的共享区域内的共享数据。
其次,说明作为计算机1上的应用程序使用共享地址访问与计算机2连接的外围设备时的例子,使用图17和图13说明在图10中通过计算机1上的应用程序利用ReadComRam()读出共享地址X0005号码而从与计算机2连接的外围设备203进行读出访问的情况。
由应用程序102调用ReadComRam(X0005,buf)时,控制程序11执行ReadComRam()的模块(图17的S1701)。
并且,根据共享地址名取得共享区域的对应的块位置,检查共享地址的属性等(图17的S1702、图13的S1302~S1305)。
由于该属性是“NETWORK”,所以,控制程序11读入共享区域内的数据(图17的S1702)。这就是计算机2的IP地址(图13的S1309)。
因此,控制程序11使用该IP地址指示计算机2上的控制程序12执行ReadComRam(X0005,buf)(图17的S1704、图13的S1310)。
这样,控制程序12就执行ReadComRam(X0005,buf)。以后的计算机2上的控制程序12的动作和在实施例1中说明的访问外围设备的情况一样。
即,根据共享地址名取得共享区域的对应的块位置,检查共享地址的属性等(图17的S1705)。这就是图13的S1302~S1305的步骤,当然,这次就是控制程序12的动作。
由于该属性是“I/O”,所以,控制程序12读入与X0005号码对应的共享区域内的数据(图17的S1706)。这就是应访问的外围设备的物理地址(图13的S1306)。
然后,使用该物理地址对外围设备执行读出访问(图17的S1707、S1708、图13的S1307)。
并且,将读出的数据作为ReadComRam()的执行结果返回计算机1的控制程序11(图17的S1709)。
控制程序11将从控制程序12返回的值直接返回应用程序102(图17的S1710)。
如上所述,计算机1上的应用程序102仅读出共享地址就可以对计算机2的外围设备进行读出访问。
至此为止的说明,以计算机为2台的情况为例,但是,计算机为3台以上时同样也可以。
可以将以上的控制程序和共享地址的访问用的函数的程序等作为用于提高数据的共享和外围设备的访问用的应用程序的开发效率的组件或者与计算机装置一起作为系统而提供。
本发明具有提高应用程序的开发效率的效果。
应用程序开发者可以镜象访问外围设备从而用地址进行数据的读/写。这样,就可以飞速地提高应用程序开发的效率。
并且,多个应用程序容易共享数据。
这时,对于多个应用程序的访问,可以采用统一访问,所以,可以防止多个访问的冲突。
另外,在外围设备(外部硬件)变化时,仅改写驱动程序就可以了,用户不必改写应用程序再次进行编译。
此外,在访问外围设备时,通过预先将其数据存入数据存储块中,其他应用程序不必直接访问I/O,就可以监视其外围设备的状态。

Claims (10)

1.一种使应用程序之间的数据共享和使应用程序向外围设备的访问变得容易的方法,其特征在于:
确保从操作系统的管理脱离出来并连续的存储空间,
将共享地址名分配给该存储空间的一定宽度的各块,
对于上述各块,至少选择为可以直接作为存储区域使用或用于外围设备的访问而使用的某一种,
在上述块中作为存储区域使用的块中记载作为存储器的内容的数据,在用于外围设备的访问的块中记载作为访问对象的外围设备的信息。
2.一种使应用程序之间的数据共享和使应用程序向外围设备的访问变得容易的方法,其特征在于:
确保从操作系统的管理脱离出来并连续的存储空间,
将共享地址名分配给该存储空间的一定宽度的各块,
对于上述各块,至少选择为可以直接作为存储区域使用、或用于外围设备的访问而使用、或访问网络上的第2计算机内的共享地址的某一种,
上述块中,在作为存储区域使用的块中记载作为其存储器的内容的数据,在用于外围设备的访问的块中记载作为访问对象的外围设备的信息,在用于网络上的第2计算机内的共享地址的访问的块中记载第2计算机的访问用的信息。
3.按权利要求2所述的方法,其特征在于:记载在用于外围设备的访问的块内的信息是该外围设备的物理地址。
4.按权利要求2或权利要求3所属的方法,其特征在于:记载在用于网络上的第2计算机内的共享地址的访问的块内的信息是第2计算机的网络地址。
5.按权利要求1~权利要求4的任一权项所述的方法,其特征在于:上述共享地址的号码名由字母和十进制数的组合构成。
6.一种应用程序开发支持系统,其特征在于:提供可以采用权利要求1~权利要求5的任一权项所述的方法的环境。
7.一种计算机可以读取的记录媒体,其特征在于:记录了
用于设定共享地址环境的程序,该程序包括
取得共享地址名的步骤;
确保从操作系统的管理脱离出来并且对该共享地址可以确保一定宽度的块的存储区域的步骤;
根据上述共享地址定义文件,对各块存储其使用目的的属性的步骤;和
在有各块的初始数据时将其记载到该块内的步骤。
8.一种计算机可以读取的记录媒体,其特征在于:记录了用于设定权利要求7所述的共享地址的程序,该程序包括上述各块的使用目的的属性作为存储区域使用或用于外围设备的访问或用于网络上的第2计算机内的共享地址的访问中的至少某一个。
9.一种计算机可以读取的记录媒体,其特征在于:记录了用于利用共享地址环境的程序,该程序包括
使用上述共享地址名取得与其对应的块的属性的步骤;和
在该属性的类型是表示作为存储区域使用时,就将该块内的数据作为其存储器的内容进行访问,而在该属性的类型是表示用于外围设备的访问时,就从该块取得物理存储地址并访问外围设备的步骤。
10.一种计算机可以读取的记录媒体,其特征在于:记录了用于利用共享地址环境的程序,该程序包括
使用上述共享地址名取得与其对应的块的属性的步骤;和
在该属性的类型是表示作为存储区域使用时就将该块内的数据作为其存储器的内容进行访问,在该属性的类型是表示用于外围设备的访问时,就从该块取得物理存储地址并访问外围设备,而在该属性的类型是表示用于网络上的第2计算机内的共享地址的访问时,就从该块取得第2计算机的网络地址并访问第2计算机的步骤。
CN00809104A 1999-05-17 2000-04-07 使用共享地址使应用程序之间的数据共享和使应用程序对外围设备的访问容易的方法 Pending CN1357123A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP136301/99 1999-05-17
JP13630199 1999-05-17
WOPCT/JP99/06230 1999-11-09
PCT/JP1999/006230 WO2000070466A1 (fr) 1999-05-17 1999-11-09 Procede d'acces a un dispositif e/s et une memoire utilisant une adresse virtuelle et support enregistre comportant un programme destine a executer le procede d'acces a un dispositif e/o et une memoire utilisant une adresse virtuelle

Publications (1)

Publication Number Publication Date
CN1357123A true CN1357123A (zh) 2002-07-03

Family

ID=15171997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00809104A Pending CN1357123A (zh) 1999-05-17 2000-04-07 使用共享地址使应用程序之间的数据共享和使应用程序对外围设备的访问容易的方法

Country Status (5)

Country Link
EP (1) EP1248194A1 (zh)
KR (1) KR20020022050A (zh)
CN (1) CN1357123A (zh)
TW (1) TW462001B (zh)
WO (2) WO2000070466A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336392C (zh) * 2003-12-03 2007-09-05 北京中视联数字系统有限公司 一种机顶盒的数据存储管理方法
CN105659210A (zh) * 2014-04-21 2016-06-08 株式会社东芝 控制装置
CN111367574A (zh) * 2014-02-06 2020-07-03 英特尔公司 用于多操作系统环境的介质保护策略实施

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100601705B1 (ko) * 2004-10-11 2006-07-18 삼성전자주식회사 애플리케이션들간의 메모리 공유 방법 및 그 장치
KR100742614B1 (ko) * 2005-01-12 2007-07-25 한국전자통신연구원 데이터 방송 수신 장치에서의 자원 관리 장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5611532A (en) * 1979-07-11 1981-02-04 Yokogawa Hokushin Electric Corp Computer control system
JPS62131351A (ja) * 1985-12-04 1987-06-13 Nec Corp 実効アドレス計算装置
JPS63184601A (ja) * 1987-01-27 1988-07-30 キヤノン株式会社 情報処理装置
JPS6459553A (en) * 1987-08-31 1989-03-07 Nec Corp Address conversion circuit
JPH05189352A (ja) * 1992-01-16 1993-07-30 Hitachi Ltd I/oアドレス変換方式
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5848247A (en) * 1994-09-13 1998-12-08 Hitachi, Ltd. Microprocessor having PC card interface

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336392C (zh) * 2003-12-03 2007-09-05 北京中视联数字系统有限公司 一种机顶盒的数据存储管理方法
CN111367574A (zh) * 2014-02-06 2020-07-03 英特尔公司 用于多操作系统环境的介质保护策略实施
CN111367574B (zh) * 2014-02-06 2023-09-12 英特尔公司 用于多操作系统环境的介质保护策略实施的方法、系统、设备和介质
CN105659210A (zh) * 2014-04-21 2016-06-08 株式会社东芝 控制装置

Also Published As

Publication number Publication date
TW462001B (en) 2001-11-01
WO2000070466A1 (fr) 2000-11-23
KR20020022050A (ko) 2002-03-23
EP1248194A1 (en) 2002-10-09
WO2000070454A1 (fr) 2000-11-23

Similar Documents

Publication Publication Date Title
CN100340975C (zh) 计算机系统、编译器装置以及编译方法
CN1215415C (zh) 文件管理方法和存储信息记录重放装置
CN100351835C (zh) 信息处理设备及用于信息处理设备的方法
CN1260665C (zh) 用于管理可换存储媒体的设备和方法
CN1969272A (zh) 自动生成内容的导入
CN101043574A (zh) 图像形成装置及方法、图像处理装置及方法
CN1873689A (zh) 图像处理设备、方法和存储有程序的存储介质
CN1493026A (zh) 存储装置及利用此存储装置的记录再生装置
CN1615507A (zh) 用于作为图形布局/表示对象的宿主的系统
CN1873690A (zh) 图像处理设备、方法和存储有程序的存储介质
CN1325069A (zh) 应用执行装置及方法
CN1251064C (zh) 信息处理系统、信息处理终端和存储装置的处理方法
CN1862698A (zh) 信息处理系统、信息生成装置及方法、信息处理装置及方法、程序
CN1910558A (zh) 半导体存储器装置及其控制方法
CN1858742A (zh) 一种在实时数据库中实现更新数据的方法和系统
CN1947100A (zh) 非易失性存储系统、非易失性存储装置、存储控制器、存取装置以及非易失性存储装置的控制方法
CN1484168A (zh) 链接处理装置和链接处理方法
CN1641568A (zh) 基板管理控制器的固件自动配置系统及方法
CN1026629C (zh) 由单一屏面定义文件生成多版屏面
CN1873691A (zh) 图像处理装置、方法以及存储程序的存储介质
CN1624648A (zh) 信息处理系统、打印控制方法以及程序
CN1873686A (zh) 图像处理装置、方法以及存储程序的存储介质
CN1374587A (zh) 取得数据库匹配性的信息管理装置和记录该库程序的媒体
JP5174782B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラムおよび記録媒体
CN1220957C (zh) 计算机网络、终端、许可管理方法和服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication