亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用共享地址使應用程序之間的數(shù)據(jù)共享和使應用程序?qū)ν鈬O備的訪問容易的方法

文檔序號:6507148閱讀:279來源:國知局
專利名稱:使用共享地址使應用程序之間的數(shù)據(jù)共享和使應用程序?qū)ν鈬O備的訪問容易的方法
技術領域
本發(fā)明涉及在計算機領域使在操作系統(tǒng)(OS)上工作的多個應用軟件進行存儲器共享和使應用軟件對外圍設備的訪問變得容易從而用于支持應用軟件的開發(fā)的方法和軟件。
背景技術
在制作在計算機的OS上工作的應用軟件(以下,稱為應用程序)時,以往,存在以下問題。
首先,為了使多個獨立的應用程序共享數(shù)據(jù),必須利用按文件形式保存數(shù)據(jù)等的方法,但是,在速度方面和處理的方便等方面存在很多問題。
另外,關于用于控制在OS上工作的外圍設備的應用程序,在外圍設備變更時,應用程序本身必須重寫。雖然在理論上,可以作成能夠靈活地與這種情況對應的應用程序,但是,往往需要非常復雜的結構,反而不方便。
另外,以往為了記載進行外圍設備的控制的應用程序,必須對各外圍設備采用不同的記載方法,非常煩雜,從而將提高開發(fā)成本。
本發(fā)明的目的旨在同時解決上述問題、使軟件開發(fā)容易從而實現(xiàn)可以減少開發(fā)工時的環(huán)境。

