欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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


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