亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

單處理器操作系統(tǒng)并行處理系統(tǒng)中的安全管理系統(tǒng)的制作方法

文檔序號(hào):6422834閱讀:126來源:國知局
專利名稱:單處理器操作系統(tǒng)并行處理系統(tǒng)中的安全管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種多處理器并行處理系統(tǒng)中的安全管理系統(tǒng),更具體地,涉及一種利用單處理器的OS(操作系統(tǒng))的并行處理系統(tǒng)中的安全管理系統(tǒng),能夠在多處理器上運(yùn)行OS和針對(duì)單處理器的現(xiàn)有應(yīng)用程序,使得應(yīng)用程序能夠?qū)崿F(xiàn)多處理器并行處理。
背景技術(shù)
在如包括移動(dòng)電話和移動(dòng)PC的移動(dòng)終端等數(shù)據(jù)處理設(shè)備中,基本上在單處理器上執(zhí)行針對(duì)單處理器的操作系統(tǒng)(此后稱為單處理器OS)以及針對(duì)單處理器的應(yīng)用程序(此后簡稱為應(yīng)用程序)。
在這樣的環(huán)境下,當(dāng)使用上述應(yīng)用程序,而不在多處理器的基礎(chǔ)上進(jìn)行修改時(shí),應(yīng)當(dāng)在多處理器OS上執(zhí)行應(yīng)用程序,來代替上述單處理器OS。
在這種控制多處理器OS和上述多處理器系統(tǒng)上的應(yīng)用程序的執(zhí)行的系統(tǒng)中,例如,在日本專利未審公開(Kokai)No.Heisei 3-257652和日本專利未審公開(Kokai)No.Heisei 3-113563中公開了現(xiàn)有技術(shù)。
日本專利未審公開(Kokai)No.Heisei 3-257652(文獻(xiàn)1)公開了一種對(duì)由多個(gè)處理器元件組成的多處理器系統(tǒng)中的處理器元件之間的中斷進(jìn)行控制的方法。
日本專利未審公開(Kokai)No.Heisei 3-113563(文獻(xiàn)2)公開了一種對(duì)要分配給多處理器系統(tǒng)中的多個(gè)處理器的進(jìn)程進(jìn)行調(diào)度的方法。
另一方面,日本專利未審公開(Kokai)No.2003-058515(文獻(xiàn)3)公開了一種在多個(gè)處理器元件上執(zhí)行單獨(dú)的進(jìn)程的方法。
但是,當(dāng)如現(xiàn)有技術(shù)那樣在多處理器OS上運(yùn)行現(xiàn)有應(yīng)用程序時(shí),即使在應(yīng)用程序只使用多個(gè)處理器之一時(shí),多處理器OS仍然提供針對(duì)多處理器的服務(wù),或者即使在沒有其他應(yīng)用程序運(yùn)行時(shí),仍然互斥地處理其他處理器,從而額外的處理引起了開銷,或者可能會(huì)引起對(duì)上述應(yīng)用程序進(jìn)行修改從而用在多處理器中將需要巨大的勞動(dòng)和成本的問題。
具體地,當(dāng)以如包括移動(dòng)電話和移動(dòng)PC的移動(dòng)終端等小型數(shù)據(jù)處理設(shè)備中的多處理器來實(shí)現(xiàn)并行處理系統(tǒng)時(shí),多處理器OS處理中的開銷和對(duì)應(yīng)用程序的修改成為障礙。
在這樣的情況下,當(dāng)使用應(yīng)用程序,而不對(duì)現(xiàn)有的單處理器OS進(jìn)行修改時(shí),需要實(shí)現(xiàn)能夠無需修改地在多處理器上運(yùn)行現(xiàn)有應(yīng)用程序的并行處理系統(tǒng)。
此外,在傳統(tǒng)的多處理器OS并行處理器系統(tǒng)中,由于OS實(shí)質(zhì)上是單一的,難以分離每個(gè)處理器的安全功能,而且通過使每個(gè)處理器適合于安全性,將使處理器性能一致地退化。
在這樣的情況下,希望如包括移動(dòng)電話和移動(dòng)PC在內(nèi)的移動(dòng)終端等小型數(shù)據(jù)處理設(shè)備是運(yùn)行在多處理器的每個(gè)處理器上的單處理器OS,其中每個(gè)處理器獨(dú)立地具有安全功能,而無需使處理器性能退化。
上述文獻(xiàn)并未公開一種單獨(dú)向每個(gè)處理器提供安全功能的技術(shù)。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種安全管理系統(tǒng),能夠作為單獨(dú)針對(duì)每個(gè)處理器的軟件,確保安全性,而不會(huì)使與利用單處理器的OS的并行處理系統(tǒng)有關(guān)的處理器性能退化,單處理器OS在多處理器上運(yùn)行單處理器OS和現(xiàn)有的應(yīng)用程序,而無需對(duì)其進(jìn)行修改,使得現(xiàn)有應(yīng)用程序?qū)崿F(xiàn)了多處理器并行處理。
根據(jù)本發(fā)明的第一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并且所述并行處理系統(tǒng)控制能夠在運(yùn)行在第一處理器側(cè)的處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于該處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于該處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并且所述并行處理系統(tǒng)控制能夠在運(yùn)行在第一處理器側(cè)的處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,并入在單處理器OS中的安全擴(kuò)展單元響應(yīng)處理請(qǐng)求,控制相對(duì)于來自工作單元的處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,并入在單處理器OS中的安全擴(kuò)展單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,并入在單處理器OS中的安全擴(kuò)展單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并且所述并行處理系統(tǒng)控制能夠在運(yùn)行在第一處理器側(cè)的處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,提供了工作單元的執(zhí)行環(huán)境的應(yīng)用程序控制單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于該處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,提供了工作單元的執(zhí)行環(huán)境的應(yīng)用程序控制單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于該處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,提供了工作單元的執(zhí)行環(huán)境的應(yīng)用程序控制單元響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于該處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并且所述并行處理系統(tǒng)控制能夠在運(yùn)行在第一處理器側(cè)的處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元、并入在單處理器OS中的安全擴(kuò)展單元、以及相對(duì)于工作單元控制安全功能的應(yīng)用程序控制單元中的至少一個(gè)響應(yīng)處理請(qǐng)求,控制相對(duì)于來自工作單元的處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元、并入在單處理器OS中的安全擴(kuò)展單元、以及相對(duì)于工作單元控制安全功能的應(yīng)用程序控制單元中的至少一個(gè)響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于該處理請(qǐng)求的安全功能。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并且所述并行處理系統(tǒng)控制能夠在運(yùn)行在第一處理器側(cè)的處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,針對(duì)每個(gè)處理器,對(duì)向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元的功能加以限制,以限制來自運(yùn)行在每個(gè)處理器上的工作單元的處理請(qǐng)求。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,針對(duì)每個(gè)處理器,對(duì)向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元的功能加以限制,以限制來自運(yùn)行在每個(gè)處理器上的工作單元的處理請(qǐng)求。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并且所述并行處理系統(tǒng)控制能夠在運(yùn)行在第一處理器側(cè)的處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,在執(zhí)行其所請(qǐng)求的功能不同的工作單元時(shí),根據(jù)由向工作單元提供執(zhí)行環(huán)境的應(yīng)用程序控制單元所提供的功能,選擇并分配執(zhí)行所述工作單元的處理器。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,在執(zhí)行其所請(qǐng)求的功能不同的工作單元時(shí),根據(jù)由向工作單元提供執(zhí)行環(huán)境的應(yīng)用程序控制單元所提供的功能,選擇并分配執(zhí)行所述工作單元的處理器。
根據(jù)本發(fā)明的另一方面,一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,在執(zhí)行其所請(qǐng)求的功能不同的工作單元時(shí),根據(jù)由向工作單元提供執(zhí)行環(huán)境的應(yīng)用程序控制單元所提供的功能,選擇并分配執(zhí)行所述工作單元的處理器。
從以下給出的詳細(xì)描述中,本發(fā)明的其他目的、特征和優(yōu)點(diǎn)將變得更加明顯。