發(fā)明內(nèi)容
本發(fā)明是為應用程序的開發(fā)者等提供可以使用共享地址名共享數(shù)據(jù)的方法和可以使外圍設備的訪問變得容易的方法以及支持這樣的應用程序作成的環(huán)境。
開發(fā)者利用本發(fā)明的方法,使用共享地址名可以非常容易地作成以與其他的應用程序進行存儲器共享為前提的應用程序和通過該共享地址訪問外圍設備的應用程序。
使用該方法作成的應用程序,在本發(fā)明提供的可以使用該共享地址名的環(huán)境中執(zhí)行。即,在應用程序執(zhí)行之前,預先執(zhí)行用于實現(xiàn)該環(huán)境的程序(以下,稱為控制程序)。
在本發(fā)明中,權利要求1所述的發(fā)明是使應用程序之間的數(shù)據(jù)共享和應用程序?qū)ν鈬O備的訪問更容易的方法,其特征在于確保從操作系統(tǒng)的管理脫離出來并且連續(xù)的存儲空間,將共享地址名分配給該存儲空間的一定寬度的各塊,對于上述各塊,至少可以選擇其為直接作為存儲區(qū)域使用或用于外圍設備的訪問而使用的某一種,在上述塊中作為存儲區(qū)域使用的塊中記載作為存儲器的內(nèi)容的數(shù)據(jù),在用于外圍設備的訪問的塊中記載作為訪問對象的外圍設備的信息。
從操作系統(tǒng)的管理脫離出來并確保存儲空間,就意味著采取確保的存儲區(qū)域不會被通過操作系統(tǒng)而發(fā)生移動和干涉等所必需的方法。
這樣,便可確保特定的存儲空間(以后,將該確保的存儲空間稱為共享區(qū)域),并對共享區(qū)域內(nèi)的一定寬度的各塊決定與其對應的共享地址,通過提供從OS的干涉中排除該范圍的環(huán)境,可以非常容易地開發(fā)共享存儲器的應用軟件。
另外,通過將外圍設備的信息記載到該塊內(nèi),可以用于進行外圍設備的訪問。
即,在共享區(qū)域中,在與各共享地址名對應的塊中,至少有作為數(shù)據(jù)共享用的存儲器使用的塊(以下,稱為數(shù)據(jù)存儲塊)和用于外圍設備的訪問而使用的塊(以下,稱為I/O訪問塊)。當然,也可以有除此以外的用途所使用的塊。
這些塊不論在作為哪個目的使用時,作成應用程序的用戶都可以像讀出/寫入通常的地址那樣訪問共享地址。
另外,通常的計算機的地址,1個號碼所具有的大小例如定為8位等。但是,按照本發(fā)明的方法,可以任意決定分配給1個共享地址名的塊的大小,所以,不僅可以將大的數(shù)據(jù)存儲到1個地址內(nèi),而且可以將該地址中的數(shù)據(jù)的屬性等信息也同時存儲到該地址內(nèi),從而可以存放結構化的數(shù)據(jù)。
關于使用什么樣的共享地址名,各開發(fā)者也可以任意決定,但是,共享使用統(tǒng)一規(guī)定的共享地址名時,可以獲得大的效果。
權利要求2所述的發(fā)明是使應用程序之間的數(shù)據(jù)共享和應用程序向外圍設備的訪問更容易的方法,其特征在于確保從操作系統(tǒng)的管理脫離出來并且連續(xù)的存儲空間,將共享地址名分配給該存儲空間的一定寬度的各塊,對于上述各塊,至少可以選擇其直接作為存儲區(qū)域使用或用于外圍設備的訪問而使用或訪問網(wǎng)絡上的第2計算機內(nèi)的共享地址中的某一種,上述塊中,在作為存儲區(qū)域使用的塊中記載作為其存儲器的內(nèi)容的數(shù)據(jù),在用于外圍設備的訪問的塊中,記載作為訪問對象的外圍設備的信息,在用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問的塊中,記載第2計算機的訪問用的信息。
在共享區(qū)域中,作為與各共享地址名對應的塊,除了數(shù)據(jù)存儲塊和I/O訪問塊以外,至少還存在用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問的塊(以下,稱為網(wǎng)絡數(shù)據(jù)存儲塊)。
這樣,就可以訪問網(wǎng)絡上的其他計算機內(nèi)的相同的共享地址。
權利要求3所述的發(fā)明是權利要求1或權利要求2所述的方法,其特征在于記載在用于外圍設備的訪問的塊內(nèi)的信息是該外圍設備的物理地址。
通過將外圍設備的物理地址記載到塊內(nèi),便可使用該物理地址訪問外圍設備。
權利要求4所述的發(fā)明是權利要求2或權利要求3所述的方法,其特征在于記載在用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問的塊內(nèi)的信息是第2計算機的網(wǎng)絡地址。
通過將網(wǎng)絡上的其他計算機的網(wǎng)絡地址記載到塊內(nèi),便可訪問該計算機上的相同的共享地址。
權利要求5所述的發(fā)明是權利要求1~權利要求4的任一權項所述的發(fā)明,其特征在于上述共享地址的號碼名由字母和十進制數(shù)的組合構成。
通常,計算機的地址用二進制數(shù)、八進制數(shù)、十六進制數(shù)等表示。
因此,通過用例如X0001~X9999這樣的字母和十進制數(shù)表示共享地址名,可以實現(xiàn)對用戶而言容易理解的環(huán)境。
權利要求6所述的發(fā)明是應用程序開發(fā)支援系統(tǒng),其特征在于提供可以采用權利要求1~權利要求5的任一權項所述的方法的環(huán)境。
通過將可以使用共享地址名進行數(shù)據(jù)共享和外圍設備的控制的環(huán)境作為開發(fā)支持系統(tǒng)來提供,可以提供數(shù)據(jù)共享和外圍設備的控制用的應用程序的開發(fā)比先有的方法非常容易的程序開發(fā)環(huán)境。
權利要求7所述的發(fā)明是計算機可以讀取的記錄媒體,其特征在于記錄了用于設定共享地址環(huán)境的程序,該程序包括取得共享地址名的步驟、從操作系統(tǒng)的管理脫離出來并確保足以對該共享地址可以確保一定寬度的塊的存儲區(qū)域的步驟、根據(jù)上述共享地址定義文件對各塊存儲其使用目的的屬性的步驟和在有各塊的初始數(shù)據(jù)時將其記載到該塊內(nèi)的步驟。
權利要求8所述的發(fā)明是計算機可以讀取的記錄媒體,其特征在于記錄了用于設定權利要求7所述的共享地址的程序,該程序包括上述各塊的使用目的的屬性作為存儲區(qū)域使用或用于外圍設備的訪問或用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問中的至少某一種。
該記錄媒體記錄的程序是用于設定可以使用共享地址的環(huán)境的程序。
使用共享地址記載的應用程序,在執(zhí)行該程序并設定可以使用共享地址的環(huán)境之后執(zhí)行。
權利要求9所述的發(fā)明是計算機可以讀取的記錄媒體,其特征在于記錄了用于利用共享地址環(huán)境的程序,該程序包括使用上述共享地址名取得與其對應的塊的屬性的步驟和在該屬性的類型是表示作為存儲區(qū)域使用時就將該塊內(nèi)的數(shù)據(jù)作為其存儲器的內(nèi)容進行訪問而在該屬性的類型是表示用于外圍設備的訪問時就從該塊取得物理存儲地址并訪問外圍設備的步驟。
權利要求10所述的發(fā)明是計算機可以讀取的記錄媒體,其特征在于記錄了用于利用共享地址環(huán)境的程序,該程序包括使用上述共享地址名取得與其對應的塊的屬性的步驟和在該屬性的類型是表示作為存儲區(qū)域使用時就將該塊內(nèi)的數(shù)據(jù)作為其存儲器的內(nèi)容進行訪問、在該屬性的類型是表示用于外圍設備的訪問時就從該塊取得物理存儲地址并訪問外圍設備,而在該屬性的類型是表示用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問時就從該塊取得第2計算機的網(wǎng)絡地址并訪問第2計算機的步驟。
記錄在這些記錄媒體上的程序,是在根據(jù)權利要求7或權利要求8所述的控制程序記載在設定了可以使用共享地址的環(huán)境的狀態(tài)下執(zhí)行的應用程序時用于利用共享地址環(huán)境的程序。