從以下所給出的詳細(xì)描述中和從本發(fā)明的優(yōu)選實(shí)施例的附圖中,本發(fā)明將得到更完整的理解,然而,這些優(yōu)選實(shí)施例不應(yīng)該看作對(duì)本發(fā)明的限定,而只用于解釋和理解的目的。
在附圖中圖1是示出了根據(jù)本發(fā)明第一實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖;圖2是用于解釋在第一實(shí)例的并行處理系統(tǒng)中由并行處理單元進(jìn)行的激活并行處理的操作的圖;圖3是示出了在由并行處理系統(tǒng)的并行處理單元的并行處理激活中,進(jìn)行請(qǐng)求的消息結(jié)構(gòu)的圖;圖4是用于解釋在第一實(shí)例的并行處理系統(tǒng)中,響應(yīng)來自第二處理器側(cè)的任務(wù)中的文件訪問請(qǐng)求,OS服務(wù)單元要進(jìn)行的操作的圖;圖5是用于解釋響應(yīng)來自第一處理器側(cè)的順序任務(wù)中的文件訪問請(qǐng)求所執(zhí)行的操作的圖;圖6是示出了在根據(jù)第一實(shí)例的并行處理系統(tǒng)中的控制處理中繼單元的內(nèi)部結(jié)構(gòu)的方框圖;圖7是用于解釋在根據(jù)第一實(shí)例的并行處理系統(tǒng)中的控制處理中繼單元的處理操作的圖;圖8是用于解釋在根據(jù)第一實(shí)例的并行處理系統(tǒng)中由代理單元所進(jìn)行的信號(hào)通知處理操作的圖;圖9是示出了在根據(jù)第一實(shí)例的并行處理系統(tǒng)中,用于實(shí)現(xiàn)在第二處理器側(cè)的任務(wù)之間的協(xié)同操作的結(jié)構(gòu)的方框圖;圖10是用于解釋在根據(jù)第一實(shí)例的并行處理系統(tǒng)中,在第二處理器側(cè)的任務(wù)之間的協(xié)同操作的圖;圖11是用于解釋作為應(yīng)用于并行處理系統(tǒng)的實(shí)例,運(yùn)行在多處理器的移動(dòng)終端上的應(yīng)用程序的情況的圖;圖12是示出了根據(jù)應(yīng)用了本發(fā)明的第二實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖;圖13是用于解釋在根據(jù)第二實(shí)例的并行處理系統(tǒng)中,同步激活對(duì)進(jìn)程的并行處理的操作的圖;圖14是用于解釋在根據(jù)第二實(shí)例的并行處理系統(tǒng)中,異步激活對(duì)進(jìn)程的并行處理的操作的圖;圖15是示出了在根據(jù)第二實(shí)例的并行處理系統(tǒng)中,控制處理中繼單元的內(nèi)部結(jié)構(gòu)的方框圖;圖16是用于解釋在根據(jù)第二實(shí)例的并行處理系統(tǒng)中,控制處理中繼單元的處理操作的圖。
圖17是示出了根據(jù)應(yīng)用了本發(fā)明的第三實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖;圖18是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)處理器中的進(jìn)程通過進(jìn)程間通信單元,利用信號(hào)量(semaphore)系統(tǒng)進(jìn)行信號(hào)量增加(semaphore-up)或信號(hào)量減少(semaphore-down)時(shí)要執(zhí)行的操作的圖;圖19是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)處理器中的進(jìn)程通過進(jìn)程間通信單元利用信號(hào)量系統(tǒng)進(jìn)行信號(hào)量減少時(shí)所執(zhí)行的操作的圖;
圖20是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)通過進(jìn)程間通信單元,利用信號(hào)量系統(tǒng)在相同處理器中的進(jìn)程間進(jìn)行信號(hào)量增加時(shí)要執(zhí)行的操作的圖;圖21是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)通過進(jìn)程間通信單元利用信號(hào)量系統(tǒng)在不同處理器中的進(jìn)程間進(jìn)行信號(hào)量增加時(shí)要執(zhí)行的操作的圖;圖22是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)處理器中的進(jìn)程通過進(jìn)程間通信單元,利用消息隊(duì)列系統(tǒng)接收消息時(shí)所要執(zhí)行的操作的圖;圖23是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)處理器中的進(jìn)程通過進(jìn)程間通信單元,利用消息隊(duì)列系統(tǒng)接收消息時(shí)所要執(zhí)行的操作的圖;圖24是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)處理器中的進(jìn)程通過進(jìn)程間通信單元,利用消息隊(duì)列系統(tǒng)傳送消息時(shí)所要執(zhí)行的操作的圖;圖25是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)通過進(jìn)程間通信單元利用消息隊(duì)列系統(tǒng)在相同處理器中的進(jìn)程間進(jìn)行消息傳送和接收時(shí)所要執(zhí)行的操作的圖;圖26是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,當(dāng)通過進(jìn)程間通信單元利用消息隊(duì)列系統(tǒng)在不同處理器中的進(jìn)程間進(jìn)行消息傳送和接收時(shí)所執(zhí)行的操作的圖;圖27是用于解釋在根據(jù)第三實(shí)例的并行處理系統(tǒng)中,利用信號(hào)量系統(tǒng)和消息隊(duì)列系統(tǒng)的進(jìn)程間通信的特定實(shí)例的圖;圖28是用于解釋在圖27所示的特定實(shí)例中,在瀏覽器屏幕上的顯示內(nèi)容的圖;以及圖29是示出了根據(jù)本發(fā)明的第四實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖。
圖30是示出了根據(jù)本發(fā)明第一實(shí)施例的并行處理系統(tǒng)中的安全管理系統(tǒng)的結(jié)構(gòu)的方框圖;圖31是示出了本發(fā)明第一實(shí)施例中控制文件的內(nèi)容示例的圖;
圖32是用于解釋在本發(fā)明的第一實(shí)施例中控制文件讀取操作的圖;圖33是用于解釋在本發(fā)明的第一實(shí)施例中安全管理操作的圖;圖34是用于解釋在本發(fā)明的第一實(shí)施例中安全管理操作的圖;圖35是示出了根據(jù)本發(fā)明的第二實(shí)施例的并行處理系統(tǒng)中的安全管理系統(tǒng)的結(jié)構(gòu)的方框圖;圖36是示出了本發(fā)明第二實(shí)施例中控制文件的內(nèi)容示例的圖;圖37是用于解釋在本發(fā)明的第二實(shí)施例中控制文件讀取操作的圖;圖38是用于解釋在本發(fā)明的第二實(shí)施例中安全管理操作的圖;圖39是示出了根據(jù)本發(fā)明的第三實(shí)施例的并行處理系統(tǒng)中的安全管理系統(tǒng)的結(jié)構(gòu)的方框圖;圖40是示出了本發(fā)明第三實(shí)施例中控制文件的內(nèi)容示例的圖;圖41是用于解釋在本發(fā)明的第三實(shí)施例中控制文件讀取操作的圖;以及圖42是用于解釋在本發(fā)明的第三實(shí)施例中安全管理操作的圖。
具體實(shí)施例方式
下面將參考附圖詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例。在以下描述中,闡明了大量特定細(xì)節(jié),以便提供對(duì)本發(fā)明的完全理解。然而,對(duì)于本領(lǐng)域的技術(shù)人員顯而易見,可以脫離這些具體細(xì)節(jié)來實(shí)施本發(fā)明。在其他實(shí)例中,為了不必要地使本發(fā)明不清楚,未詳細(xì)示出公知結(jié)構(gòu)。
首先,將對(duì)其中應(yīng)用根據(jù)本發(fā)明的安全管理系統(tǒng)的并行處理系統(tǒng)進(jìn)行描述。在下文中,通過添加用于詢問針對(duì)多個(gè)處理器的處理的機(jī)制和在向多個(gè)處理器提供OS服務(wù)中保護(hù)關(guān)鍵部分的機(jī)制,在多處理器上執(zhí)行并行處理,而不對(duì)單處理器的傳統(tǒng)OS添加任何修改。
圖1是示出了作為第一實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖。
如圖1所示,第一實(shí)例的并行處理系統(tǒng)包括由通過系統(tǒng)總線91連接的多個(gè)處理器(CPU)P0到Pn(n是不小于1的整數(shù))構(gòu)成的多處理器,所述多個(gè)處理器邏輯上劃分為第一處理器側(cè)10和第二處理器側(cè)20兩組,其中,安裝有單處理器的OS30,其在第一處理器側(cè)10的處理器P0上運(yùn)行,用于進(jìn)行并行處理的并行處理單元40P0到40Pn和用于處理OS服務(wù)的OS服務(wù)單元50P0到50Pn分別安裝在第一處理器側(cè)10的處理器P0上和在第二處理器側(cè)20的處理器P1到Pn上。與系統(tǒng)總線91相連的是主存儲(chǔ)設(shè)備92,作為由各個(gè)處理器P0到Pn和諸如盤設(shè)備的外部存儲(chǔ)設(shè)備93共享的共享存儲(chǔ)器。
可以對(duì)上述多處理器進(jìn)行構(gòu)造,以使其不僅包括相同種類的多個(gè)處理器,還包括諸如DSP和安全引擎之類不同種類的多個(gè)處理設(shè)備。
在第一處理器側(cè)10和第二處理器側(cè)20之間,唯一地設(shè)置了控制處理中繼單元60,用于傳送和接收控制信號(hào)和數(shù)據(jù),并且在第一處理器側(cè)10上設(shè)置了代理單元70,通過該代理單元70,單處理器的OS 30與在第二處理器側(cè)20上執(zhí)行的任務(wù)進(jìn)行通信。
在上述第一處理器側(cè)10上的處理器不必須作為單個(gè)處理器存在而可以作為多個(gè)處理器存在。例如,可以在第一處理器側(cè)10上設(shè)置兩個(gè)處理器,并且每一個(gè)處理器安裝有不同的單處理器的OS。
將現(xiàn)有的OS用作由第一處理器側(cè)10上的處理器激活的單處理器的OS 30。例如,使用實(shí)時(shí)OS和UNIX(R)OS而無需修改。
在本說明書中的任務(wù)表示用于對(duì)UNIX(R)OS上的線程和進(jìn)程,實(shí)時(shí)OS等上的任務(wù)進(jìn)行并行處理的工作單元。
在根據(jù)本實(shí)例的并行處理系統(tǒng)中,應(yīng)用程序在第一處理器側(cè)10上的單處理器的OS上運(yùn)行,并且在應(yīng)用程序的工作單元中,不能夠并行化的任務(wù)(順序任務(wù))由第一處理器側(cè)10上的處理器P0處理,而將能夠在應(yīng)用程序內(nèi)并行化的任務(wù)創(chuàng)建為第二處理器側(cè)20上的新任務(wù),并且被并行處理。
并行處理單元40P0和并行處理單元40P1到40Pn具有執(zhí)行任務(wù)的創(chuàng)建、激活、停止、終止(termination)和刪除和其他與任務(wù)有關(guān)的控制的功能。這里,第一處理器側(cè)10的并行處理單元40P0針對(duì)在第二處理器側(cè)20上的各個(gè)處理器P1到Pn的并行處理單元40P1到40Pn,通過控制處理中繼單元60進(jìn)行諸如任務(wù)的創(chuàng)建、激活、停止、終止和刪除等處理。對(duì)于信號(hào)通知,從并行處理單元40P0和并行處理單元40P1到40Pn中對(duì)其進(jìn)行雙向處理。
OS服務(wù)單元50P0和OS服務(wù)單元50P1到50Pn具有作為對(duì)外部設(shè)備進(jìn)行各種訪問的接口及其控制、和作為對(duì)任務(wù)之間共享的資源進(jìn)行各種訪問的接口及其控制的功能。
控制處理中繼單元60是用于傳送和接收第一處理器側(cè)10和第二處理器側(cè)20之間的控制信號(hào)和數(shù)據(jù)的單元,并且用于由多個(gè)處理器相互并行地處理的多個(gè)任務(wù)之間的控制中。
代理單元70與在第二處理器側(cè)20上執(zhí)行的任務(wù)關(guān)聯(lián)(部分任務(wù)或全部任務(wù)),并安裝了代理單元70,用于第二處理器側(cè)20上的任務(wù)和單處理器的OS 30之間的信號(hào)通知(通知用于控制任務(wù)的各種控制信號(hào))。
下面,將參考附圖對(duì)第一實(shí)例的這樣構(gòu)造的并行處理系統(tǒng)的操作進(jìn)行詳細(xì)的描述。
這里假定應(yīng)用程序在第一處理器側(cè)10上的單處理器的OS上運(yùn)行,并且在應(yīng)用程序的工作單元中,將要由第一處理器側(cè)10上的處理器P0處理的單元定義為順序任務(wù)ST,并且將作為在應(yīng)用程序內(nèi)可以并行化并由第二處理器側(cè)20作為任務(wù)PT-1到PT-n并行處理的單元定義為并行化任務(wù)PT。
首先,將參考圖2和3,描述由并行處理單元40P0和40P1到40Pn激活并行處理的操作。
(1)在激活第一處理器側(cè)10上的并行化任務(wù)PT作為第二處理器側(cè)20上的任務(wù)PT-1到PT-n中的任一個(gè)的情況下,命令并行處理單元P40創(chuàng)建任務(wù)PT-1到PT-n中的任一個(gè),作為要在第二處理器側(cè)20上的激活的工作單元。
來自并行處理單元40P0和并行處理單元40P1到40Pn的命令包括諸如,創(chuàng)建(任務(wù)創(chuàng)建)、刪除(任務(wù)刪除)、激活(任務(wù)激活)、終止(任務(wù)終止)、信號(hào)(信號(hào)命令)等。在這些命令中,創(chuàng)建(任務(wù)創(chuàng)建)、刪除(任務(wù)刪除)、激活(任務(wù)激活)和終止(任務(wù)終止)是從第一處理器側(cè)10發(fā)送到第二處理器側(cè)20的命令,而信號(hào)(信號(hào)命令)同時(shí)從第一處理器側(cè)10和第二處理器側(cè)20雙向地發(fā)送。
這些命令由圖3所示的消息來實(shí)現(xiàn)。更具體地,通過向并行處理單元40P0傳送由表示請(qǐng)求內(nèi)容(在這種情況下的任務(wù)創(chuàng)建)的請(qǐng)求內(nèi)容201、用于指定將處理該任務(wù)的第二處理器側(cè)20上的處理器P1~Pn的處理器號(hào)202、表示要新創(chuàng)建的任務(wù)PT-1~PT-n的任務(wù)號(hào)、以及表示請(qǐng)求任務(wù)創(chuàng)建的并行化任務(wù)PT的原始任務(wù)號(hào)構(gòu)成的消息,請(qǐng)求任務(wù)創(chuàng)建。對(duì)于任務(wù)創(chuàng)建之外的其他任務(wù),將根據(jù)圖3所示的消息來發(fā)送所述命令。
(2)并行處理單元40P0作為響應(yīng),激活與要?jiǎng)?chuàng)建的PT-1~PT-n相對(duì)應(yīng)的代理單元70。激活所述代理單元70,以便防止任務(wù)的管理內(nèi)容在第一處理器側(cè)10和第二處理器側(cè)20之間共享,并且完成在第一處理器側(cè)10上的專門處理。此時(shí),將任務(wù)PT-1~PT-n的任務(wù)號(hào)保存在代理單元70中。
(3)并行處理單元40P0還設(shè)置諸如上述任務(wù)號(hào)和請(qǐng)求內(nèi)容的任務(wù)創(chuàng)建(在第二處理器側(cè)20的處理器P1到Pn的任務(wù)創(chuàng)建)時(shí)所需的數(shù)據(jù)以及用于在控制處理中繼單元60指定“并行處理”的通信理由信息(communication reason information)。
該處理造成了針對(duì)控制處理中繼單元60,進(jìn)行稍后將要描述的要傳送到主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)上的內(nèi)容的設(shè)置、以及處理器間中斷的處理。
這里,通信理由信息表示傳送到控制處理中繼單元60的數(shù)據(jù)的接受者(接受方),并且在上述情況下,在控制處理中繼單元60中設(shè)置的數(shù)據(jù)將由指定處理器P1~Pn的并行處理單元40P1~40Pn獲得。
(4)在第二處理器側(cè)20的指定處理器P1~Pn上的并行處理單元40P1~40Pn獲得具有來自控制處理中繼單元60的、作為通信理由信息的“并行處理”的請(qǐng)求內(nèi)容(任務(wù)控制所需的數(shù)據(jù))。
(5)然后,并行處理單元40P1~40Pn根據(jù)所獲得的請(qǐng)求內(nèi)容,在處理器P1~Pn上創(chuàng)建和激活任務(wù)PT-1~PT-n。
前述的處理使作為在第一處理器側(cè)10的單處理器的OS上運(yùn)行的應(yīng)用程序的工作單元的并行化任務(wù)PT的工作單元能夠在第二處理器側(cè)20上作為任務(wù)PT-1~PT-n被并行處理。
雖然已經(jīng)針對(duì)并行處理單元40P1到40Pn根據(jù)所獲得的請(qǐng)求內(nèi)容在處理器P1到Pn上創(chuàng)建和激活任務(wù)PT-1到PT-n的情況,描述了前述的操作,但是,可以提前創(chuàng)建第一處理器側(cè)10上的并行化任務(wù)PT作為第二處理器側(cè)20上的任務(wù)PT-1到PT-n中的任一個(gè),并且并行化處理單元40P1到40Pn可以根據(jù)所獲得的請(qǐng)求內(nèi)容,激活處理器P1到Pn上的任務(wù)PT1到PTn。
接下來,將描述由OS服務(wù)單元50P0和50P1到50Pn所進(jìn)行的OS服務(wù)處理操作。
OS服務(wù)單元50P0和50P1到50Pn具有根據(jù)來自在第二處理器側(cè)20的處理器P1到Pn上創(chuàng)建的任務(wù)PT-1到PT-n的命令,提供與對(duì)外部設(shè)備的各種訪問及其控制、和對(duì)由其他任務(wù)共享的資源的各種訪問及其控制相關(guān)的服務(wù),所述服務(wù)是由單處理器的OS30所提供的服務(wù)。由單處理器的OS30提供的主要服務(wù)等價(jià)于由普通OS提供的系統(tǒng)調(diào)用和API。
將參考圖4,描述響應(yīng)來自第二處理器側(cè)20的處理器P1到Pn上的任務(wù)PT-1到PT-n的文件訪問(例如,針對(duì)外部存儲(chǔ)設(shè)備93上的文件的各種處理)命令,OS服務(wù)單元50P0和50P1到50Pn的操作。
這里,文件訪問包括諸如以下的處理打開(打開文件)、關(guān)閉(關(guān)閉文件)、讀取(讀取文件)、寫入(寫入文件)、查找(移動(dòng)文件寫入位置)、刪除(刪除文件)和更名(改變文件的名字)。
(1)當(dāng)在第二處理器20上的任務(wù)PT-1到PT-n中產(chǎn)生了對(duì)文件訪問處理的需要時(shí),任務(wù)PT1到PTn請(qǐng)求第二處理器側(cè)20上的OS服務(wù)單元50P1到50Pn提供文件訪問的服務(wù)。例如,由該文件訪問服務(wù)命令所調(diào)用的是定義為由OS服務(wù)單元50P1到50Pn對(duì)文件進(jìn)行寫入處理的寫入功能、以及定義為文件讀取處理的讀取功能。
這里,OS服務(wù)單元50P1到50Pn設(shè)置在第一處理器側(cè)10上的處理(由單處理器的OS30所進(jìn)行的文件訪問處理)所需的數(shù)據(jù)。這里,所需數(shù)據(jù)包括諸如以下的信息請(qǐng)求內(nèi)容(例如,寫入請(qǐng)求)、要訪問的文件的描述符(文件描述符)、指向字符串的指針、字符串的長度和任務(wù)號(hào)。
(2)利用設(shè)置為“OS服務(wù)”的通信理由信息,通過在控制處理中繼單元60處設(shè)置包含請(qǐng)求內(nèi)容的所需數(shù)據(jù),OS服務(wù)單元50P1~50Pn向第一處理器側(cè)10發(fā)布文件訪問命令。
之后,已經(jīng)發(fā)布了文件訪問的服務(wù)命令的任務(wù)PT-1~PT-n進(jìn)入等待狀態(tài),并且在相應(yīng)的處理器P1~Pn中,由并行處理單元40P1~40Pn將處理切換到其他任務(wù)(任務(wù)切換)。
(3)在第一處理器側(cè)10上的OS服務(wù)單元50P0從控制處理中繼單元60中獲得具有作為通信理由信息的“OS服務(wù)”的上述文件訪問命令。
(4)在第一處理器側(cè)10上的OS服務(wù)單元50P0根據(jù)所獲得的請(qǐng)求內(nèi)容,從單處理器的OS30中請(qǐng)求文件訪問。
(5)結(jié)果,單處理器的OS30根據(jù)命令對(duì)外部存儲(chǔ)設(shè)備93進(jìn)行文件訪問(寫入、讀取等)。利用單處理器的OS30最初具有的文件訪問服務(wù)來執(zhí)行該文件訪問處理而無需修改。
(6)在完成所請(qǐng)求的文件訪問處理之后,單處理器的OS30將針對(duì)文件訪問命令的返回值發(fā)送回OS服務(wù)單元50P0,以便返回處理。
(7)此外,OS服務(wù)單元50P0在具有作為通信理由信息的“OS服務(wù)”的控制中繼單元60處,設(shè)置通信內(nèi)容,即,包括已經(jīng)請(qǐng)求文件訪問的任務(wù)PT-1~PT-n的返回值和任務(wù)號(hào)的數(shù)據(jù),從而通知第二處理器側(cè)20上的處理器P1~Pn該文件訪問的完成。
(8)由此,相應(yīng)處理器P1~Pn的OS服務(wù)單元50P1~50Pn從控制處理中繼單元60接收所設(shè)置的返回值和完成通知。
(9)然后,第二處理器側(cè)20上的OS服務(wù)單元50P1~50Pn要求并行處理單元40P1~40Pn激活已經(jīng)給出文件訪問命令的任務(wù)PT-1~PT-n。
結(jié)果,處理切換到處于等待狀態(tài)的任務(wù)PT-1~PT-n。
(10)由并行處理單元40P1~40Pn激活的任務(wù)PT-1~PT-n從OS服務(wù)單元50P1~50Pn中接收文件訪問的返回值,以繼續(xù)處理。
前述的處理使在第二處理器側(cè)20上的任務(wù)PT-1~PT-n能夠進(jìn)行文件訪問,而無需在第二處理器側(cè)20上提供單獨(dú)的文件訪問的處理單元,同時(shí),利用了單處理器的OS30的服務(wù),而無需進(jìn)行修改。此外,利用該布置,在第一處理器側(cè)10上完成針對(duì)文件訪問的專有處理,從而可以實(shí)現(xiàn)并行處理,而沒有如同在運(yùn)行多處理器的OS上的應(yīng)用程序那樣由這樣的專有處理所引起的開銷。
在第二處理器側(cè)20的處理器P1~Pn上的任務(wù)PT-1~PT-n對(duì)外部存儲(chǔ)設(shè)備93的只讀數(shù)據(jù)進(jìn)行文件訪問的情況下,可以從每一個(gè)處理器P1~Pn對(duì)外部存儲(chǔ)設(shè)備93進(jìn)行直接訪問,而無需如前面所描述的由OS服務(wù)單元50P1~50Pn進(jìn)行這樣的處理。
這里,對(duì)于來自第一處理器側(cè)的處理器P0上的順序任務(wù)ST的文件訪問命令,由單處理器的OS30直接進(jìn)行處理,而無需使用OS服務(wù)單元。下面,將參考圖5來描述該處理。
(1)在處理器P0上的順序任務(wù)ST請(qǐng)求單處理器的OS30進(jìn)行文件訪問。
(2)結(jié)果,單處理器的OS30根據(jù)命令,對(duì)外部存儲(chǔ)設(shè)備93等進(jìn)行文件訪問(寫入、讀取等)。利用單處理器的OS30最初所具有的沒有修改的文件訪問服務(wù)來執(zhí)行文件訪問處理。
(3)當(dāng)完成文件訪問處理時(shí),單處理器的OS30將針對(duì)文件訪問命令的返回值發(fā)送回順序任務(wù)ST,以返回處理。
由于響應(yīng)來自順序任務(wù)ST的OS服務(wù)命令,不需要專有控制等,將不會(huì)產(chǎn)生任何額外的開銷。
將參考圖6和7來描述控制處理中繼單元60所進(jìn)行的處理操作。
首先,圖6中示出了控制處理中繼單元60的結(jié)構(gòu)。如圖所示,控制處理中繼單元60包括與各個(gè)處理器P0到Pn相對(duì)應(yīng)的中斷控制設(shè)備61P0到61Pn、以及與各個(gè)處理器P0到Pn相對(duì)應(yīng)的通信區(qū)域62P0到62Pn。這里,在主存儲(chǔ)設(shè)備92中確保了通信區(qū)域62P0到62Pn。
中斷設(shè)備61P0到61Pn的每一個(gè)還包括中斷指示單元61a,用于指示其他處理器中斷;中斷狀態(tài)保存單元61b,用于保存響應(yīng)中斷指示而進(jìn)行的中斷的信息;以及中斷取消單元61c,用于清除中斷。
通信區(qū)域62P0到62Pn的每一個(gè)包括通信理由保存區(qū)域62a,用于保存來自作為通信源的處理器的通信理由信息;通信數(shù)據(jù)保存區(qū)域62b,用于保存要通信的通信數(shù)據(jù);以及互斥控制區(qū)域62c,用于鎖定通信區(qū)域以確保通信。
在這個(gè)時(shí)刻,在通信數(shù)據(jù)保存區(qū)域62b中,將存儲(chǔ)指向主存儲(chǔ)設(shè)備92的指針,其中存儲(chǔ)了要通信的通信數(shù)據(jù)(包括請(qǐng)求內(nèi)容的所需數(shù)據(jù))。
將參考圖7,針對(duì)作為實(shí)例的從第一處理器側(cè)10上的并行處理單元40P0到第二處理器側(cè)20上的處理器P1的通信的處理,對(duì)操作進(jìn)行描述。
(1)并行處理單元40P0鎖定針對(duì)處理器P1的通信區(qū)域62P1的互斥控制區(qū)域62c。更具體地,通過使在互斥控制區(qū)域62c中存儲(chǔ)的鎖定變量變?yōu)殒i定狀態(tài),防止當(dāng)前針對(duì)處理器P1的通信區(qū)域62P1由其他處理器使用。
當(dāng)該區(qū)域已經(jīng)由其他處理器鎖定時(shí),等待該鎖定的釋放。
(2)當(dāng)?shù)玫搅送ㄐ艆^(qū)域62P1的鎖定時(shí),并行處理單元40P0分別在通信區(qū)域62P1的通信理由保存區(qū)域62a和通信數(shù)據(jù)保存區(qū)域62b中存儲(chǔ)通信理由信息和通信數(shù)據(jù)(包括請(qǐng)求內(nèi)容的所需數(shù)據(jù))。
在如上所述的創(chuàng)建任務(wù)的通信處理的情況下,要存儲(chǔ)的通信理由信息是表示“并行處理”的信息(例如,對(duì)應(yīng)于并行處理預(yù)定的諸如數(shù)值的數(shù)據(jù))。
(3)并行處理單元40P0指示其自身的中斷控制設(shè)備61P0的中斷指示單元61a中斷處理器P1。
(4)中斷控制設(shè)備61P0的中斷指示單元61a在對(duì)應(yīng)于處理器P1的中斷控制設(shè)備61P1的中斷狀態(tài)保存單元61b處,設(shè)置表示中斷的信息。這使處理器P1進(jìn)入中斷狀態(tài)。
(5)處理器P1的并行處理單元40P1根據(jù)在控制處理中繼單元60中的中斷控制設(shè)備61P1的中斷狀態(tài)保存單元61b中的狀態(tài),確定中斷被設(shè)置。
(6)處理器P1的并行處理單元40P1通過清除在控制處理中繼單元60中的其自身的中斷狀態(tài)保存單元61b的中斷信息,從終端狀態(tài)中釋放它自己。
(7)處理器P1的并行處理單元40P1分別從控制處理中繼單元60的通信理由保存區(qū)域62a和通信數(shù)據(jù)保存區(qū)域62b中獲得通信理由信息和通信數(shù)據(jù)(包括請(qǐng)求內(nèi)容的所需數(shù)據(jù))。
(8)當(dāng)允許其接收下一個(gè)通信時(shí),處理器P1的并行處理單元40P1釋放其自身通信區(qū)域62P1的互斥控制區(qū)域62c的鎖定。更具體地,通過使互斥控制區(qū)域62c中的鎖定變量變?yōu)槲存i定狀態(tài),釋放處理器P1的通信區(qū)域62P1,以使其可以由其他處理器使用。
因此,利用控制處理中繼單元60,實(shí)現(xiàn)了第一處理器側(cè)10和第二處理器側(cè)20之間的控制信號(hào)和數(shù)據(jù)的傳送和接收。
將參考圖8來描述由代理單元70所進(jìn)行的信號(hào)通知處理的操作。
代理單元70具有使單處理器的OS30能夠利用信號(hào)(控制信號(hào))與第二處理器側(cè)20上產(chǎn)生的任務(wù)PT-1~PT-n進(jìn)行通信的功能。將相應(yīng)任務(wù)的PT-1~PT-n的任務(wù)號(hào)保存在代理單元70中。
代理單元70可以與多個(gè)任務(wù)PT-1~PT-n中的每一個(gè)一對(duì)一地關(guān)聯(lián),或者多個(gè)任務(wù)PT-1~PT-n可以與一個(gè)代理單元70關(guān)聯(lián)。
(1)第一處理器側(cè)10上的順序任務(wù)ST從單處理器的OS30請(qǐng)求信號(hào)通知服務(wù)。由信號(hào)通知所傳達(dá)的信號(hào)是由單處理器的OS30最初具有的服務(wù)功能控制在第二處理器側(cè)20的各個(gè)處理器P1到Pn上激活的任務(wù)PT-1到PT-n的控制信號(hào)。
(2)單處理器的OS30將信號(hào)通知給相應(yīng)的代理單元70。
(3)通過控制處理中繼單元60,代理單元70將所通知的信號(hào)通知給其相應(yīng)的處理器P1~Pn,其中,任務(wù)PT-1存在于第二處理器側(cè)20。此時(shí),設(shè)置“并行處理”作為通信理由信息。
(4)由于去往通信處理中繼單元60的通信理由是“并行處理”,在第二處理器側(cè)20上的相應(yīng)處理器的并行處理單元40P1~40Pn從控制處理中繼單元60獲得信號(hào)通知命令。
(5)已經(jīng)獲得信號(hào)通知命令的并行處理單元40P1~40Pn向相應(yīng)的任務(wù)PT-1~PT-n通知所述信號(hào)(控制信號(hào))。
因此,由于代理單元70在第一處理器側(cè)10利用任務(wù)號(hào)與第二處理器側(cè)20的處理器P0~Pn上的任務(wù)PT-1~PT-n關(guān)聯(lián),可以針對(duì)任務(wù)PT-1~PT-n來執(zhí)行由單處理器的OS30所進(jìn)行的信號(hào)通知服務(wù)。
最后,將參考圖9和10來描述在第二處理器側(cè)20上的任務(wù)間協(xié)同操作。
圖9示出了用于獲得任務(wù)間的協(xié)同的并行處理單元40P1到40Pn的結(jié)構(gòu)。如圖所示,并行處理單元40P1到40Pn設(shè)置有互斥(mutualexclusion)單元41P1到41Pn。
主存儲(chǔ)設(shè)備92還包括互斥控制區(qū)域43和任務(wù)管理內(nèi)容保存區(qū)域44,以便獲得任務(wù)的協(xié)作。
(1)在處理器P1上的任務(wù)PT-1從其自身的并行處理單元40P1上請(qǐng)求所需的并行處理。
(2)處理器P1的并行處理單元40P1從互斥單元41P1中請(qǐng)求獲得鎖定,以便確保用于并行處理的資源。
(3)互斥單元41P1利用主存儲(chǔ)設(shè)備92的互斥控制區(qū)域43來獲得鎖定。
(4)互斥單元41P1通知并行處理單元40P1已經(jīng)獲得了鎖定。
(5)并行處理單元40P1在任務(wù)管理內(nèi)容保存區(qū)域44中保存已經(jīng)請(qǐng)求處理器P1上的并行處理的任務(wù)PT-1的管理內(nèi)容(請(qǐng)求內(nèi)容、任務(wù)號(hào)和其他所需數(shù)據(jù))。
(6)并行處理單元40P1中斷正在執(zhí)行低優(yōu)先級(jí)任務(wù)的其他處理器P2~Pn。這里假定處理器Pn被中斷。
(7)并行處理單元40P1要求互斥單元41P1釋放如上所述的所確保的鎖定。
(8)互斥單元41P1對(duì)主存儲(chǔ)設(shè)備92的互斥控制區(qū)域43進(jìn)行解鎖。
(9)互斥單元41P1向并行處理單元40P1通知解鎖的完成。
(10)并行處理單元40P1將處理返回到任務(wù)PT-1。
(11)處理器Pn的并行處理單元40Pn從互斥單元41Pn中請(qǐng)求獲得鎖定,以確保用于并行處理的資源。
(12)互斥單元41Pn利用主存儲(chǔ)設(shè)備92的互斥控制區(qū)域43來獲得鎖定。
(13)互斥單元41Pn向并行處理單元40Pn通知鎖定獲取的完成。
(14)并行處理單元40Pn獲得在任務(wù)管理內(nèi)容保存區(qū)域44中所存儲(chǔ)的任務(wù)管理內(nèi)容。
(15)并行處理單元40Pn根據(jù)任務(wù)管理內(nèi)容來創(chuàng)建和激活新的任務(wù)。
(16)并行處理單元40Pn從互斥單元41Pn中請(qǐng)求如上所述的所確保的鎖定的釋放。
(17)互斥單元41Pn對(duì)主存儲(chǔ)設(shè)備92的互斥控制區(qū)域43進(jìn)行解鎖。
(18)互斥單元41Pn向并行處理單元40Pn通知解鎖的完成。
如上所述的這樣的任務(wù)協(xié)同操作允許在特定處理器P1~Pn上激活的任務(wù)PT-1~PT-n使其自身的工作單元由其他處理器來并行處理。
作為應(yīng)用于這樣構(gòu)造的并行處理系統(tǒng)的實(shí)例,將對(duì)在多處理器的移動(dòng)終端上運(yùn)行應(yīng)用程序的情況進(jìn)行描述。
這里,將參考圖11來進(jìn)行描述,假定以下情況應(yīng)用程序具有在移動(dòng)終端上同時(shí)再現(xiàn)圖像(運(yùn)動(dòng)圖像)和聲音的功能,并且將聲音輸出處理定義為順序任務(wù)A,而圖像輸出處理定義為并行化任務(wù)B,應(yīng)用程序運(yùn)行于第一處理器側(cè)10的處理器P0上。
由上述并行處理單元將并行化任務(wù)B創(chuàng)建和激活為在第二處理器側(cè)20的處理器P1到Pn的任一個(gè)上的任務(wù)C。
創(chuàng)建的任務(wù)C通過OS服務(wù)單元的文件訪問處理,在屏幕上輸出圖像。
關(guān)于由順序任務(wù)A輸出的聲音,由單處理器的OS30的服務(wù)來輸出聲音。
為了周期性地同步聲音和圖像,通過經(jīng)由代理單元70所進(jìn)行的信號(hào)通知操作在順序任務(wù)A和任務(wù)C之間提供信號(hào)通知來達(dá)到同步。
此外,當(dāng)執(zhí)行在任務(wù)C中的編輯圖像處理時(shí),由任務(wù)協(xié)同處理將編輯處理創(chuàng)建和激活為其他處理器上的任務(wù)D。
當(dāng)完成了由任務(wù)C所進(jìn)行的圖像輸出處理時(shí),任務(wù)C通過文件訪問操作,向單處理器的OS通知該終止。
在本并行處理系統(tǒng)中,作為模塊設(shè)置的并行處理單元40P0到40Pn、OS服務(wù)單元50P0到50Pn、控制處理中繼單元60和代理單元70使單處理器的OS30和應(yīng)用程序能夠在沒有多處理器系統(tǒng)上的開銷的情況下操作,而無需修改單處理器的OS30和在處理器P0上運(yùn)行的應(yīng)用程序,同時(shí)收到由多處理器進(jìn)行并行處理的好處。
接下來,將參考圖12和隨后的附圖來描述根據(jù)本發(fā)明第二實(shí)例的并行處理系統(tǒng)。圖12是示出了根據(jù)第二實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖,其中,與圖1相同的組件由相同的參考符號(hào)表示。圖12所示的第二實(shí)例中示出了其中第一實(shí)例中的并行處理單元40P0到40Pn分別由并行處理通信單元400P0到400Pn和控制代理單元500P0到500Pn形成的情況。
如圖12所示,根據(jù)本實(shí)例的并行處理系統(tǒng)與第一實(shí)例的相同之處在于將由通過系統(tǒng)總線91連接的多個(gè)處理器(CPU)P0到Pn(n是不小于1的整數(shù))形成的多處理器邏輯劃分為兩個(gè)組,即,第一處理器側(cè)100和第二處理器側(cè)200。
在第二實(shí)例中,實(shí)現(xiàn)了在第一處理器側(cè)100的處理器P0上和在第二處理器側(cè)200的各個(gè)處理器(CPU)P0到Pn上運(yùn)行的單處理器的OS300P0到300Pn。
此外,用于并行處理的并行處理通信單元400P0到400Pn和控制代理單元500P0到500Pn分別安裝在第一處理器側(cè)100的處理器P0上和第二處理器側(cè)200的處理器P1到Pn上。作為在各個(gè)處理器P0到Pn間共享的主存儲(chǔ)設(shè)備92和諸如盤設(shè)備的外部存儲(chǔ)設(shè)備93等與系統(tǒng)總線91相連。
同時(shí),唯一地設(shè)置控制處理中繼單元600,用于傳送和接收第一處理器側(cè)100和第二處理器側(cè)200之間的控制信號(hào)和數(shù)據(jù)。
由于關(guān)于通過其在第一處理器側(cè)100上的單處理器的OS 300P0與第二處理器側(cè)200上執(zhí)行的進(jìn)程進(jìn)行通信的第一實(shí)施例所示的代理單元70,該單元在本實(shí)施例執(zhí)行與第一實(shí)施例中完全相同的功能,這里為了簡便,將不再對(duì)其進(jìn)行任何描述。
雖然在第一實(shí)施例中,已經(jīng)描述了響應(yīng)來自第二處理器側(cè)20的處理器P1到Pn上的任務(wù)的文件訪問命令來進(jìn)行任務(wù)切換,然而,同時(shí),在本實(shí)施例中,也能夠進(jìn)行來自第二處理器側(cè)200的文件訪問,并且由第二處理器側(cè)200上的單處理器的OS 300P1到300Pn來進(jìn)行第二處理器側(cè)200上的進(jìn)程PP-1到PPn的切換。
對(duì)于安裝在各個(gè)處理器P0到Pn上的單處理器的OS 300P0到300Pn,這些單處理器的OS與第一實(shí)施例的不同之處在于不僅可以使用諸如實(shí)時(shí)OS之類實(shí)現(xiàn)了存儲(chǔ)器保護(hù)功能的無虛擬存儲(chǔ)器機(jī)制的OS,而且可以使用作為現(xiàn)有OS的諸如Linux和Windows(R)之類具有虛擬存儲(chǔ)機(jī)制的OS,并且可以在所有和部分處理器P0到Pn上實(shí)現(xiàn)存儲(chǔ)器保護(hù)機(jī)制。
此外,單處理器的OS 300P0到300Pn不必是相同種類的OS,而可以是彼此不同種類的OS。
在本實(shí)例中,作為進(jìn)行并行處理的工作單元的任務(wù)是在處理器之間受到存儲(chǔ)器保護(hù)的,并且在這種意義上,稱之為與第一實(shí)例中的任務(wù)區(qū)別的進(jìn)程。
在根據(jù)本實(shí)例的并行處理系統(tǒng)中,在運(yùn)行于第一處理器側(cè)100的單處理器的OS 300P0上的應(yīng)用程序的工作單元中,不能夠并行化的那些進(jìn)程(順序進(jìn)程SP)由第一處理器側(cè)100上的處理器P0來處理,而將能夠在應(yīng)用程序內(nèi)并行化的那些任務(wù)創(chuàng)建為第二處理器側(cè)200上的新的進(jìn)程PP-1到PP-n,并且進(jìn)行并行處理。
并行處理通信單元400P0和并行處理通信單元400P1到400Pn具有傳送和接收與進(jìn)程創(chuàng)建、激活、停止、終止和刪除有關(guān)的信息、與進(jìn)程和單處理器的OS 300P0到300Pn之間的處理有關(guān)的其他控制的功能。
這里,將與任務(wù)的創(chuàng)建、激活、停止、終止、刪除等有關(guān)的控制信息和數(shù)據(jù)通過控制處理中繼單元600,在第一處理器側(cè)100和第二處理器側(cè)200之間傳送和接收。
此外,控制代理單元500P0和控制代理單元500P1到500Pn具有從單處理器的OS 300P0~OS 300Pn中獲得對(duì)進(jìn)程的處理命令,并且激活該進(jìn)程。
控制處理中繼單元600是用于傳送和接收第一處理器側(cè)10和第二處理器側(cè)20之間的控制信號(hào)和數(shù)據(jù)的單元,并且用于控制由多個(gè)處理器并行處理的多個(gè)進(jìn)程。
下面,將參考附圖詳細(xì)描述根據(jù)第二實(shí)例構(gòu)造的并行處理系統(tǒng)的操作。
這里假定應(yīng)用程序運(yùn)行于第一處理器側(cè)100的單處理器的OS300P0上,并且在應(yīng)用程序的工作單元中,將要由第一處理器側(cè)100上的處理器P0處理的工作單元定義為順序進(jìn)程SP,而將作為可以在應(yīng)用程序內(nèi)并行化的進(jìn)程和由第二處理器側(cè)200作為任務(wù)PP-1到PP-n并行處理的工作單元定義為并行化進(jìn)程PP。
在第二實(shí)例的并行處理系統(tǒng)中,在激活特定進(jìn)程(任務(wù))之后,其中在調(diào)用側(cè)作為進(jìn)程(任務(wù))的并行化進(jìn)程PP等待已激活進(jìn)程PP-1~PP-n的終止的并行處理的同步激活、以及其中在調(diào)用側(cè)作為進(jìn)程(任務(wù))的并行化進(jìn)程PP不必等待已激活進(jìn)程PP-1~PP-n的終止的并行處理的異步激活都是可行的。
首先,將參考圖13來描述進(jìn)程的并行處理的同步激活的操作。
這里假定在第二處理器側(cè)200的處理器Pk(1≤k≤n)中,事先將第一處理器側(cè)100上的并行化進(jìn)程PP創(chuàng)建為作為要在第二處理器側(cè)200上激活的工作單元的進(jìn)程PP-k。
(1)在第二處理器側(cè)200的處理器Pk(1≤k≤n)上的進(jìn)程PP-k在并行處理通信單元400Pk中登記與屬于其自身的進(jìn)程的處理有關(guān)的信息。結(jié)果,進(jìn)程PP-k進(jìn)入待機(jī)狀態(tài)。
(2)并行處理通信單元400Pk通過單處理器的OS 300Pk,請(qǐng)求訪問在主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)上的所需數(shù)據(jù)。
(3)結(jié)果,將與屬于進(jìn)程PP-k的處理有關(guān)的信息存儲(chǔ)在主存儲(chǔ)設(shè)備92上(共享存儲(chǔ)器)。
(4)處理器P0上的進(jìn)程PP從并行處理通信單元400P0中請(qǐng)求同步處理。因此,進(jìn)程PP進(jìn)入待機(jī)狀態(tài)。
(5)已經(jīng)接收到請(qǐng)求的并行處理通信單元400P0通過單處理器的OS 300P0,請(qǐng)求訪問主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)上的數(shù)據(jù)。
(6)由單處理器的OS 300P0對(duì)主存儲(chǔ)器設(shè)備92(共享存儲(chǔ)器)進(jìn)行訪問。
(7)并行處理通信單元400P0從主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)中獲得與屬于進(jìn)程PP-k的處理有關(guān)的信息。因此,獲得了處理器號(hào)和用于執(zhí)行處理PP-k的進(jìn)程號(hào)。
(8)并行處理通信單元400P0根據(jù)通過單處理器的OS 300P0從主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)中獲得的信息來進(jìn)行通信請(qǐng)求。
(9)單處理器的OS 300P0設(shè)置在控制處理中繼單元600的通信所需的信息。
(10)結(jié)果,將處理命令從控制處理中繼單元600發(fā)送到處理器Pk的單處理器的OS 300Pk。
(11)處理器Pk的控制代理單元500Pk獲得通過單處理器的OS300Pk發(fā)送的處理命令。
(12)然后,控制代理單元500Pk根據(jù)所獲得的處理命令來激活進(jìn)程PP-k。
(13)結(jié)果,處于待機(jī)狀態(tài)的進(jìn)程PP-k執(zhí)行所述處理。
(14)在完成處理之后,進(jìn)程PP-k向并行處理通信單元400Pk通知取得該效果的信息。
(15)已經(jīng)接收到通知的并行處理通信單元400Pk根據(jù)通過單處理器的OS 300Pk通知的信息來進(jìn)行通信請(qǐng)求。
(16)單處理器的OS 300Pk在控制處理中繼單元600處,設(shè)置通信所需的信息。
(17)結(jié)果,將處理命令從控制處理中繼單元600發(fā)送到處理器P0中的單處理器的OS 300P0。
(18)處理器P0的控制代理單元500P0獲得通過單處理器的OS300P0發(fā)送的處理命令。
(19)然后,控制代理單元500P0根據(jù)所獲得的處理命令來激活進(jìn)程PP。
因此,在第一處理器側(cè)100的處理器P0上的進(jìn)程PP和第二處理器側(cè)200的處理器PP-k之間,實(shí)現(xiàn)了同步處理。
接下來,將參考圖14來描述對(duì)進(jìn)程的并行處理的異步激活的操作。
這里還假定在第二處理器側(cè)200上的處理器Pk(1≤k≤n)中,事先將第一處理器側(cè)100上的并行化進(jìn)程PP創(chuàng)建為作為要在第二處理器側(cè)200上激活的工作單元的進(jìn)程PP-k。
(1)正在第二處理器側(cè)200的處理器Pk((1≤k≤n)上執(zhí)行處理的進(jìn)程PP-k在并行處理通信單元400Pk中,登記與屬于其自身的進(jìn)程的處理有關(guān)的信息。結(jié)果,進(jìn)程PP-k輸入待機(jī)狀態(tài)。
(2)并行處理通信單元400Pk通過單處理器的OS 300Pk,請(qǐng)求訪問主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)上所需的數(shù)據(jù)。
(3)結(jié)果,將與屬于進(jìn)程PP-k的處理有關(guān)的信息存儲(chǔ)在主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)中。
(4)在處理器P0上的進(jìn)程PP從并行處理通信單元400P0中請(qǐng)求異步處理。在這種情況下,之后,進(jìn)程PP繼續(xù)處理,而不進(jìn)入待機(jī)狀態(tài)。
(5)已經(jīng)接收到該請(qǐng)求的并行處理通信單元400P0通過單處理器的OS 300P0,請(qǐng)求在主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)上的數(shù)據(jù)。
(6)由單處理器的OS 300P0對(duì)主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)進(jìn)行訪問。
(7)并行處理通信單元400P0從主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)中獲得與屬于進(jìn)程PP-k的處理有關(guān)的信息。因此,獲得了處理器號(hào)和用于執(zhí)行進(jìn)程PP-k的進(jìn)程號(hào)。
(8)并行處理通信單元400P0根據(jù)通過單處理器的OS 300P0從主存儲(chǔ)設(shè)備92(共享存儲(chǔ)器)中獲得的信息來進(jìn)行通信請(qǐng)求。
(9)單處理器的OS 300P0在控制處理中繼單元600處,設(shè)置通信所需的信息。
(10)因此,將處理命令從控制處理中繼單元600發(fā)送到處理器Pk的單處理器的OS 300Pk。
(11)處理器Pk的控制代理單元500Pk獲得通過單處理器的OS300Pk發(fā)送的處理命令。
(12)然后,控制代理單元500Pk根據(jù)所獲得的處理命令來激活進(jìn)程PP-k。
(13)因此,處于待機(jī)狀態(tài)的進(jìn)程PP-k執(zhí)行所述處理。
按照上述方式,在第一處理器側(cè)100的處理器P0上的進(jìn)程PP和第二處理器側(cè)200的進(jìn)程PP-k之間,實(shí)現(xiàn)了異步處理。
下面將參考圖15和16來描述在根據(jù)第二實(shí)例的并行處理系統(tǒng)中,由控制處理中繼單元600所進(jìn)行的處理操作。
首先,在圖15中示出了控制處理中繼單元600的結(jié)構(gòu)。如圖所示,對(duì)控制處理中繼單元600進(jìn)行構(gòu)造,以使其包括與各個(gè)處理器P0到Pn相對(duì)應(yīng)的中斷控制設(shè)備601P0到601Pn、以及與各個(gè)處理器P0到Pn相對(duì)應(yīng)的通信區(qū)域602P0到602Pn。這里,在主存儲(chǔ)設(shè)備92中確保了通信區(qū)域602P0到602Pn。
中斷控制設(shè)備601P0到601Pn的每一個(gè)具有與圖6所示的根據(jù)第一實(shí)例的控制處理中繼單元60中的結(jié)構(gòu)相同的結(jié)構(gòu),并且由中斷指示單元601a、中斷狀態(tài)保存單元601b和中斷取消單元601c組成。
同時(shí),通信區(qū)域602P0到602Pn的每一個(gè)基本上具有與圖6所示的第一實(shí)例中的結(jié)構(gòu)相同的結(jié)構(gòu),并且由作為圖6所示的通信理由保存區(qū)域62a和通信數(shù)據(jù)保存區(qū)域62b的組合的通信隊(duì)列602a和互斥控制區(qū)域602c形成。
作為實(shí)例,將參考圖16來描述從第一處理器側(cè)100上的并行處理通信單元400P0到第二處理器側(cè)200上的處理器Pn的通信處理操作。
(1)并行處理通信單元400P0鎖定針對(duì)處理器Pn的通信區(qū)域602Pn的互斥控制區(qū)域602b。更具體地,使在互斥控制區(qū)域602b中的鎖定變量變?yōu)殒i定狀態(tài)以防止當(dāng)前針對(duì)處理器Pn的通信區(qū)域602Pn被其他處理器使用。
(2)并行處理通信單元400P0將通信理由信息和通信數(shù)據(jù)(包括請(qǐng)求內(nèi)容的所需數(shù)據(jù))存儲(chǔ)在通信區(qū)域602Pn的通信隊(duì)列602a。
作為要存儲(chǔ)的通信理由信息,在如上所述的針對(duì)進(jìn)程創(chuàng)建/激活的通信處理的情況下,存儲(chǔ)表示“進(jìn)程激活”的信息(例如,諸如與并行處理相對(duì)應(yīng)的預(yù)定數(shù)值的數(shù)據(jù))。
(3)在(1)的時(shí)刻,如果通信區(qū)域602Pn的通信隊(duì)列602a是空的,并行處理通信單元400P0指示其自身的中斷控制設(shè)備601P0的中斷指示單元601a中斷處理器Pn。
(4)處理器P0的并行處理通信單元400P0使針對(duì)處理器Pn的通信區(qū)域602Pn的互斥控制區(qū)域602b進(jìn)入未鎖定狀態(tài)。如果在(1)的時(shí)刻,通信區(qū)域602Pn的通信隊(duì)列602a不是空的,則由于不需要中斷,處理在該時(shí)刻終止。
(5)中斷控制設(shè)備601P0的中斷指示單元601a在與處理器Pn相對(duì)應(yīng)的中斷控制設(shè)備601Pn的中斷狀態(tài)保持單元601b處設(shè)置表示中斷的信息。結(jié)果,處理器Pn進(jìn)入中斷狀態(tài)。
(6)處理器Pn的單處理器的OS 300Pn根據(jù)針對(duì)處理器Pn的中斷控制設(shè)備601Pn的中斷狀態(tài)保持單元601b的條件來接受中斷。
(7)處理器Pn中的單處理器的OS 300Pn通過利用中斷控制設(shè)備601Pn中的中斷取消單元601c清除其自身中斷狀態(tài)保持單元601b中的中斷信息,釋放其中斷狀態(tài)。
(8)處理器Pn中的單處理器的OS 300Pn激活其自身控制代理單元500Pn。
(9)處理器Pn的控制代理單元500Pn在其自身通信區(qū)域602Pn的互斥控制區(qū)域602b處設(shè)置鎖定。
(10)處理器Pn的控制代理單元500Pn還從其自身通信區(qū)域602Pn的通信隊(duì)列602a中刪除通信理由信息和通信數(shù)據(jù)。
(11)處理器Pn的控制代理單元500Pn對(duì)處理器Pn的通信區(qū)域602Pn的互斥控制區(qū)域602b進(jìn)行解鎖。這使處理器Pn的通信區(qū)域602Pn不能夠由其他處理器使用。
因此,通過使用控制處理中繼單元600,實(shí)現(xiàn)了第一處理器100和第二處理器200之間的控制信號(hào)和數(shù)據(jù)的傳送和接收。
接下來,下面將參考圖17來描述根據(jù)本發(fā)明第三實(shí)例的并行處理系統(tǒng)。圖17是示出了根據(jù)第三實(shí)例的并行處理系統(tǒng)的結(jié)構(gòu)的方框圖,在圖中,與圖13所示相同的組件由相同的參考符號(hào)表示。
在第二實(shí)例的上述同步處理中,需要重復(fù)檢查在進(jìn)程之間,一個(gè)進(jìn)程是否使其在主存儲(chǔ)設(shè)備92上的數(shù)據(jù)被其他進(jìn)程更新,造成了涉及與重復(fù)同樣多的額外處理,同時(shí),本實(shí)施例能夠?qū)崿F(xiàn)進(jìn)程之間的高性能同步和數(shù)據(jù)傳送和接收,其中不需要任何這樣的額外處理。
如圖17所示,與第二實(shí)例相似,根據(jù)第三實(shí)例的并行處理系統(tǒng)包括通過系統(tǒng)總線91連接的多個(gè)處理器(CPU)P0到Pn(n是不小于1的整數(shù))構(gòu)成的多處理器,將所述多個(gè)處理器邏輯上劃分為第一處理器側(cè)100和第二處理器側(cè)200,其中,安裝了運(yùn)行在第一處理器側(cè)100的處理器P0上和第二處理器側(cè)200的處理器(CPU)P1到Pn上的單處理器的OS 300P0到300Pn。
第三實(shí)例的特征在于除了用于在第一處理器側(cè)100上的處理器P0和第二處理器側(cè)200上的處理器P1到Pn上進(jìn)行并行處理的并行處理通信單元400P0~400Pn,以及控制代理單元500P0和500Pn之外,還包括用于實(shí)現(xiàn)在第一處理器側(cè)100的處理器P0和第二處理器側(cè)200的處理器P1到Pn上執(zhí)行各個(gè)進(jìn)程之間的通信的進(jìn)程間通信單元1000P0到1000Pn。
換句話說,本施例使傳統(tǒng)上安裝在多處理器的OS上的進(jìn)程間通信功能能夠在運(yùn)行單處理器的OS和多處理器的應(yīng)用程序的、單處理器的OS所進(jìn)行的并行處理系統(tǒng)上實(shí)現(xiàn),從而能夠在用戶級(jí)提供進(jìn)程間通信功能。
此外,由于在本實(shí)例中,第一處理器側(cè)100上的單處理器的OS300P0與要在如第一實(shí)例所示的第二處理器側(cè)200上執(zhí)行的進(jìn)程進(jìn)行通信所使用的代理單元70完全執(zhí)行與第一實(shí)施例相同的功能,為了簡便,不再對(duì)其進(jìn)行描述。
由于除了上述進(jìn)程間通信單元1000P0到1000Pn之外的其他組件的結(jié)構(gòu)和操作與第二實(shí)例的上述結(jié)構(gòu)和操作完全相同,因此將只對(duì)進(jìn)程間通信單元1000P0到1000Pn進(jìn)行描述。
進(jìn)程間通信單元1000P0到1000Pn利用諸如信號(hào)量(semaphore)或消息隊(duì)列之類的系統(tǒng),實(shí)現(xiàn)在處理器P1到Pn上執(zhí)行的進(jìn)程之間的通信。
這里,將針對(duì)進(jìn)程間單元1000P0到1000Pn利用信號(hào)量系統(tǒng)進(jìn)行進(jìn)程間通信的情況來進(jìn)行描述。
如圖18所示,將對(duì)以下情況進(jìn)行描述當(dāng)進(jìn)程PP-m和進(jìn)程PP-n分別在第二處理器側(cè)200的處理器Pm和處理器Pn上執(zhí)行時(shí),進(jìn)程PP-m和進(jìn)程PP-n通過進(jìn)程間通信單元1000Pm和1000Pm利用信號(hào)量系統(tǒng)進(jìn)行通信。
信號(hào)量(semaphore)是一種用于多個(gè)進(jìn)程在同時(shí)執(zhí)行多個(gè)進(jìn)程的多任務(wù)OS上相互通信和同步的系統(tǒng),并且是一種共享標(biāo)記(計(jì)數(shù)器),相互同步的進(jìn)程注意著該計(jì)數(shù)器,以根據(jù)計(jì)數(shù)器的改變進(jìn)行處理,從而實(shí)現(xiàn)通信(同步)。
首先,參考圖18,將描述增加或減小主存儲(chǔ)設(shè)備92的信號(hào)量信息區(qū)域(共享標(biāo)記)的處理器Pm上的進(jìn)程PP-m的操作。這里假定信號(hào)量增加(semaphore-up)是遞增信號(hào)量信息區(qū)域的計(jì)數(shù)器值,而信號(hào)量減小(semaphore-down)是遞減信號(hào)量信息的計(jì)數(shù)器值。當(dāng)不允許信號(hào)量增加時(shí),當(dāng)前的進(jìn)程休眠以進(jìn)入等待狀態(tài),并且由信號(hào)量減小來喚醒。
(1)當(dāng)處理器Pm上的進(jìn)程PP-m增加或減小信號(hào)量(信號(hào)量計(jì)數(shù)器)時(shí),該進(jìn)程PP-m請(qǐng)求作用于進(jìn)程間通信單元1000Pm。
(2)已經(jīng)接收到請(qǐng)求的進(jìn)程間通信單元1000Pm訪問信號(hào)量信息區(qū)域#N(確保了與由系統(tǒng)預(yù)定的數(shù)量同樣多的信號(hào)量信息區(qū)域),作為可由主存儲(chǔ)設(shè)備92中所確保的信號(hào)量數(shù)可區(qū)分的共享標(biāo)記,以確定是否可以增加或減小所述信號(hào)量。
接下來,參考圖19,將描述處理器Pm上的進(jìn)程PP-m增加信號(hào)量(信號(hào)量標(biāo)記)的情況。
(1)處理器Pm上的進(jìn)程PP-m請(qǐng)求進(jìn)程間通信單元1000Pm減小信號(hào)量(信號(hào)量標(biāo)記)。
(2)已經(jīng)接收到請(qǐng)求的進(jìn)程間通信單元1000Pm訪問在主存儲(chǔ)設(shè)備92中所確保的信號(hào)量信息區(qū)域#N。這里,在信號(hào)量信息區(qū)域#N處設(shè)置了初始值“0”作為信號(hào)量的計(jì)數(shù)器值,并且事先固定,即使嘗試也不能減小。因此,確定不能夠減小該信號(hào)量。
(3)進(jìn)程間通信單元1000Pm利用系統(tǒng)調(diào)用,請(qǐng)求單處理器的OS300Pm使進(jìn)程PP-m休眠。
(4)單處理器的OS 300Pm利用系統(tǒng)調(diào)用,使進(jìn)程PP-m休眠,以從運(yùn)行隊(duì)列(run queue)中取出該進(jìn)程。
換句話說,在上述情況下,不允許減小信號(hào)量,進(jìn)程PP-m休眠。
此外,參考圖20,將描述當(dāng)在如上所述進(jìn)程PP-m休眠的情況下,相同處理器Pm上的進(jìn)程PP-m1增加信號(hào)量時(shí)所執(zhí)行的操作。
(1)進(jìn)程PP-m1請(qǐng)求進(jìn)程間通信單元1000Pm增加信號(hào)量。
(2)進(jìn)程間通信單元1000Pm訪問在主存儲(chǔ)設(shè)備92中確保的信號(hào)量信息區(qū)域#N,以確定存在等待信號(hào)量的進(jìn)程PP-m。
(3)進(jìn)程間通信單元1000Pm還向控制處理中繼單元600傳送消息(控制消息),以請(qǐng)求喚醒進(jìn)程PP-m。
(4)控制代理單元500Pm從控制處理中繼單元600接收消息。根據(jù)參考圖15和16所述的操作,由控制處理中繼單元600進(jìn)行消息中繼。
(5)控制代理單元500Pm從消息中確定進(jìn)行了喚醒等待信號(hào)量的進(jìn)程的請(qǐng)求,以便利用系統(tǒng)調(diào)用,向單處理器的OS 300Pm提供用于喚醒處于等待狀態(tài)的進(jìn)程PP-m的請(qǐng)求。
(6)單處理器的OS 300Pm利用系統(tǒng)調(diào)用來喚醒所請(qǐng)求的進(jìn)程PP-m,以將其連接到運(yùn)行隊(duì)列。在這種情況下,喚醒的進(jìn)程PP-m再次嘗試減小信號(hào)量。
如以上所闡明的處理(3)和(4)所述,利用單處理器的OS 300Pm的通信功能而不使用上述處理(3)和(4)所述的通過控制處理器中繼單元600進(jìn)行的控制消息中繼來從進(jìn)程間通信單元1000Pm到控制代理單元500Pm直接請(qǐng)求進(jìn)程PP-m的喚醒造成了處理(3)和(4)的取消,從而能夠高速處理。
參考圖21,將描述在當(dāng)處理器Pm的進(jìn)程PP-m如上所述休眠時(shí)其他處理器Pn上的進(jìn)程PP-n增加信號(hào)量的情況下所進(jìn)行的操作。
(1)處理器Pn上的進(jìn)程PP-n從其自身的處理器Pn的進(jìn)程間通信單元1000Pn請(qǐng)求信號(hào)量增加。
(2)進(jìn)程間通信單元1000Pn訪問在主存儲(chǔ)設(shè)備92中所確保的信號(hào)量信息區(qū)域#N,以確定存在等待信號(hào)量的進(jìn)程PP-m。
(3)進(jìn)程間通信單元1000Pn還向控制處理中繼單元600傳送消息(控制消息),以請(qǐng)求喚醒進(jìn)程PP-m。
(4)隨后,處理器Pm的控制代理單元500Pm從控制處理中繼單元600接收消息。根據(jù)參考圖15和16所述的操作來由控制處理中繼單元600進(jìn)行消息中繼。
(5)控制代理單元500Pm從該消息中確定進(jìn)行了喚醒等待信號(hào)量的進(jìn)程的請(qǐng)求,以利用系統(tǒng)調(diào)用,向單處理器的OS 300Pm提供用于喚醒處于等待狀態(tài)的進(jìn)程PP-m的請(qǐng)求。
(6)處理器的OS 300Pm利用系統(tǒng)調(diào)用喚醒所請(qǐng)求的進(jìn)程PP-m,以將其連接到運(yùn)行隊(duì)列。在這種情況下,所喚醒的進(jìn)程PP-m再次嘗試減小信號(hào)量。
接下來,如圖22所示,將描述以下情況,所述情況為當(dāng)進(jìn)程PP-m和進(jìn)程PP-n在第二處理器側(cè)200的處理器Pm和處理器Pn上執(zhí)行時(shí),進(jìn)程PP-m和進(jìn)程PP-n通過進(jìn)程間通信單元1000Pm和1000Pn利用消息隊(duì)列系統(tǒng)相互通信。
作為多個(gè)進(jìn)程之間的通信方法的消息隊(duì)列系統(tǒng),是一個(gè)創(chuàng)建以其名稱字面所表示的“隊(duì)列”并將消息(在進(jìn)程間傳送和接收的處理數(shù)據(jù))作為信息存儲(chǔ)在隊(duì)列中的系統(tǒng)。在消息隊(duì)列系統(tǒng)中,允許接收器側(cè)按照任意順序接收消息。當(dāng)進(jìn)程中的任一個(gè)接收到消息時(shí),該消息從隊(duì)列中消失。
參考圖22,將描述處理器Pm上的進(jìn)程PP-m利用消息隊(duì)列系統(tǒng)接收消息的情況。在這種情況下,要獲得的消息存在于可由主存儲(chǔ)設(shè)備92中確保的隊(duì)列信號(hào)區(qū)分的隊(duì)列消息區(qū)域#N(確保了與預(yù)定數(shù)量同樣多的隊(duì)列信息區(qū)域)。
(1)為了接收消息,在處理器Pm上的進(jìn)程PP-m從進(jìn)程間通信單元1000Pm中請(qǐng)求接收。
(2)已經(jīng)接收到請(qǐng)求的進(jìn)程間通信單元1000Pm訪問在主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#N以接收消息。
(3)然后,進(jìn)程間通信單元1000Pm將接收到的消息拷貝到請(qǐng)求源進(jìn)程PP-m上。此時(shí),將當(dāng)前的消息從主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#N中刪除。
接下來,參考圖23,將描述當(dāng)在處理器Pm上的進(jìn)程PP-m通過消息隊(duì)列系統(tǒng)接收消息時(shí)所執(zhí)行的第二操作。在這種情況下,要獲取的消息未能存在于主存儲(chǔ)設(shè)備92所確保的隊(duì)列信息區(qū)域#N中。
(1)為了接收消息,在處理器Pm上的進(jìn)程PP-m請(qǐng)求作用于進(jìn)程間通信單元1000Pm。
(2)已經(jīng)接收到該請(qǐng)求的進(jìn)程間通信單元1000Pm訪問在主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#N。在這種情況下,確定要獲得的消息未能存在于所確保的隊(duì)列信息區(qū)域#N,而不能接收消息。
(3)進(jìn)程間通信單元1000Pm利用系統(tǒng)調(diào)用,請(qǐng)求單處理器的OS300Pm使進(jìn)程PP-m休眠。
(4)單處理器的OS 300Pm利用系統(tǒng)調(diào)用來使進(jìn)程PP-m休眠以從運(yùn)行隊(duì)列中斷開所述進(jìn)程。
換句話說,不允許進(jìn)程PP-m接收消息,從而在上述情況下,該進(jìn)程休眠。
參考圖24,將描述當(dāng)處理器Pm上的進(jìn)程PP-m通過消息隊(duì)列系統(tǒng)傳送消息時(shí)所執(zhí)行的操作。在這種情況下,不存在正在等待要傳送的消息的任何進(jìn)程,并且只進(jìn)行向主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#N的消息傳送。
(1)為了傳送消息,在處理器Pm的進(jìn)程PP-m請(qǐng)求作用于進(jìn)程間通信單元1000Pm。
(2)已經(jīng)接收到該請(qǐng)求的進(jìn)程間通信單元1000Pm訪問在主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#n,以存儲(chǔ)來自進(jìn)程PP-m的消息。
還將描述如圖25所示,當(dāng)處理器Pm上的進(jìn)程通過消息隊(duì)列系統(tǒng)傳送消息時(shí)所執(zhí)行的操作。在這種情況下,存在等待要傳送的消息的進(jìn)程。換句話說,這是如圖23的實(shí)例所示,當(dāng)進(jìn)程PP-m不能夠接收消息并休眠時(shí)從進(jìn)程PP-m1發(fā)送消息的情況。
(1)進(jìn)程PP-m1從進(jìn)程間通信單元1000Pm請(qǐng)求消息傳送。
(2)進(jìn)程間通信單元1000Pm訪問在主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#N,以存儲(chǔ)來自進(jìn)程PP-m1的消息。這里,確定存在等待消息的進(jìn)程PP-m。
(3)進(jìn)程間通信單元1000Pm還向控制處理中繼單元600傳送控制消息,以請(qǐng)求喚醒進(jìn)程PP-m。
(4)控制代理單元500Pm從控制處理中繼單元600接收控制消息。
(5)控制代理單元500Pm從控制消息中確定命令用于喚醒等待消息的進(jìn)程,并且利用系統(tǒng)調(diào)用,請(qǐng)求單處理器的OS 300Pm喚醒處于等待狀態(tài)的上述進(jìn)程PP-m。
(6)單處理器的OS 300Pm利用系統(tǒng)調(diào)用喚醒所請(qǐng)求的進(jìn)程PP-m,以將進(jìn)程連接到運(yùn)行隊(duì)列。
在這種情況下,所喚醒的進(jìn)程PP-m再次嘗試接收消息。結(jié)果,來自進(jìn)程PP-m1的消息由進(jìn)程PP-m接收。
利用單處理器的OS 300Pm的通信功能而不利用如上述處理(3)和(4)所示的通過控制處理中繼單元600所進(jìn)行的控制消息中繼來從進(jìn)程間通信單元1000Pm向控制代理單元500Pm直接請(qǐng)求進(jìn)程PP-m的喚醒造成了處理(3)和(4)的取消,從而能夠?qū)崿F(xiàn)高速處理。
參考圖26,將描述在當(dāng)處理器Pm上的進(jìn)程PP-m休眠以等待消息時(shí),在其他處理器Pn上的進(jìn)程PP-n如圖23所示傳送消息的情況下所進(jìn)行的操作。
(1)處理器Pn上的進(jìn)程PP-n請(qǐng)求其自身處理器Pn的進(jìn)程間通信單元1000Pn傳送消息。
(2)進(jìn)程間通信單元1000Pn訪問在主存儲(chǔ)設(shè)備92中所確保的隊(duì)列信息區(qū)域#N,以存儲(chǔ)來自進(jìn)程PP-n的消息。這里確定了存在等待消息的進(jìn)程PP-m。
(3)進(jìn)程間通信單元1000Pn控制處理中繼單元600傳送控制消息,以請(qǐng)求喚醒進(jìn)程PP-m。
(4)隨后,處理器Pm的控制代理單元500Pm從控制處理中繼單元600接收控制消息。
(5)控制代理單元500Pm從控制消息中確定命令用于喚醒等待消息的進(jìn)程,并且利用系統(tǒng)調(diào)用,向單處理器的OS 300Pm提供用于喚醒處于等待狀態(tài)的上述進(jìn)程PP-m的請(qǐng)求。
(6)單處理器的OS 300Pm利用系統(tǒng)調(diào)用喚醒所請(qǐng)求的進(jìn)程PP-m,以將進(jìn)程連接到運(yùn)行隊(duì)列。
在這種情況下,所喚醒的進(jìn)程PP-m再次嘗試接收消息。結(jié)果,來自進(jìn)程PP-n的消息由進(jìn)程PP-m接收,以執(zhí)行在不同處理器間的進(jìn)程間通信。
根據(jù)本實(shí)例,按照前述的方式,利用信號(hào)量系統(tǒng)或消息隊(duì)列系統(tǒng),通過進(jìn)程間通信單元1000P0到Pn在相同處理器內(nèi)或不同處理器間的進(jìn)程(同步或消息傳送和接收)之間的通信,能夠?qū)崿F(xiàn)諸如進(jìn)程切換和數(shù)據(jù)傳送和接收之類的進(jìn)程控制。
雖然在相同處理器中的進(jìn)程之間有限制地進(jìn)行利用單處理器的OS的進(jìn)程間通信,并且不同處理器間的進(jìn)程間通信應(yīng)該利用具有較重處理負(fù)載等的網(wǎng)絡(luò)來進(jìn)行,但是,由其處理速度快于網(wǎng)絡(luò)通信速度的控制處理中繼單元600和進(jìn)程間通信單元1000P0到Pn使用信號(hào)量系統(tǒng)和消息隊(duì)列系統(tǒng)實(shí)現(xiàn)了在安裝有單處理器的OS的多處理器系統(tǒng)中也具有高處理速度的進(jìn)程間通信。
對(duì)于相同處理器內(nèi)的進(jìn)程間通信,通過單處理器的OS,可以獲得幾乎等價(jià)于從進(jìn)程的休眠到喚醒所需要的處理性能的性能。
另外的優(yōu)點(diǎn)在于與多處理器的OS不同,即使安裝有隨每一個(gè)處理器而改變的單處理器的OS,處理器間的進(jìn)程間通信也是可行的。
接下來,將參考圖27來描述通過進(jìn)程間通信單元1000P0到1000P利用信號(hào)量系統(tǒng)和消息隊(duì)列系統(tǒng)的上述進(jìn)程間通信的具體實(shí)例。
在圖27中,進(jìn)程PP-0、進(jìn)程PP-j和進(jìn)程PP-k分別在處理器P0、處理器Pj和處理器Pk上執(zhí)行。這里,進(jìn)程PP-0作為瀏覽器進(jìn)行操作,進(jìn)程PP-j作為Java(R)小應(yīng)用程序進(jìn)行操作,以及進(jìn)程PP-k作為MPEG4應(yīng)用程序進(jìn)行操作,并且如圖28所示,在嵌入在利用進(jìn)程PP-0的瀏覽器1100中的窗口內(nèi),相互同步地顯示利用進(jìn)程PP-j的Java(R)小應(yīng)用程序內(nèi)容1200和利用進(jìn)程PP-k的MPEG4圖像內(nèi)容1300。
在該實(shí)例中,在第一處理器側(cè)100的單處理器的OS 300P0上運(yùn)行的應(yīng)用程序的工作單元中,進(jìn)程PP-0運(yùn)行在處理器P0上,進(jìn)程PP-j和進(jìn)程PP-k,即能夠在應(yīng)用程序內(nèi)并行化的進(jìn)程,在第二處理器側(cè)200上的處理器Pj和處理器Pk中并行處理。
在圖27中,當(dāng)激活了Java(R)小應(yīng)用程序(進(jìn)程PP-j)和MPEG4應(yīng)用程序(進(jìn)程PP-k)時(shí),兩個(gè)應(yīng)用程序都等待從瀏覽器(進(jìn)程PP-0)中接收J(rèn)ava(R)小應(yīng)用程序數(shù)據(jù)和MPEG4圖像數(shù)據(jù)(步驟S101和S201)。
這里,從處理器P0的進(jìn)程PP-0中,通過進(jìn)程間通信單元1000P0利用消息傳送,將Java(R)小應(yīng)用程序數(shù)據(jù)和MPEG4圖像數(shù)據(jù)作為消息傳送,并且由Java(R)小應(yīng)用程序(進(jìn)程PP-j)和MPEG4應(yīng)用程序(進(jìn)程PP-k)接收。
結(jié)果,啟動(dòng)了由Java(R)小應(yīng)用程序(進(jìn)程PP-j)所進(jìn)行的操作(步驟S102),以開始由MPEG4應(yīng)用程序(進(jìn)程PP-k)所進(jìn)行的解碼處理(步驟S202)。
在該實(shí)例中,由于事先清楚由Java(R)小應(yīng)用程序(進(jìn)程PP-j)所進(jìn)行的操作結(jié)束得比由MPEG4應(yīng)用程序(進(jìn)程PP-k)所進(jìn)行的解碼處理要早,因此,將信號(hào)量計(jì)數(shù)器的初始值設(shè)置為“0”,從而在完成操作之后,Java(R)小應(yīng)用程序(進(jìn)程PP-j)等待由MPEG4應(yīng)用程序(進(jìn)程PP-k)所進(jìn)行的處理的完成,從而防止已經(jīng)較早完成操作的Java(R)小應(yīng)用程序(進(jìn)程PP-j)減小信號(hào)量。此外,定義MPEG4應(yīng)用程序(進(jìn)程PP-k),以便在完成處理之后增加信號(hào)量。
雖然Java(R)小應(yīng)用程序(進(jìn)程PP-j)嘗試增加信號(hào)量(步驟S103),但是由于計(jì)數(shù)器的初始值為“0”,因此其不能夠減小信號(hào)量,從而使其進(jìn)入休眠以等待信號(hào)量。
當(dāng)MPEG4應(yīng)用程序(進(jìn)程PP-k)結(jié)束處理(步驟S203)之后,該應(yīng)用程序請(qǐng)求信號(hào)量增加(步驟S204)。結(jié)果,等待信號(hào)量的Java小應(yīng)用程序(進(jìn)程PP-j)被喚醒并允許其減小信號(hào)量。
對(duì)每一個(gè)幀重復(fù)前述操作導(dǎo)致了將利用進(jìn)程PP-j的Java(R)小應(yīng)用程序的內(nèi)容1200和利用進(jìn)程PP-k的MPEG4圖像內(nèi)容1300相互同步地顯示在嵌入于利用進(jìn)程PP-0的瀏覽器1100的窗口內(nèi)。
接下來,將參考圖29來描述根據(jù)本發(fā)明第四實(shí)例的并行處理系統(tǒng)。圖29是示出了根據(jù)第四實(shí)例的并行處理系統(tǒng)結(jié)構(gòu)的方框圖,其中,與圖13所示的組件相同的組件由相同的參考符號(hào)表示。
如圖29所示,根據(jù)第四實(shí)例的并行處理系統(tǒng)包括通過系統(tǒng)總線91連接的多個(gè)處理器(CPU)P1~Pn(n是不小于2的整數(shù))構(gòu)成的多處理器,所述多個(gè)處理器安裝有運(yùn)行于各個(gè)處理器P1到Pn上的單處理器的OS 300P1到300Pn。
更具體地,本實(shí)例與第一到第三實(shí)例的不同在于不將多處理器邏輯上劃分為第一處理器側(cè)和第二處理器側(cè)兩組。
與上述第三實(shí)例相似,第四實(shí)例的特征在于除了用于進(jìn)行處理器P1到Pn的并行處理的并行處理通信單元400P1到400Pn,以及控制代理單元500P1到500Pn之外,還包括用于實(shí)現(xiàn)在處理器P1到Pn上執(zhí)行的各個(gè)進(jìn)程之間的通信的進(jìn)程間通信單元1000P1到1000Pn。
另一方面,可以進(jìn)行每一個(gè)處理器P1到Pn上的進(jìn)程控制,而沒有第一實(shí)施例中所設(shè)置的OS服務(wù)單元50P1到50Pn以及在第一到第三實(shí)施例中所設(shè)置的并行處理通信單元400P1到400Pn。在各個(gè)處理器P1到Pn上的單處理器的OS 300P1到300Pn不需要是相同的OS,而可以相互不同。
換句話說,本實(shí)例還使傳統(tǒng)上安裝在多處理器的OS上的進(jìn)程間通信功能能夠在由運(yùn)行單處理器的OS和多處理器上的應(yīng)用程序的單處理器的OS所進(jìn)行的并行處理系統(tǒng)上實(shí)現(xiàn),從而能夠在用戶級(jí)提供進(jìn)程間通信功能。
進(jìn)行每一個(gè)處理器P1到Pn中的每一個(gè)進(jìn)程的執(zhí)行,而不需要與其他處理器的互斥控制。
如在第三實(shí)例中所描述的那樣,通過進(jìn)程間通信單元1000P1到1000Pn,利用信號(hào)量系統(tǒng)和消息排隊(duì)系統(tǒng),進(jìn)行各個(gè)處理器P1~Pn內(nèi)的進(jìn)程間通信和處理器之間的進(jìn)程間通信,以執(zhí)行進(jìn)程之間的同步處理和數(shù)據(jù)傳送和接收。
將參考圖30來描述應(yīng)用于上述并行處理系統(tǒng)的根據(jù)本發(fā)明的安全管理系統(tǒng)。這里,將對(duì)第一實(shí)施例進(jìn)行描述,在第一實(shí)施例中,將本發(fā)明的安全管理系統(tǒng)應(yīng)用于作為第一實(shí)例的并行處理系統(tǒng)。
根據(jù)第一實(shí)施例的安全管理系統(tǒng)具有與如圖1所示的并行處理系統(tǒng)相同的結(jié)構(gòu),二者之間的區(qū)別在于設(shè)置在第一處理器側(cè)10的處理器P0以及第二處理器側(cè)20的處理器P1到Pn0中的OS服務(wù)單元1500P0和1500P1~1500Pn具有根據(jù)存儲(chǔ)在由HD、閃速ROM等構(gòu)成的外部存儲(chǔ)設(shè)備93中的控制文件2000P0到2000Pn,通過對(duì)每個(gè)任務(wù)或每個(gè)處理器的訪問控制、訪問定量控制等來實(shí)現(xiàn)安全性的功能。與圖1所示的組件相同的組件由相同的參考數(shù)字表示,并且在這里,將不再對(duì)其進(jìn)行描述。
本實(shí)施例通過將安全功能添加到OS服務(wù)單元1500P0和1500P1~1500Pn,使系統(tǒng)適合于用戶級(jí)安全性。
在圖31中示出了存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P0到2000Pn的安全內(nèi)容的設(shè)置實(shí)例。在圖31所示的控制文件2000P0到2000Pn中,定義了以下安全內(nèi)容。設(shè)置在控制文件2000P0到2000Pn中的安全內(nèi)容可以全部相同或者彼此不同。
對(duì)于在處理器P0和P1到Pn中的每一個(gè)上執(zhí)行的每個(gè)任務(wù)的控制等級(jí),將任務(wù)A、B和C設(shè)置為等級(jí)0,將任務(wù)D和F設(shè)置為等級(jí)1,而其他任務(wù)設(shè)置為等級(jí)2。
設(shè)置為針對(duì)每個(gè)控制等級(jí)的訪問控制內(nèi)容的是等級(jí)0,“全部可以訪問”;等級(jí)1,“只讀訪問”;以及等級(jí)2,“除屏幕顯示之外的所有外部輸出均不可能”。
設(shè)置為針對(duì)每個(gè)控制等級(jí)的定量限制內(nèi)容的是等級(jí)0,“標(biāo)準(zhǔn)限制”;等級(jí)1,“最多一個(gè)讀取文件”;以及等級(jí)2,“信號(hào)量不可用”。
盡管在圖31所示的實(shí)例中,在控制文件中,針對(duì)每個(gè)任務(wù)設(shè)置控制等級(jí),但也可以與所示實(shí)例不同,針對(duì)每個(gè)處理器P0和P1~Pn設(shè)置控制等級(jí)。
這里,將參照?qǐng)D32,針對(duì)每個(gè)步驟,描述根據(jù)本實(shí)施例的安全管理系統(tǒng)的操作。
首先,將對(duì)處理器P0到Pn讀取存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P1到2000Pn的情況進(jìn)行描述。
(1)在激活之后,處理器P1上的OS服務(wù)單元1500P1,為了獲得其自身處理器的控制文件2000P1,向控制處理中繼單元60傳送讀取存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P1的請(qǐng)求。
(2)處理器P0的OS服務(wù)單元1500P0從控制處理中繼單元60接收上述讀取請(qǐng)求。
(3)處理器P0的OS服務(wù)單元1500P0向單處理器的OS30發(fā)布讀取控制文件2000P1的請(qǐng)求。
(4)單處理器的OS30向外部存儲(chǔ)設(shè)備93發(fā)布訪問控制文件2000P1的請(qǐng)求。
(5)單處理器的OS30從外部控制存儲(chǔ)設(shè)備93接收控制文件P1的內(nèi)容。
(6)單處理器的OS30將控制文件2000P1的安全內(nèi)容移交給處理器P0的OS服務(wù)單元1500P0。
(7)處理器P0的OS服務(wù)單元1500P0通過控制處理中繼單元60傳遞上述控制文件2000P1的安全內(nèi)容。
(8)處理器P1的OS服務(wù)單元1500P1根據(jù)通過控制處理中繼單元60傳遞過來的控制文件2000P1的安全內(nèi)容,進(jìn)行對(duì)在處理器P1上執(zhí)行的任務(wù)PT-1的安全控制。
當(dāng)不能通過一個(gè)讀取請(qǐng)求全部讀取出控制文件2000P1的內(nèi)容時(shí),可以請(qǐng)求只讀取所需項(xiàng)(例如,在圖31中,每個(gè)任務(wù)的控制等級(jí)),而每次從任務(wù)做出處理請(qǐng)求時(shí),可以繼續(xù)讀取其他項(xiàng)。
還可以事先將設(shè)置在控制文件2000P0到2000Pn中的安全內(nèi)容并入到各個(gè)處理器P0到Pn的OS服務(wù)單元1500P0到1500Pn中,而無需如先前那樣,從外部存儲(chǔ)設(shè)備93讀取控制文件。
將對(duì)根據(jù)這樣讀取的控制文件2000P1的安全內(nèi)容,對(duì)來自任務(wù)的請(qǐng)求進(jìn)行控制的情況進(jìn)行描述。
首先,將參照?qǐng)D33和34,對(duì)設(shè)置在控制文件2000P1中的安全功能限制來自處理器P1上的任務(wù)PT-1的請(qǐng)求的情況進(jìn)行描述。
(1)處理器P1上的任務(wù)PT-1請(qǐng)求來自相同處理器上的OS服務(wù)單元1500P1的預(yù)定處理。
OS服務(wù)單元1500P1根據(jù)這樣獲得的控制文件2000P1的安全內(nèi)容,確定是否接受來自任務(wù)PT-1的所述請(qǐng)求。更具體地,確定在針對(duì)任務(wù)PT-1而設(shè)置的控制等級(jí),是否允許所述請(qǐng)求。
(2)當(dāng)不允許所述請(qǐng)求時(shí),OS服務(wù)單元1500P1向作為請(qǐng)求源的任務(wù)PT-1返回錯(cuò)誤。結(jié)果,將對(duì)任務(wù)PT-1禁止控制文件2000P1中所不允許的處理請(qǐng)求。
例如,在針對(duì)處理器P1上的任務(wù)PT-1,控制文件2000P1設(shè)置控制等級(jí)1以允許只讀訪問的情況下,當(dāng)從該任務(wù)PT-1做出對(duì)特定文件的寫訪問請(qǐng)求時(shí),OS服務(wù)單元1500P1根據(jù)圖31所示的控制文件的安全內(nèi)容,確定對(duì)于任務(wù)PT-1,不允許寫訪問,并向任務(wù)PT-1返回錯(cuò)誤。
之后,將參照?qǐng)D34,對(duì)處理器P0利用安全功能限制來自已經(jīng)讀取了控制文件2000P1的內(nèi)容的處理器P1上的特定任務(wù)PT-1的請(qǐng)求的情況進(jìn)行描述。
(1)處理器P1上的任務(wù)PT-1請(qǐng)求來自相同處理器上的OS服務(wù)單元1500P1的預(yù)定處理。
OS服務(wù)單元1500P1根據(jù)這樣獲得的控制文件2000P1的安全內(nèi)容,確定是否接受來自任務(wù)PT-1的所述請(qǐng)求。
(2)當(dāng)允許所述請(qǐng)求時(shí),OS服務(wù)單元1500P1通過控制處理中繼單元60傳遞所述請(qǐng)求。
(3)處理器P0的OS服務(wù)單元1500P0從控制處理中繼單元60接收所述請(qǐng)求,以便根據(jù)控制文件,確定是否允許所述請(qǐng)求。
(4)當(dāng)確定不允許所述請(qǐng)求時(shí),處理器P0的OS服務(wù)單元1500P0向控制處理中繼單元60返回錯(cuò)誤。
(5)處理器P1的OS服務(wù)單元1500P1從控制處理中繼單元60接收錯(cuò)誤。
(6)此外,OS服務(wù)單元1500P1向作為請(qǐng)求源的任務(wù)PT-1返回錯(cuò)誤。
如前所述,在處理器P0的OS服務(wù)單元1500P0上,對(duì)在其上任務(wù)PT-1運(yùn)行的處理器P1的OS服務(wù)單元1500P1上允許的處理請(qǐng)求加以限制。因此,在處理器P0的OS服務(wù)單元1500P0中,可以設(shè)置其內(nèi)容不同于處理器P1到Pn的控制文件的控制文件2000P0,以便進(jìn)行對(duì)來自處理器P1到Pn的任務(wù)的處理請(qǐng)求的安全保護(hù)。
在上述實(shí)施例中,可以構(gòu)造系統(tǒng),將處理器P0的OS服務(wù)單元1500P0中的安全內(nèi)容設(shè)置得較低,或者不提供任何安全功能,以便防止在處理器P0上執(zhí)行的現(xiàn)有應(yīng)用程序的性能受到限制。
盡管前面的描述中所示出的是通過控制文件設(shè)置每個(gè)任務(wù)的控制等級(jí),例如,也可以設(shè)置每個(gè)處理器的OS服務(wù)單元的安全功能的程度,從不檢查安全性的最低等級(jí)到檢查所有內(nèi)容(請(qǐng)求)的最高等級(jí),設(shè)置對(duì)OS服務(wù)單元的驗(yàn)證。
還可以向并行處理單元40P0到40Pn,而不是OS服務(wù)單元提供安全功能,以便相對(duì)于每個(gè)并行處理單元40P0到40Pn,在控制文件中限制可發(fā)生任務(wù)的種類。
此外,盡管本實(shí)施例所描述的是將本發(fā)明的安全管理系統(tǒng)應(yīng)用于第一實(shí)例的并行處理系統(tǒng)的情況,應(yīng)當(dāng)清楚理解的是,本發(fā)明的安全系統(tǒng)可以應(yīng)用于第二和之后的實(shí)例的并行處理系統(tǒng)。
通過將本發(fā)明應(yīng)用于第二和第三實(shí)例的并行處理系統(tǒng),可以構(gòu)造系統(tǒng)以具有設(shè)置在每個(gè)處理器的進(jìn)程間通信單元中的安全功能,以針對(duì)每個(gè)進(jìn)程間通信單元,限制可執(zhí)行進(jìn)程間通信的種類。
在提供了對(duì)處理器的電源狀態(tài)進(jìn)行管理以便向單處理器的OS做出電源狀態(tài)改變請(qǐng)求的單元和向單處理器的OS做出運(yùn)行時(shí)鐘變化請(qǐng)求的單元的情況下,OS服務(wù)單元可以響應(yīng)來自所述單元的電源控制請(qǐng)求或運(yùn)行時(shí)鐘變化請(qǐng)求來進(jìn)行安全控制。
此外,盡管構(gòu)造第一實(shí)施例,以便讀取為各個(gè)處理器而準(zhǔn)備的控制文件2000P0到Pn,從而使每個(gè)OS服務(wù)單元根據(jù)控制文件的安全內(nèi)容,進(jìn)行安全保護(hù),可以通過設(shè)置存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件以適當(dāng)?shù)馗淖儯瑏韯?dòng)態(tài)地改變安全內(nèi)容,從而在每次發(fā)生改變時(shí),使OS服務(wù)單元再次讀取控制文件。
盡管在前面的描述中,示出了OS服務(wù)單元1500P0到1500Pn讀取控制文件或事先將安全內(nèi)容并入OS服務(wù)單元1500P0到1500Pn的情況,可以構(gòu)造系統(tǒng),以針對(duì)每個(gè)OS服務(wù)單元,控制每個(gè)處理器P0-Pn的OS服務(wù)單元1500P0-1500Pn自身的功能,從而對(duì)來自運(yùn)行在每個(gè)處理器P0到Pn上的任務(wù)的請(qǐng)求進(jìn)行控制。這產(chǎn)生了與前述情況下所獲得的相同效果。
例如,對(duì)于預(yù)定處理器Pn的OS服務(wù)單元1500Pn的功能,限制對(duì)文件的寫入導(dǎo)致了對(duì)從運(yùn)行在處理器Pn上的任務(wù)向文件的寫請(qǐng)求的禁止。因此,通過限制每個(gè)處理器的OS服務(wù)單元的功能,可以獲得每個(gè)處理器的安全效果。
接下來,將參照?qǐng)D35,對(duì)應(yīng)用于并行處理系統(tǒng)的安全管理系統(tǒng)的第二實(shí)施例進(jìn)行描述。
這里,將對(duì)其中將本發(fā)明的安全管理系統(tǒng)應(yīng)用于圖12和17中的第二和第三實(shí)例所示的并行處理系統(tǒng)的第二實(shí)施例進(jìn)行描述。
構(gòu)造本實(shí)施例,通過使每個(gè)OS的安全等級(jí)可變,通過運(yùn)行在每個(gè)處理器上的進(jìn)程,適當(dāng)?shù)乇Wo(hù)服務(wù)。
示出了根據(jù)第二實(shí)施例的安全管理系統(tǒng)的圖35中所示為將本發(fā)明應(yīng)用于作為圖12所示的第二實(shí)例的并行處理系統(tǒng),與圖12所示的組件相同的組件由相同的參考數(shù)字表示,以省略對(duì)其的描述。
根據(jù)第二實(shí)施例的安全管理系統(tǒng)具有單處理器的OS 3000P0到3000Pn,單處理器的OS 3000P0到3000Pn具有安全擴(kuò)展功能,作為設(shè)置在各個(gè)處理器P0到Pn中的單處理器的OS的擴(kuò)展。用于擴(kuò)展安全功能的安全擴(kuò)展單元3100P0到3100Pn,作為模塊,并入單處理器的OS 3000P0到3000Pn中。
單處理器的OS 3000Pn具有請(qǐng)求安全擴(kuò)展單元3100Pn檢查在系統(tǒng)調(diào)用中請(qǐng)求安全保護(hù)的處理的安全內(nèi)容的功能。
在本實(shí)施例中,在圖36中示出了存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P0到2000Pn中的安全內(nèi)容的設(shè)置實(shí)例。在圖36所示的安全文件2000P0到2000Pn中,與在每個(gè)處理器P0和P1到Pn上執(zhí)行的進(jìn)程有關(guān)地定義了以下安全內(nèi)容。設(shè)置在這些安全文件2000P0到2000Pn中的安全內(nèi)容可以全部相同或彼此不同。
對(duì)于在處理器P0和P1到Pn中的每一個(gè)上執(zhí)行的每個(gè)任務(wù)的控制等級(jí),將任務(wù)A、B和C設(shè)置為等級(jí)0,將任務(wù)D和F設(shè)置為等級(jí)1,而其他任務(wù)設(shè)置為等級(jí)2。
對(duì)于每個(gè)控制等級(jí)的訪問控制內(nèi)容,將等級(jí)0設(shè)置為全部可以訪問;將等級(jí)1設(shè)置為禁止另外的進(jìn)程發(fā)生系統(tǒng)調(diào)用;以及將等級(jí)2設(shè)置為禁止與I/O有關(guān)的系統(tǒng)調(diào)用。
對(duì)于每個(gè)控制等級(jí)的定量限制,將等級(jí)0設(shè)置為標(biāo)準(zhǔn)限制;將等級(jí)1設(shè)置為將讀取文件限制為一個(gè);以及將等級(jí)2設(shè)置為將可用信號(hào)量限制為兩個(gè)。
這里,將參照?qǐng)D37,針對(duì)每個(gè)步驟,描述根據(jù)第二實(shí)施例的安全管理系統(tǒng)的操作。
首先,將對(duì)將存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P1到Pn讀取到處理器P0到Pn中時(shí)所執(zhí)行的操作進(jìn)行描述。
(1)處理器Pn上的安全擴(kuò)展單元3100Pn向單處理器的OS 3000Pn發(fā)布讀取存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000Pn的請(qǐng)求。
(2)處理器Pn的單處理器OS 3000Pn訪問外部存儲(chǔ)設(shè)備93,以請(qǐng)求讀取控制文件2000Pn。
(3)單處理器的OS 3000Pn從外部存儲(chǔ)設(shè)備93接收控制文件2000Pn。
(4)處理器Pn的單處理器的OS 3000Pn將所獲得的控制文件2000Pn的安全內(nèi)容移交給其自身處理器的安全擴(kuò)展單元3100Pn。結(jié)果,安全擴(kuò)展單元3100Pn根據(jù)接收到的控制文件2000Pn的安全內(nèi)容,執(zhí)行安全功能。
當(dāng)不能通過一個(gè)讀取請(qǐng)求全部讀取出控制文件2000Pn的內(nèi)容時(shí),可以請(qǐng)求只讀取所需項(xiàng)(例如,在圖36中,每個(gè)進(jìn)程的控制等級(jí)),而每次從進(jìn)程做出處理請(qǐng)求時(shí),可以繼續(xù)讀取其他項(xiàng)。
還可以無需如先前那樣,從外部存儲(chǔ)設(shè)備93讀取控制文件,而事先將設(shè)置在控制文件2000P0到2000Pn中的安全內(nèi)容并入到各個(gè)處理器P0到Pn的安全擴(kuò)展單元3100P0到3100Pn中。
這里,作為根據(jù)第二實(shí)施例的安全管理系統(tǒng)的操作,將對(duì)根據(jù)這樣讀取的控制文件2000P1的安全內(nèi)容,對(duì)來自進(jìn)程的請(qǐng)求進(jìn)行控制時(shí)所執(zhí)行的操作的每一步進(jìn)行描述。
首先,將參照?qǐng)D38,對(duì)設(shè)置在控制文件2000P1中的安全功能限制來自處理器Pn上的特定進(jìn)程PP-n的請(qǐng)求的情況進(jìn)行描述。
(1)處理器Pn上的特定進(jìn)程PP-n請(qǐng)求來自處理器Pn上的單處理器的OS 3000Pn的系統(tǒng)調(diào)用。
(2)當(dāng)處理進(jìn)行到需要系統(tǒng)調(diào)用中的安全保護(hù)的處理部分時(shí),單處理器的OS 3000Pn請(qǐng)求安全擴(kuò)展單元3100Pn檢查安全性。
(3)處理器Pn上的安全擴(kuò)展單元3100Pn根據(jù)事先獲得的控制文件2000Pn的安全內(nèi)容,確定是否應(yīng)當(dāng)執(zhí)行所述安全調(diào)用,并將確定結(jié)果通知給單處理器的OS 3000Pn。例如,當(dāng)根據(jù)安全內(nèi)容,確定不允許執(zhí)行時(shí),將錯(cuò)誤通知給單處理器的OS 3000Pn。
(4)被通知了錯(cuò)誤的單處理器的OS 3000Pn將錯(cuò)誤通知給作為請(qǐng)求源的進(jìn)程PP-n。
在步驟(3),根據(jù)安全內(nèi)容,允許執(zhí)行系統(tǒng)調(diào)用的情況下,通知單處理器的OS 3000Pn,實(shí)現(xiàn)了對(duì)所請(qǐng)求的系統(tǒng)調(diào)用的處理。
例如,在處理器Pn上的特定進(jìn)程PP-n的控制等級(jí)是等級(jí)2,并從所述進(jìn)程PP-n請(qǐng)求與I/O有關(guān)的系統(tǒng)調(diào)用的情況下,安全擴(kuò)展單元3100Pn根據(jù)圖36所示的控制文件的安全內(nèi)容,確定來自進(jìn)程PP-n的請(qǐng)求不可執(zhí)行,并將錯(cuò)誤通知給進(jìn)程PP-n。
可以構(gòu)造本實(shí)施例,與上述第一實(shí)施例相結(jié)合,采用這種結(jié)構(gòu)確保了更為可靠的安全環(huán)境。
對(duì)于每個(gè)處理器的安全擴(kuò)展單元的安全等級(jí),可以通過改變控制文件的內(nèi)容,而針對(duì)每個(gè)處理器,不同地設(shè)置等級(jí)。例如,可以針對(duì)特定的處理器設(shè)置較為嚴(yán)密的安全等級(jí),而對(duì)于其他設(shè)置較為寬松的安全等級(jí)。
在上述實(shí)施例中,也可以構(gòu)造系統(tǒng),將處理器P0的安全擴(kuò)展單元3100P0中的安全內(nèi)容設(shè)置得較低,以便防止對(duì)在處理器P0上執(zhí)行的現(xiàn)有應(yīng)用程序(進(jìn)程)的性能加以限制。
同樣,在本實(shí)施例中,通過將存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件設(shè)置為可以適當(dāng)?shù)剡M(jìn)行改變,并在每次改變控制文件時(shí),使安全擴(kuò)展單元再次進(jìn)行讀取,可以動(dòng)態(tài)地改變安全內(nèi)容。
盡管在前面的描述中,示出了安全擴(kuò)展單元3100P0到3100Pn讀取控制文件或事先將安全內(nèi)容并入安全擴(kuò)展單元3100P0到3100Pn的情況,可以針對(duì)每個(gè)安全擴(kuò)展單元,限制處理器P0到Pn的安全擴(kuò)展單元3100P0到3100Pn自身的功能,從而對(duì)來自運(yùn)行在每個(gè)處理器P0~Pn上的任務(wù)的請(qǐng)求進(jìn)行控制。結(jié)果,可以以不同的安全等級(jí)控制每個(gè)處理器,以獲得與上述情況相同的效果。
接下來,將參照?qǐng)D39,對(duì)應(yīng)用于并行處理系統(tǒng)的安全管理系統(tǒng)的第三實(shí)施例進(jìn)行描述。
這里,將對(duì)其中將本發(fā)明的安全管理系統(tǒng)應(yīng)用于作為圖12和17所示的第二和第三實(shí)例的并行處理系統(tǒng)的第三實(shí)施例進(jìn)行描述。
構(gòu)造本實(shí)施例,以便通過使安全等級(jí)在應(yīng)用程序執(zhí)行環(huán)境等級(jí)上是可變的,適當(dāng)?shù)乇Wo(hù)由運(yùn)行在每個(gè)處理器上的進(jìn)程所提供的服務(wù)。
示出了根據(jù)第三實(shí)施例的安全管理系統(tǒng)的圖39所示為通過將本發(fā)明應(yīng)用于如圖12中的第二實(shí)例所示的并行處理系統(tǒng)而獲得的結(jié)構(gòu),其中,與圖12所示的組件相同的組件由相同的參考數(shù)字表示,以省略對(duì)其的描述。
在根據(jù)第三實(shí)施例的安全管理系統(tǒng)中,處理器P0到Pn具有應(yīng)用程序控制單元(例如,Java(R)虛擬機(jī))4000P0到4000Pn,其為如Java(R)等作為每個(gè)處理器)P0到Pn上的進(jìn)程執(zhí)行的每個(gè)應(yīng)用程序提供執(zhí)行環(huán)境(以便向如Java(R)等應(yīng)用程序提供功能),以及對(duì)安全等級(jí)進(jìn)行管理。
在圖40中示出了在本實(shí)施例中,存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P0到2000Pn的安全內(nèi)容的設(shè)置實(shí)例。在圖40所示的控制文件中,與作為在每個(gè)處理器P0和P1到Pn上執(zhí)行的應(yīng)用程序的進(jìn)程有關(guān)地定義了以下安全內(nèi)容。設(shè)置在這些安全文件2000P0到2000Pn中的安全內(nèi)容可以全部相同或彼此不同。
對(duì)于在處理器P0和P1~Pn中的每一個(gè)上執(zhí)行的每個(gè)任務(wù)的控制等級(jí),將任務(wù)A、B和C設(shè)置為等級(jí)0,將任務(wù)D和F設(shè)置為等級(jí)1,而其他任務(wù)設(shè)置為等級(jí)2。
設(shè)置為針對(duì)每個(gè)控制等級(jí)的訪問控制內(nèi)容的是等級(jí)0,“全部可以訪問”;等級(jí)1,“禁止另外的進(jìn)程發(fā)生系統(tǒng)”;以及等級(jí)2,“禁止與I/O有關(guān)的系統(tǒng)調(diào)用”。
設(shè)置為針對(duì)每個(gè)控制等級(jí)的定量限制內(nèi)容的是等級(jí)0,“標(biāo)準(zhǔn)限制”;等級(jí)1,“最多一個(gè)讀取文件”;以及等級(jí)2,“最多兩個(gè)信號(hào)量可用”。
此外,對(duì)于對(duì)作為應(yīng)用程序的進(jìn)程可以使用的庫的限制,將等級(jí)0設(shè)置為所有庫,將等級(jí)1設(shè)置為標(biāo)準(zhǔn)庫和音樂功能庫,而將等級(jí)2設(shè)置為標(biāo)準(zhǔn)庫。
這里,將參照?qǐng)D41,針對(duì)每個(gè)步驟,描述根據(jù)第三實(shí)施例的安全管理系統(tǒng)的操作。
首先,將對(duì)處理器P0到Pn讀取存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000P1到Pn的情況進(jìn)行描述。
(1)處理器Pn上的應(yīng)用程序控制單元4000Pn向單處理器的OS3000Pn發(fā)布讀取存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件2000Pn的請(qǐng)求。
(2)處理器Pn的單處理器OS 3000Pn訪問外部存儲(chǔ)設(shè)備93,以請(qǐng)求讀取控制文件2000Pn。
(3)單處理器的OS 3000Pn從外部存儲(chǔ)設(shè)備93接收控制文件2000Pn。
(4)處理器Pn的單處理器的OS 3000Pn將所獲得的控制文件2000Pn的安全內(nèi)容移交給其自身處理器的應(yīng)用程序控制單元4000Pn,從而應(yīng)用程序控制單元4000Pn根據(jù)控制文件的安全內(nèi)容,對(duì)在其自身處理器上執(zhí)行的進(jìn)程的安全性進(jìn)行管理。
當(dāng)不能通過一個(gè)讀取請(qǐng)求全部讀取出控制文件2000Pn的內(nèi)容時(shí),可以請(qǐng)求只讀取所需項(xiàng)(例如,在圖41中,每個(gè)進(jìn)程的控制等級(jí)),而每次從進(jìn)程做出處理請(qǐng)求時(shí),可以繼續(xù)讀取其他項(xiàng)。
還可以事先將設(shè)置在控制文件2000P0到2000Pn中的安全內(nèi)容并入到各個(gè)處理器P0到Pn的應(yīng)用程序控制單元4000P0到4000Pn中,而無需如先前那樣,從外部存儲(chǔ)設(shè)備93讀取控制文件。
作為根據(jù)第三實(shí)施例的安全管理系統(tǒng)的操作,將對(duì)根據(jù)這樣讀取的控制文件2000P1的安全內(nèi)容,對(duì)來自進(jìn)程的請(qǐng)求進(jìn)行控制時(shí)所執(zhí)行的操作的每一步進(jìn)行描述。
首先,將參照?qǐng)D42,對(duì)由控制文件2000P1所設(shè)置的安全功能限制來自處理器Pn上的進(jìn)程PP-n(例如,Java(R)應(yīng)用程序)的請(qǐng)求的情況進(jìn)行描述。
(1)處理器Pn上的進(jìn)程PP-n(Java(R)應(yīng)用程序)請(qǐng)求來自處理器Pn上的應(yīng)用程序控制單元4000Pn的服務(wù)功能。
(2)已經(jīng)接收到請(qǐng)求的應(yīng)用程序控制單元4000Pn根據(jù)已獲得的控制文件2000Pn,確定是否應(yīng)當(dāng)執(zhí)行所請(qǐng)求的服務(wù)功能,并在做出不應(yīng)當(dāng)執(zhí)行的確定時(shí),將錯(cuò)誤通知給作為請(qǐng)求源的進(jìn)程PP-n,以及在應(yīng)當(dāng)執(zhí)行時(shí),向作為請(qǐng)求源的進(jìn)程PP-n通知執(zhí)行所述服務(wù)功能的結(jié)果。
例如,在處理器Pn上的特定進(jìn)程PP-n的控制等級(jí)是等級(jí)2,并從所述進(jìn)程PP-n請(qǐng)求使用音樂功能庫的服務(wù)功能的情況下,應(yīng)用程序控制單元4000Pn根據(jù)圖40所示的控制文件的安全內(nèi)容,確定來自進(jìn)程PP-n的請(qǐng)求不可執(zhí)行,并將錯(cuò)誤通知給進(jìn)程PP-n。
可以構(gòu)造本實(shí)施例,與上述第一和第二實(shí)施例相結(jié)合,采用這種結(jié)構(gòu)確保了更為可靠的安全環(huán)境。
盡管在上面的描述中,示出了其中通過控制文件,對(duì)每個(gè)任務(wù)設(shè)置控制等級(jí)的實(shí)例,例如,也可以針對(duì)每個(gè)應(yīng)用程序控制單元4000P0到4000Pn,將安全功能設(shè)置為高或低,以便在應(yīng)用程序控制單元,從不檢查安全性的最低等級(jí)到檢查所有內(nèi)容(請(qǐng)求)的最高等級(jí),對(duì)驗(yàn)證進(jìn)行設(shè)置。
此外,在上述實(shí)施例中,也可以對(duì)系統(tǒng)進(jìn)行構(gòu)造,將處理器P0的應(yīng)用程序控制單元4000P0中的安全內(nèi)容設(shè)置得較低,以防止對(duì)在處理器P0上執(zhí)行的現(xiàn)有應(yīng)用程序(進(jìn)程)的性能加以限制。
同樣,在本實(shí)施例中,通過將存儲(chǔ)在外部存儲(chǔ)設(shè)備93中的控制文件設(shè)置為可以適當(dāng)?shù)剡M(jìn)行改變,并在每次改變控制文件時(shí),使應(yīng)用程序控制單元再次進(jìn)行讀取,可以動(dòng)態(tài)地改變安全內(nèi)容。
在前面的描述中,示出了應(yīng)用程序控制單元4000P0到4000Pn讀取控制文件或事先將安全內(nèi)容并入應(yīng)用程序控制單元4000P0到4000Pn,以便根據(jù)安全內(nèi)容,進(jìn)行控制的情況,下面,作為第四實(shí)施例,將描述除此之外控制進(jìn)程(例如,Java(R)應(yīng)用程序)的執(zhí)行的其他方法。
第四實(shí)施例的結(jié)構(gòu)與第三實(shí)施例相同,與第三實(shí)施例的不同之處在于運(yùn)行在系統(tǒng)上的每個(gè)進(jìn)程(例如,Java(R)應(yīng)用程序)的功能以及應(yīng)用程序控制單元4000P0到4000Pn的功能。
在第四實(shí)施例中,當(dāng)對(duì)由設(shè)置在每個(gè)處理器P0到Pn上以執(zhí)行其請(qǐng)求的功能彼此不同的進(jìn)程(例如,Java(R)應(yīng)用程序)的、提供了進(jìn)程(例如,Java(R)應(yīng)用程序)的執(zhí)行環(huán)境的應(yīng)用程序控制單元(例如,Java(R)虛擬機(jī))4000P0到4000Pn所提供的功能施加了彼此不同的限制時(shí),作為管理所述進(jìn)程的管理器的進(jìn)程(例如,Java(R)應(yīng)用程序)根據(jù)由各個(gè)處理器的應(yīng)用程序控制單元4000P0到4000Pn提供的功能,將所述進(jìn)程(例如,Java(R)應(yīng)用程序)分配給每個(gè)處理器。結(jié)果,其請(qǐng)求的功能各不相同的多個(gè)進(jìn)程(例如,Java(R)應(yīng)用程序)在提供了所請(qǐng)求的功能的各個(gè)處理器中分布式地進(jìn)行操作,有效地防止了性能的惡化。
例如,限制應(yīng)用程序控制單元(例如,Java(R)虛擬機(jī))的功能的方法包括并入對(duì)每個(gè)處理器上的每個(gè)應(yīng)用程序控制單元(例如,Java(R)虛擬機(jī))的功能進(jìn)行限制的不同簡檔表(profile)的方法,以及限制可以被加載的類文件或可用庫的方法。
此外,通過具有并行處理系統(tǒng)、OS服務(wù)單元、控制處理中繼單元、代理單元和進(jìn)程間通信單元的相應(yīng)功能的并行處理程序,可以實(shí)現(xiàn)上述根據(jù)各個(gè)實(shí)施例的并行處理系統(tǒng),此外,通過具有OS服務(wù)單元和應(yīng)用程序控制單元的功能的安全管理程序,可以實(shí)現(xiàn)安全管理系統(tǒng)。將這些程序存儲(chǔ)在磁盤、半導(dǎo)體存儲(chǔ)器或其他記錄介質(zhì)中,并且從記錄介質(zhì)加載到計(jì)算機(jī)處理設(shè)備上以控制計(jì)算機(jī)處理設(shè)備的操作,從而實(shí)現(xiàn)上述的相應(yīng)功能。
盡管已經(jīng)參考前述的優(yōu)選實(shí)施例和特定實(shí)例描述了本發(fā)明,本發(fā)明并不一定局限于上述實(shí)施例和特定實(shí)例,并且可以在本發(fā)明的技術(shù)思想的范圍內(nèi)在變體中實(shí)現(xiàn)。
如前所述,在利用單處理器的OS的并行處理器系統(tǒng)中,其中在多處理器上操作單處理器的OS和現(xiàn)有應(yīng)用程序,而不對(duì)其進(jìn)行修改,以使現(xiàn)有應(yīng)用程序能夠?qū)崿F(xiàn)利用多處理器的并行處理,本發(fā)明實(shí)現(xiàn)了能夠通過軟件單獨(dú)控制每個(gè)處理器的安全性的安全管理系統(tǒng),同時(shí)并未引起處理器性能上的惡化。
此外,通過有選擇地設(shè)置向工作單元提供單處理器OS服務(wù)的OS服務(wù)單元、并入單處理器OS中的安全擴(kuò)展單元和相對(duì)于工作單元進(jìn)行安全控制的應(yīng)用程序控制單元,可以在用戶級(jí)、OS級(jí)或應(yīng)用程序執(zhí)行環(huán)境級(jí)實(shí)現(xiàn)安全控制。
盡管在用戶級(jí)安全管理中,庫具有單處理器結(jié)構(gòu),需要對(duì)單處理器OS進(jìn)行修改,而本發(fā)明實(shí)現(xiàn)了用戶級(jí)的安全管理,而無需修改OS。
此外,盡管傳統(tǒng)的OS級(jí)安全管理需要在不同安全等級(jí)的執(zhí)行中的最嚴(yán)重級(jí)的操作,惡化了系統(tǒng)性能,而本發(fā)明能夠通過每個(gè)處理器的安全擴(kuò)展單元,針對(duì)每個(gè)處理器設(shè)置安全等級(jí),從而消除了對(duì)系統(tǒng)性能的惡化。
此外,盡管在執(zhí)行如Java(R)應(yīng)用程序等應(yīng)用程序的環(huán)境下執(zhí)行傳統(tǒng)的安全管理時(shí),運(yùn)行其安全等級(jí)彼此不同的多個(gè)應(yīng)用程序的需要使系統(tǒng)性能退化并增加了所需的頻率,從而增加了功率消耗,而本發(fā)明消除了這些缺點(diǎn),這是因?yàn)獒槍?duì)每個(gè)處理器或每個(gè)應(yīng)用程序,進(jìn)行安全管理。
盡管已經(jīng)針對(duì)典型實(shí)施例示出和描述了本發(fā)明,本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行前述和各種其他的改變、省略和添加。因此,本發(fā)明不應(yīng)該被理解為限定于以上所述的特定實(shí)例,而是可以包括針對(duì)所附權(quán)利要求所提出的特征所涵蓋的范圍及其等價(jià)物內(nèi)能夠具體實(shí)現(xiàn)的所有可能的實(shí)施例。
權(quán)利要求
1.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并控制能夠在運(yùn)行在所述第一處理器側(cè)的處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為所述第二處理器側(cè)的處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理;在所述并行處理系統(tǒng)上,向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元,響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
2.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元,響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
3.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元,響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
4.根據(jù)權(quán)利要求1所述的安全管理系統(tǒng),其特征在于利用事先并入所述OS服務(wù)單元中的針對(duì)每個(gè)所述處理器或每個(gè)所述工作單元的安全內(nèi)容,所述OS服務(wù)單元響應(yīng)來自所述工作單元的處理請(qǐng)求,根據(jù)所述安全內(nèi)容,相對(duì)于所述處理請(qǐng)求,進(jìn)行安全性保護(hù)。
5.根據(jù)權(quán)利要求1所述的安全管理系統(tǒng),其特征在于利用設(shè)置在控制文件中的針對(duì)每個(gè)所述處理器或每個(gè)所述工作單元的安全內(nèi)容,所述OS服務(wù)單元響應(yīng)來自所述工作單元的處理請(qǐng)求,根據(jù)所述控制文件的安全內(nèi)容,相對(duì)于所述處理請(qǐng)求進(jìn)行安全性保護(hù)。
6.根據(jù)權(quán)利要求5所述的安全管理系統(tǒng),其特征在于所述控制文件針對(duì)每個(gè)所述處理器,設(shè)置其等級(jí)根據(jù)每個(gè)所述處理器變化的安全內(nèi)容,并存儲(chǔ)在所述并行系統(tǒng)上的外部存儲(chǔ)設(shè)備中,每個(gè)所述處理器的所述OS服務(wù)單元從所述外部存儲(chǔ)設(shè)備讀取每個(gè)相應(yīng)的所述控制文件,以便響應(yīng)來自所述工作單元的請(qǐng)求,控制安全功能。
7.根據(jù)權(quán)利要求6所述的安全管理系統(tǒng),其特征在于當(dāng)改變存儲(chǔ)在所述外部存儲(chǔ)設(shè)備中的所述控制文件時(shí),相應(yīng)的所述處理器的所述OS服務(wù)單元再次讀取改變后的所述控制文件。
8.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并控制能夠在運(yùn)行在所述第一處理器側(cè)的處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為所述第二處理器側(cè)的處理器上的新的工作單元,從而由所述多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,并入在所述單處理器OS中的安全擴(kuò)展單元響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
9.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由所述多處理器相對(duì)于應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,并入在所述單處理器OS中的安全擴(kuò)展單元響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
10.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,并入在所述單處理器OS中的安全擴(kuò)展單元響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
11.根據(jù)權(quán)利要求8所述的安全管理系統(tǒng),其特征在于將所述安全擴(kuò)展單元作為模塊并入所述單處理器OS中,以響應(yīng)所述處理請(qǐng)求,相對(duì)于所述工作單元對(duì)所述單處理器OS的系統(tǒng)調(diào)用請(qǐng)求,控制安全功能。
12.根據(jù)權(quán)利要求8所述的安全管理系統(tǒng),其特征在于利用事先并入所述安全擴(kuò)展單元中的針對(duì)每個(gè)所述處理器或每個(gè)所述工作單元的安全內(nèi)容,所述安全擴(kuò)展單元響應(yīng)來自所述工作單元的處理請(qǐng)求,根據(jù)所述安全內(nèi)容,相對(duì)于所述處理請(qǐng)求,進(jìn)行安全性保護(hù)。
13.根據(jù)權(quán)利要求8所述的安全管理系統(tǒng),其特征在于利用設(shè)置在控制文件中的針對(duì)每個(gè)所述處理器或每個(gè)所述工作單元的安全內(nèi)容,所述安全擴(kuò)展單元響應(yīng)來自所述工作單元的處理請(qǐng)求,根據(jù)所述控制文件的安全內(nèi)容,相對(duì)于所述處理請(qǐng)求,進(jìn)行安全性保護(hù)。
14.根據(jù)權(quán)利要求13所述的安全管理系統(tǒng),其特征在于所述控制文件設(shè)置其等級(jí)根據(jù)每個(gè)所述處理器變化的安全內(nèi)容,并存儲(chǔ)在所述并行系統(tǒng)上的外部存儲(chǔ)設(shè)備中,每個(gè)所述處理器的所述安全擴(kuò)展單元從所述外部存儲(chǔ)設(shè)備讀取每個(gè)相應(yīng)的所述控制文件,以便響應(yīng)來自所述工作單元的請(qǐng)求,控制安全功能。
15.根據(jù)權(quán)利要求14所述的安全管理系統(tǒng),其特征在于當(dāng)改變存儲(chǔ)在所述外部存儲(chǔ)設(shè)備中的所述控制文件時(shí),相應(yīng)的所述處理器的所述安全擴(kuò)展單元再次讀取改變后的所述控制文件。
16.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并控制能夠在運(yùn)行在所述第一處理器側(cè)的處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為所述第二處理器側(cè)的處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,提供了所述工作單元的執(zhí)行環(huán)境的應(yīng)用程序控制單元,響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
17.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,提供了所述工作單元的執(zhí)行環(huán)境的應(yīng)用程序控制單元,響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
18.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,提供了所述工作單元的執(zhí)行環(huán)境的應(yīng)用程序控制單元,響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
19.根據(jù)權(quán)利要求16所述的安全管理系統(tǒng),其特征在于利用事先并入所述應(yīng)用程序控制單元中的針對(duì)每個(gè)所述處理器或每個(gè)所述工作單元的安全內(nèi)容,所述應(yīng)用程序控制單元響應(yīng)來自所述工作單元的處理請(qǐng)求,根據(jù)所述安全內(nèi)容,相對(duì)于所述處理請(qǐng)求,進(jìn)行安全性保護(hù)。
20.根據(jù)權(quán)利要求16所述的安全管理系統(tǒng),其特征在于利用設(shè)置在控制文件中的針對(duì)每個(gè)所述處理器或每個(gè)所述工作單元的安全內(nèi)容,所述應(yīng)用程序控制單元響應(yīng)來自所述工作單元的處理請(qǐng)求,根據(jù)所述控制文件的安全內(nèi)容,相對(duì)于所述處理請(qǐng)求,進(jìn)行安全性保護(hù)。
21.根據(jù)權(quán)利要求20所述的安全管理系統(tǒng),其特征在于所述控制文件設(shè)置其等級(jí)根據(jù)每個(gè)所述處理器變化的安全內(nèi)容,并存儲(chǔ)在所述并行系統(tǒng)上的外部存儲(chǔ)設(shè)備中,每個(gè)所述處理器的所述應(yīng)用程序控制單元從所述外部存儲(chǔ)設(shè)備讀取每個(gè)相應(yīng)的所述控制文件,以便響應(yīng)來自所述工作單元的請(qǐng)求,控制安全功能。
22.根據(jù)權(quán)利要求21所述的安全管理系統(tǒng),其特征在于當(dāng)改變存儲(chǔ)在所述外部存儲(chǔ)設(shè)備中的所述控制文件時(shí),相應(yīng)的所述處理器的所述應(yīng)用程序控制單元再次讀取改變后的所述控制文件。
23.根據(jù)權(quán)利要求16所述的安全管理系統(tǒng),其特征在于所述工作單元是Java(R)應(yīng)用程序。
24.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并控制能夠在運(yùn)行在所述第一處理器側(cè)的處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為所述第二處理器側(cè)的處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元、并入在所述單處理器OS中的安全擴(kuò)展單元、以及相對(duì)于所述工作單元控制安全功能的應(yīng)用程序控制單元中的至少一個(gè)響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
25.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元、并入在所述單處理器OS中的安全擴(kuò)展單元、以及相對(duì)于所述工作單元控制安全功能的應(yīng)用程序控制單元中的至少一個(gè)響應(yīng)來自所述工作單元的處理請(qǐng)求,控制相對(duì)于所述處理請(qǐng)求的安全功能。
26.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并控制能夠在運(yùn)行在所述第一處理器側(cè)的處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為第二處理器側(cè)的處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,針對(duì)每個(gè)所述處理器,對(duì)向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元的功能加以限制,以限制來自運(yùn)行在每個(gè)所述處理器上的所述工作單元的處理請(qǐng)求。
27.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,針對(duì)每個(gè)所述處理器,對(duì)向所述工作單元提供所述單處理器OS服務(wù)的OS服務(wù)單元的功能加以限制,以限制來自運(yùn)行在每個(gè)所述處理器上的所述工作單元的處理請(qǐng)求。
28.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,所述多處理器邏輯上被分為兩組,第一處理器側(cè)和第二處理器側(cè),并控制能夠在運(yùn)行在所述第一處理器側(cè)的處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為所述第二處理器側(cè)的處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,在執(zhí)行其所請(qǐng)求的功能不同的工作單元時(shí),根據(jù)由向所述工作單元提供執(zhí)行環(huán)境的應(yīng)用程序控制單元所提供的功能,選擇并分配執(zhí)行所述工作單元的處理器。
29.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中并行處理系統(tǒng)在多處理器上運(yùn)行單處理器OS和應(yīng)用程序,并控制能夠在運(yùn)行在一個(gè)處理器上的所述應(yīng)用程序內(nèi)并行化的工作單元,作為其他處理器上的新的工作單元,從而由所述多處理器相對(duì)于所述應(yīng)用程序執(zhí)行并行處理,在所述并行處理系統(tǒng)上,在執(zhí)行其所請(qǐng)求的功能不同的工作單元時(shí),根據(jù)由向所述工作單元提供執(zhí)行環(huán)境的應(yīng)用程序控制單元所提供的功能,選擇并分配執(zhí)行所述工作單元的處理器。
30.一種利用單處理器的OS的并行處理系統(tǒng)中的安全管理系統(tǒng),其中在作為多處理器上的任務(wù)運(yùn)行單處理器OS和工作單元的并行處理系統(tǒng)上,在執(zhí)行其所請(qǐng)求的功能不同的工作單元時(shí),根據(jù)由向所述工作單元提供執(zhí)行環(huán)境的應(yīng)用程序控制單元所提供的功能,選擇并分配執(zhí)行所述工作單元的處理器。
31.根據(jù)權(quán)利要求28所述的安全管理系統(tǒng),其特征在于所述工作單元是Java(R)應(yīng)用程序,并且通過將限制所述Java(R)應(yīng)用程序的簡檔表并入作為每個(gè)所述處理器的應(yīng)用程序控制單元的每個(gè)Java(R)虛擬機(jī)中,或者通過限制可加載類文件,來執(zhí)行其所請(qǐng)求的功能不同的所述Java(R)應(yīng)用程序。
全文摘要
在多處理器上運(yùn)行單處理器OS和應(yīng)用程序的并行處理系統(tǒng)上,相對(duì)于應(yīng)用程序,通過多處理器實(shí)現(xiàn)了并行處理,向能夠在應(yīng)用程序內(nèi)并行化的工作單元提供單處理器OS服務(wù)的OS服務(wù)單元,響應(yīng)來自工作單元的處理請(qǐng)求,控制相對(duì)于處理請(qǐng)求的安全功能。
文檔編號(hào)G06F9/46GK1577316SQ200410069890
公開日2005年2月9日 申請(qǐng)日期2004年7月15日 優(yōu)先權(quán)日2003年7月18日
發(fā)明者井上浩明, 伊藤義行, 酒井淳嗣, 枝廣正人 申請(qǐng)人:日本電氣株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1