圖1是表示本發(fā)明實施例1的整體的概念圖。
圖2是表示共享地址定義文件的內(nèi)容的圖。
圖3是表示應用程序使用共享地址環(huán)境訪問I/O和存儲器的步驟的流程圖。
圖4是表示用于實現(xiàn)共享地址環(huán)境的步驟的流程圖。
圖5是共享區(qū)域的數(shù)據(jù)結構。
圖6是用于從應用程序訪問共享地址的函數(shù)的形式。
圖7是表示用于從應用程序訪問(讀出)共享地址的函數(shù)的過程的流程圖。
圖8是表示用于從應用程序訪問(寫入)共享地址的函數(shù)的過程的流程圖。
圖9是表示確保共享區(qū)域的過程的流程圖。
圖10是表示本發(fā)明實施例2的整體的概念圖。
圖11是表示共享地址定義文件的內(nèi)容的圖。
圖12是表示用于實現(xiàn)共享地址環(huán)境的過程的流程圖。
圖13是表示用于從應用程序訪問(讀出)共享地址的函數(shù)的過程的流程圖。
圖14是表示應用程序使用共享地址訪問(讀出)共享區(qū)域的步驟的概要的圖。
圖15是表示應用程序使用共享地址訪問(讀出)外圍設備的步驟的概要的圖。
圖16是表示通過使用共享地址而應用程序通過網(wǎng)絡訪問(讀出)其他的計算機上的共享區(qū)域的過程的概要的圖。
圖17是表示通過使用共享地址而應用程序通過網(wǎng)絡訪問(讀出)與其他計算機連接的外圍設備的過程的概要的圖。
具體實施例方式
應用程序的開發(fā)者開發(fā)出首先決定所使用的共享地址名(例如,決定使用X0000~X9999、Y0000~Y9999),或者使用已由第三者決定的該共享地址,并使用該共享地址進行訪問的應用程序。
并且,執(zhí)行控制程序,設定在計算機上可以實現(xiàn)該共享地址的訪問的環(huán)境,從而執(zhí)行上述應用程序。
實施例1.
圖1是通過本發(fā)明實現(xiàn)的共享地址進行存儲器共享和進行外圍設備的訪問方法的概念圖。
共享地址的號碼名的稱呼,用戶可以自由決定。
并且,用戶在各個共享地址名中決定希望對應的塊作為數(shù)據(jù)存儲塊使用還是作為I/O訪問塊使用,并作成記載這些信息的定義文件。
在該定義文件中,由用戶寫入圖2所示的數(shù)據(jù)。圖2是X系列的共享地址部分的數(shù)據(jù)的例。在圖2中,在“共享地址”欄內(nèi),記載共享地址名,在“類型”欄內(nèi),記載該共享地址的使用方法即作為數(shù)據(jù)共享用的共享存儲器使用(MEM)還是用于外圍設備的訪問(I/O)?!癛/W”欄記載該I/O或存儲器用于讀出或?qū)懭?或者用于兩者)。在“名稱”欄內(nèi),用戶任意寫入外圍設備或存儲器的名稱。
并且,在表示I/O訪問塊的共享地址時,在“數(shù)據(jù)A”欄內(nèi)寫入映射的外圍設備的物理地址,在“數(shù)據(jù)B”的欄內(nèi)寫入表示訪問的字節(jié)數(shù)的數(shù)值。在為表示數(shù)據(jù)存儲塊的共享地址時,應用程序?qū)⒐蚕韰^(qū)域直接作為存儲數(shù)據(jù)的區(qū)域使用,所以,不必對“數(shù)據(jù)A”和“數(shù)據(jù)B”進行記載,可以寫入任意初始值。
此外,有時也記載與實際地址不同的以該實際地址為基礎的“偏移量”。
這樣,在決定共享地址之后,用戶為了利用這些共享地址,使用作為用于用戶的開發(fā)支持而提供的圖6的C語言的函數(shù)(程序)的ReadComRam(char*dat,void*buf)WriteComRam(char*dat,void*buf)等開發(fā)應用程序。
關于這些函數(shù)本身的實現(xiàn)方法,后面說明,下面使用圖3說明使用上述函數(shù)的應用程序的記載方法。
S301確認是否已成為由控制程序提供了共享地址環(huán)境的狀態(tài)。在未成為提供共享地址環(huán)境的狀態(tài)時,返回錯誤。
S302為了可以訪問共享區(qū)域(后面所述的頁面文件)而開放該共享區(qū)域。
S303通過使用共享地址讀出/寫入共享區(qū)域內(nèi)的塊,訪問共享區(qū)域內(nèi)的數(shù)據(jù)或記載在共享區(qū)域內(nèi)的物理地址表示的外圍設備。這樣,不論在訪問共享數(shù)據(jù)時還是訪問外圍設備時,作為應用程序的記載,都是ReadComRam(char*dat,vOid*buf)WriteComRam(char*dat,void*buf)僅僅是讀出/寫入共享地址。
S304在訪問結束后,就關閉共享區(qū)域。
并且,用戶在起動控制程序之后,執(zhí)行利用上述作成的該共享地址的應用程序。
因此,下面,說明控制程序的動作。圖4表示其流程圖。
在程序開始時,首先,在S401,嘗試讀入定義共享地址的號碼名的稱呼的文件。這時,如果存在用戶作成的文件,就讀入該文件,不存在文件時,就使用缺省的定義文件。
缺省的號碼名,輸入用的由X0001~X9999定義,輸出用的由Y0001~Y9999定義,存儲器用的由M0001~M9999定義,數(shù)據(jù)用的由D0001~D9999定義,實數(shù)用的由R0001~R999定義等。為了方便,進行了輸入用、輸出用等區(qū)別,但是,這僅僅是考慮到用戶使用的方便而賦予這樣的名稱,當然并不是功能內(nèi)容隨名稱而不同。
以后,以使用上述X0001~X9999這樣的號碼名的情況為例進行說明。
其次,在存儲器上確保足以確保與上述共享地址對應的塊的共享區(qū)域(S402)。
為了使共享區(qū)域不會通過OS而移動,要確保其從OS的管理中脫離。作為OS,以使用視窗N T的情況為例說明其實現(xiàn)過程。
在視窗NT上,通過頁面文件訪問物理存儲器。因此,將該頁面文件作為共享區(qū)域而鎖定。
具體的步驟示于圖9的流程圖。
首先,根據(jù)共享地址定義文件計算總數(shù)據(jù)尺寸(S901)。
其次,給頁面文件加上名稱,確保上述總數(shù)據(jù)尺寸(S902)。
然后,將頁面文件提交給到物理存儲器(S903)。
然后,鎖定該頁面文件(S904)。
并且,取得用于訪問頁面文件的開始地址(共享區(qū)域的開始地址)(S905)。
通過上述步驟,就確保了鎖定的共享區(qū)域。
現(xiàn)在,返回到圖4的說明,順序掃描定義文件(圖2)。即,如流程圖S403~S409所示,順序讀出記載在定義文件中的屬性(類型、R/W)和數(shù)據(jù),將所需要的數(shù)據(jù)寫入共享區(qū)域所對應的塊中。共享區(qū)域的1塊的數(shù)據(jù)結構如圖5所示。
首先,順序讀入由共享地址名指定的各塊的“類型”(S403),判斷該類型(S404),在塊的類型屬性是I/O訪問塊時,就將從定義文件的“數(shù)據(jù)A”欄讀出的該I/O的物理地址記載到該塊的“物理地址”欄中(圖5)(S405)。然后,將“類型”和“R/W”等屬性信息記載到塊的“信息”欄中(圖5)(S406)。
并且,將從定義文件的“數(shù)據(jù)B”欄讀出的向該I/O的訪問使用的字節(jié)數(shù)記載到“字節(jié)數(shù)”欄中(圖5)(S407)。
在塊的類型是“數(shù)據(jù)存儲塊”時,就將屬性信息寫入“信息”欄(S409)。并且,該塊的“數(shù)據(jù)”欄(圖5)內(nèi)的數(shù)據(jù)成為各應用程序所共享的,但是,在控制程序的起動時刻,不需要將數(shù)據(jù)特別記載到該欄內(nèi)。當然,也可以記載任何初始值。
并且,反復進行上述步驟,直至定義文件的最后(S408),在將定義文件全部讀入之后,關閉共享區(qū)域。
通過執(zhí)行上述步驟,就設定了共享地址環(huán)境。
其次,表示圖6所示的ReadComRam(char*dat,void*buf)WriteComRam(char*dat,void*buf)執(zhí)行時的動作。
應用程序調(diào)用這些函數(shù),控制程序執(zhí)行該函數(shù)。
首先,使用圖7說明函數(shù)ReadComRam(chdr*dat,void*buf)的執(zhí)行步驟。
開始,確認已設定可以使用該函數(shù)的環(huán)境即已起動了控制程序11(S701)。
然后,根據(jù)由第1變量給出的應讀入的共享地址名(*adr)取得共享區(qū)域內(nèi)的對應的塊位置(S702)。這就是在控制程序確保共享區(qū)域的時刻存儲共享區(qū)域的開始地址,所以,可以根據(jù)該開始地址進行計算。
例如,共享地址從X0000號碼開始連續(xù)的、存儲器上確保的共享區(qū)域的實地址的開頭號碼是D0000號碼,如果共享地址的1塊使用的寬度是32字節(jié),與共享地址的X0002號碼對應的共享區(qū)域的實地址就是從D0000號碼開始增加2×32字節(jié)的地址。
然后,從共享區(qū)域的“信息”欄中取得“R/W”屬性(S703)。
此外,根據(jù)該屬性確認要讀入的共享地址是許可讀入的地址(是“R”或“R/W”)(S704)。
然后,根據(jù)從上述“信息”欄讀入的“類型”屬性確認此后要讀入的共享地址表示的塊是“數(shù)據(jù)存儲塊”還是“I/O訪問塊”(S705)。
是I/O訪問塊時,取得共享區(qū)域的該塊的“物理地址”欄存儲的物理地址(S706),進而從該物理地址表示的外圍設備(I/O)中取得數(shù)據(jù),并將該值存儲為變量buf(S707)。
在是數(shù)據(jù)存儲塊時,就將共享區(qū)域的該塊的“數(shù)據(jù)”欄存儲的數(shù)據(jù)作為該共享地址中存儲的值而取得,并存儲為變量buf(S708)。
以上,就是函數(shù)ReadComRam(char*dat,void*buf)的執(zhí)行過程。
下面,使用圖8說明函數(shù)WriteComRam(char*dat,void*buf)的執(zhí)行過程。
開始,確認已設定了可以使用該函數(shù)的環(huán)境(S801)。
然后,根據(jù)由第1變量給出的應寫入的共享地址名(*adr)取得共享區(qū)域內(nèi)的對應的塊位置(S802)。這可以和ReadComRam()的情況一樣進行計算。
其次,從共享區(qū)域的“信息”欄取得“R/W”屬性(S803)。
此外,根據(jù)該屬性確認要讀入的共享地址是許可寫入的地址(是“W”或“R/W”)(S804)。
然后,根據(jù)從上述“信息”欄讀入的“類型”屬性確認此后要讀入的共享地址表示的塊是“數(shù)據(jù)存儲塊”還是“I/O訪問塊”(S805)。
是I/O訪問塊時,就取得共享區(qū)域的該塊的“物理地址”欄存儲的物理地址(S806),進而向該物理地址表示的外圍設備寫入buf的數(shù)據(jù)(S807)。
是數(shù)據(jù)存儲塊時,將buf的數(shù)據(jù)存儲到共享區(qū)域的該塊的“數(shù)據(jù)”欄中(S808)。
以上,就是函數(shù)WriteComRam(char*dat,void*buf)的執(zhí)行過程。
下面,再次說明控制程序的該ReadComRam()、WriteComRam()的執(zhí)行概念,及與調(diào)用它的應用程序的關系。
首先,作為訪問在共享區(qū)域內(nèi)共享的數(shù)據(jù)時的例子,使用圖14和圖7說明利用ReadComRam()讀出共享區(qū)域內(nèi)的數(shù)據(jù)的情況。這時,和圖1的情況一樣,設想由共享地址X0000號碼指示的共享區(qū)域用于數(shù)據(jù)共享的情況。
由應用程序調(diào)用ReadComRam(X0000,buf)時,控制程序11執(zhí)行ReadComRam()的模塊(圖14的S1401)。
并且,根據(jù)共享地址名取得共享區(qū)域的對應的塊位置,檢查共享地址的屬性等(圖14的S1402、圖7的S702~S705)。
由于該屬性是“MEM”,所以,控制程序11讀入共享區(qū)域內(nèi)的數(shù)據(jù)(圖14的S1403),將該數(shù)據(jù)作為ReadComRa()的執(zhí)行結果返回應用程序(圖14的S1404、圖7的S708)。
如上所述,應用程序可以使用共享地址讀入共享區(qū)域內(nèi)的共享數(shù)據(jù)。
下面,作為用于訪問外圍設備時的例子,使用圖15和圖7說明從外圍設備取得數(shù)據(jù)的例子。這時,和圖1的情況一樣,設想由共享地址X0001號碼指示的共享區(qū)域用于訪問外圍設備的情況。
由應用程序調(diào)用ReadComRam(X0001,buf)時,控制程序11執(zhí)行ReadComRam()(S1501)。
首先,根據(jù)共享地址名取得共享區(qū)域的對應的塊位置,檢查指定的共享地址的屬性(圖15的S1502、圖7的S702~S705)。
由于該屬性是“I/O”,所以,控制程序11讀入與X0001號碼對應的共享區(qū)域內(nèi)的物理地址數(shù)據(jù)(圖15的S1503)。這就是應訪問的外圍設備的物理地址。
然后,使用該物理地址對外圍設備執(zhí)行讀出訪問(圖15的S1504、S1505、圖7的S707)。
并且,將讀出的數(shù)據(jù)作為ReadComRam()的執(zhí)行結果返回應用程序(圖15的S1506)。
如上所述,應用程序僅讀出共享地址就可以對外圍設備進行讀取訪問。
以上,說明了ReadComRam()的例子,但是,對于WriteComRam()僅僅是讀出與寫入的差異,基本的動作是相同的。
實施例2.
下面,說明在第1計算機和第2計算機中執(zhí)行控制程序并且執(zhí)行應用程序和在各應用程序中進行數(shù)據(jù)共享或外圍設備的控制的例子。
圖10是其概念圖。
這時,在第1計算機(計算機1)中,具有圖11(a)的定義文件,執(zhí)行控制程序11(圖12),在第2計算機(計算機2)中,具有圖11(b)的定義文件,執(zhí)行控制程序12(圖12)。
作為共享區(qū)域的屬性,除了數(shù)據(jù)存儲塊和I/O訪問塊以外,還有網(wǎng)絡數(shù)據(jù)存儲塊(圖5(3))。
下面,說明控制程序執(zhí)行這時的ReadComRam()、WriteComRam()的概念,包括與調(diào)用它們的應用程序的關系。
首先,作為計算機1上的應用程序訪問在計算機2內(nèi)的共享區(qū)域內(nèi)共享的數(shù)據(jù)時的例子,使用圖16和圖13說明在圖10中通過計算機1上的應用程序103利用ReadComRam()讀出共享地址X0006號碼而讀出計算機2的共享區(qū)域(X0006)的共享數(shù)據(jù)的情況。
由應用程序103調(diào)用ReadComRam(X0006,buf)時,控制程序11執(zhí)行ReadComRam()的模塊(圖16的S1601)。
并且,根據(jù)共享地址名取得共享區(qū)域的對應的塊位置,檢查共享地址的屬性等(圖16的S1602、圖13的S1302~S1305)。
由于該屬性是“NETWORK”,所以,控制程序11讀入與X0006號碼對應的共享區(qū)域內(nèi)的數(shù)據(jù)(圖16的S1603)。這就是計算機2的IP地址(圖13的S1309)。
因此,控制程序11使用該IP地址指示計算機2上的控制程序12執(zhí)行ReadComRam(X0006,buf)(圖16的S1604、圖13的S1310)。
這樣,控制程序12就執(zhí)行ReadComRam(X0006,buf)。以后的計算機2上的控制程序12的動作,和在實施例1中說明的將共享區(qū)域的數(shù)據(jù)作為共享數(shù)據(jù)而讀出的情況相同。
即,根據(jù)共享地址名取得共享區(qū)域的對應的塊位置,檢查共享地址的屬性等(圖16的S1605)。這就是圖13的S1302~S1305的步驟,當然,這次就是控制程序12的動作。
由于該屬性是“MEM”,所以,控制程序12讀入共享區(qū)域內(nèi)的數(shù)據(jù)(圖16的S1606、圖13的S1308),并將該數(shù)據(jù)作為ReadComRam()的執(zhí)行結果返回計算機1的控制程序11(圖16的S1607)。
控制程序11將從控制程序12返回的值直接返回應用程序103(圖16的S1608)。
如上所述,計算機1上的應用程序103可以使用共享地址讀出計算機2的共享區(qū)域內(nèi)的共享數(shù)據(jù)。
其次,說明作為計算機1上的應用程序使用共享地址訪問與計算機2連接的外圍設備時的例子,使用圖17和圖13說明在圖10中通過計算機1上的應用程序利用ReadComRam()讀出共享地址X0005號碼而從與計算機2連接的外圍設備203進行讀出訪問的情況。
由應用程序102調(diào)用ReadComRam(X0005,buf)時,控制程序11執(zhí)行ReadComRam()的模塊(圖17的S1701)。
并且,根據(jù)共享地址名取得共享區(qū)域的對應的塊位置,檢查共享地址的屬性等(圖17的S1702、圖13的S1302~S1305)。
由于該屬性是“NETWORK”,所以,控制程序11讀入共享區(qū)域內(nèi)的數(shù)據(jù)(圖17的S1702)。這就是計算機2的IP地址(圖13的S1309)。
因此,控制程序11使用該IP地址指示計算機2上的控制程序12執(zhí)行ReadComRam(X0005,buf)(圖17的S1704、圖13的S1310)。
這樣,控制程序12就執(zhí)行ReadComRam(X0005,buf)。以后的計算機2上的控制程序12的動作和在實施例1中說明的訪問外圍設備的情況一樣。
即,根據(jù)共享地址名取得共享區(qū)域的對應的塊位置,檢查共享地址的屬性等(圖17的S1705)。這就是圖13的S1302~S1305的步驟,當然,這次就是控制程序12的動作。
由于該屬性是“I/O”,所以,控制程序12讀入與X0005號碼對應的共享區(qū)域內(nèi)的數(shù)據(jù)(圖17的S1706)。這就是應訪問的外圍設備的物理地址(圖13的S1306)。
然后,使用該物理地址對外圍設備執(zhí)行讀出訪問(圖17的S1707、S1708、圖13的S1307)。
并且,將讀出的數(shù)據(jù)作為ReadComRam()的執(zhí)行結果返回計算機1的控制程序11(圖17的S1709)。
控制程序11將從控制程序12返回的值直接返回應用程序102(圖17的S1710)。
如上所述,計算機1上的應用程序102僅讀出共享地址就可以對計算機2的外圍設備進行讀出訪問。
至此為止的說明,以計算機為2臺的情況為例,但是,計算機為3臺以上時同樣也可以。
可以將以上的控制程序和共享地址的訪問用的函數(shù)的程序等作為用于提高數(shù)據(jù)的共享和外圍設備的訪問用的應用程序的開發(fā)效率的組件或者與計算機裝置一起作為系統(tǒng)而提供。
本發(fā)明具有提高應用程序的開發(fā)效率的效果。
應用程序開發(fā)者可以鏡象訪問外圍設備從而用地址進行數(shù)據(jù)的讀/寫。這樣,就可以飛速地提高應用程序開發(fā)的效率。
并且,多個應用程序容易共享數(shù)據(jù)。
這時,對于多個應用程序的訪問,可以采用統(tǒng)一訪問,所以,可以防止多個訪問的沖突。
另外,在外圍設備(外部硬件)變化時,僅改寫驅(qū)動程序就可以了,用戶不必改寫應用程序再次進行編譯。
此外,在訪問外圍設備時,通過預先將其數(shù)據(jù)存入數(shù)據(jù)存儲塊中,其他應用程序不必直接訪問I/O,就可以監(jiān)視其外圍設備的狀態(tài)。
權利要求
1.一種使應用程序之間的數(shù)據(jù)共享和使應用程序向外圍設備的訪問變得容易的方法,其特征在于確保從操作系統(tǒng)的管理脫離出來并連續(xù)的存儲空間,將共享地址名分配給該存儲空間的一定寬度的各塊,對于上述各塊,至少選擇為可以直接作為存儲區(qū)域使用或用于外圍設備的訪問而使用的某一種,在上述塊中作為存儲區(qū)域使用的塊中記載作為存儲器的內(nèi)容的數(shù)據(jù),在用于外圍設備的訪問的塊中記載作為訪問對象的外圍設備的信息。
2.一種使應用程序之間的數(shù)據(jù)共享和使應用程序向外圍設備的訪問變得容易的方法,其特征在于確保從操作系統(tǒng)的管理脫離出來并連續(xù)的存儲空間,將共享地址名分配給該存儲空間的一定寬度的各塊,對于上述各塊,至少選擇為可以直接作為存儲區(qū)域使用、或用于外圍設備的訪問而使用、或訪問網(wǎng)絡上的第2計算機內(nèi)的共享地址的某一種,上述塊中,在作為存儲區(qū)域使用的塊中記載作為其存儲器的內(nèi)容的數(shù)據(jù),在用于外圍設備的訪問的塊中記載作為訪問對象的外圍設備的信息,在用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問的塊中記載第2計算機的訪問用的信息。
3.按權利要求2所述的方法,其特征在于記載在用于外圍設備的訪問的塊內(nèi)的信息是該外圍設備的物理地址。
4.按權利要求2或權利要求3所屬的方法,其特征在于記載在用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問的塊內(nèi)的信息是第2計算機的網(wǎng)絡地址。
5.按權利要求1~權利要求4的任一權項所述的方法,其特征在于上述共享地址的號碼名由字母和十進制數(shù)的組合構成。
6.一種應用程序開發(fā)支持系統(tǒng),其特征在于提供可以采用權利要求1~權利要求5的任一權項所述的方法的環(huán)境。
7.一種計算機可以讀取的記錄媒體,其特征在于記錄了用于設定共享地址環(huán)境的程序,該程序包括取得共享地址名的步驟;確保從操作系統(tǒng)的管理脫離出來并且對該共享地址可以確保一定寬度的塊的存儲區(qū)域的步驟;根據(jù)上述共享地址定義文件,對各塊存儲其使用目的的屬性的步驟;和在有各塊的初始數(shù)據(jù)時將其記載到該塊內(nèi)的步驟。
8.一種計算機可以讀取的記錄媒體,其特征在于記錄了用于設定權利要求7所述的共享地址的程序,該程序包括上述各塊的使用目的的屬性作為存儲區(qū)域使用或用于外圍設備的訪問或用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問中的至少某一個。
9.一種計算機可以讀取的記錄媒體,其特征在于記錄了用于利用共享地址環(huán)境的程序,該程序包括使用上述共享地址名取得與其對應的塊的屬性的步驟;和在該屬性的類型是表示作為存儲區(qū)域使用時,就將該塊內(nèi)的數(shù)據(jù)作為其存儲器的內(nèi)容進行訪問,而在該屬性的類型是表示用于外圍設備的訪問時,就從該塊取得物理存儲地址并訪問外圍設備的步驟。
10.一種計算機可以讀取的記錄媒體,其特征在于記錄了用于利用共享地址環(huán)境的程序,該程序包括使用上述共享地址名取得與其對應的塊的屬性的步驟;和在該屬性的類型是表示作為存儲區(qū)域使用時就將該塊內(nèi)的數(shù)據(jù)作為其存儲器的內(nèi)容進行訪問,在該屬性的類型是表示用于外圍設備的訪問時,就從該塊取得物理存儲地址并訪問外圍設備,而在該屬性的類型是表示用于網(wǎng)絡上的第2計算機內(nèi)的共享地址的訪問時,就從該塊取得第2計算機的網(wǎng)絡地址并訪問第2計算機的步驟。
全文摘要
一種如同從計算機的應用程序讀出/寫入通常的地址那樣用于訪問外圍設備或存儲器的方法和記錄用于實現(xiàn)該方法的軟件的計算機可以讀取的記錄媒體。本發(fā)明脫離操作系統(tǒng)的管理,確保連續(xù)的存儲空間,將共享地址名分配給該存儲空間的一定寬度的各塊,對于上述各塊,至少可以選擇一個直接作為存儲區(qū)域使用或用于外圍設備的訪問,在上述塊中,將作為其存儲器的內(nèi)容的數(shù)據(jù)記載到作為存儲區(qū)域使用的塊中,將作為訪問對象的外圍設備的信息記載到用于外圍設備的訪問的塊中。
文檔編號G06F9/46GK1357123SQ00809104
公開日2002年7月3日 申請日期2000年4月7日 優(yōu)先權日1999年5月17日
發(fā)明者吉田隆, 駒澤雄一 申請人:株式會社科浪
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1