JP2008186357A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2008186357A
JP2008186357A JP2007021123A JP2007021123A JP2008186357A JP 2008186357 A JP2008186357 A JP 2008186357A JP 2007021123 A JP2007021123 A JP 2007021123A JP 2007021123 A JP2007021123 A JP 2007021123A JP 2008186357 A JP2008186357 A JP 2008186357A
Authority
JP
Japan
Prior art keywords
task
database
data processing
processor
management program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007021123A
Other languages
English (en)
Other versions
JP4785142B2 (ja
Inventor
Norimasa Otsuki
典正 大槻
Yasuhiko Saito
靖彦 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007021123A priority Critical patent/JP4785142B2/ja
Priority to US11/970,505 priority patent/US8219992B2/en
Publication of JP2008186357A publication Critical patent/JP2008186357A/ja
Application granted granted Critical
Publication of JP4785142B2 publication Critical patent/JP4785142B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Abstract

【課題】マルチOS及びマルチプロセッサのデータ処理環境においてプロセッサ間通信を行うソフトウェアの開発コストを下げる。
【解決手段】ハードウェア構成やOSの相違を隠蔽するための管理プログラム(MNG0〜MNG2)をOS毎に動作させて常駐させる。この管理プログラムが操作するデータベース(MBD)を用意し、このデータベースは、OSの管理のもとで処理されるハードウェア制御やソフトウェア処理のためのタスクと所属OSとの対応関係等を複数のOSに亘って定義する。管理プログラムがタスクの起動要求を検出すると、そのタスクに対応するエントリをデータベースから抽出する。抽出されたエントリが保有する所属OSが自OSであれば当該OSの管理のもとにそのタスクを処理させ、抽出されたエントリが保有する所属OSが他OSであればその起動要求を当該他OSのプロセッサに渡して当該タスクを処理させる。
【選択図】図1

Description

本発明は、複数のOS(Operating System)と複数のプロセッサを用いたデータ処理システムに関し、例えば複数のプロセッサと周辺回路デバイスをオンチップしたシステム・オン・チップ(SOC)のLSI(半導体集積回路)に適用して有効な技術に関する。
1つのデータ処理システムに要求されるアプリケーション規模が増大されることにより、マルチプロセッサチップ、或いはマルチプロセッサを有するSOCのLSIなどのように、複数のプロセッサの機能を統合的に扱うシステム構成が用いられるようになってきている。このようなシステムにおいては、そのシステムを構成する複数のプロセッサ、周辺入出力回路及びメモリなどを統合的に管理する必要がある。この統合管理においては一のOSの管理の元で動作するプロセッサが、他のOSの管理の元で動作するプロセッサに特定のタスクを処理させたいとき、それらプロセッサ間での通信を行わなければならない。マルチプロセッサシステムにおけるプロセッサ間通信には、RPC(リモート・プロシージャ・コール)のような手続を利用することができる。特許文献1にはRPCを用いるファイルシステムが例示される。特許文献2には複数のデータプロセッサチップの一方のチップのCPUから他方のチップの内部周辺回路デバイスをアクセス可能にするようなプロセッサ間通信技術について記載がある。
特開平8−328935号公報 国際公開第02/061591号パンフレット
RPCの手続を利用すればソフトウェア開発者は通信プロトコルを記述する必要はない。しかしながら、アプリケーションプログラム上において通信を行うプロセッサを特定して、RPCを用いて通信することを個別に明示しなければならない。また、RPCにより異なるOS間の通信に対応するのは難しい。異なるOSのもとで動作するプロセッサ間の通信を行うためには双方のOSに関するAPI(アプリケーション・プログラム・インタフェース)を満足させるようにプログラムを個別に記述しなければならない。APIとは、あるOS等のプラットフォーム向けのソフトウェアを開発するときに使用できる命令や関数の集合更にはそれを利用するためのプログラム上の手続きを定めた規約である。
このように、プロセッサ間通信を行うには通信部分をソフトウェア設計者が意識して記述する必要がある。それ故に、異なるプロセッサとの間で通信や制御を行うためのソフトウェアが複雑となり、ソフトウェア開発コスト増大の要因となる。また、システムを構成するプロセッサや周辺回路デバイスの増減により、プロセッサ間通信を制御する部分のソフトウェアを記述し直すことが必要になり、ソフトウェア移植性が低くなる。異種OS間の通信を行う際には統一的なRPCプロトコルが存在しないため、特別なRPCプロトコルを新たに開発する必要がある。
本発明の目的は、マルチOS及びマルチプロセッサが混在するデータ処理環境において融通性の高いプロセッサ間通信が可能なデータ処理システムを実現することにある。
本発明の別の目的は、マルチOS及びマルチプロセッサが混在するデータ処理環境においてプロセッサ間通信を行うソフトウェアの開発コストが低減されるデータ処理システムを実現することにある。
本発明の更に別の目的は、マルチOS及びマルチプロセッサが混在するデータ処理環境においてプロセッサ間通信を行うソフトウェアの移植コストが低減されるデータ処理システムを実現することにある。
本発明の更に別の目的は、マルチOS及びマルチプロセッサが混在するデータ処理環境において特定のハードウェアの使用不能状態に対しても当該ハードウェアの使用に匹敵するタスク処理を行なうことができるデータ処理システムを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、マルチプロセッサを有し複数のOSが動作し得るデータ処理システムにおいて、ハードウェア構成やOSの相違を隠蔽するための管理プログラムをOS毎に動作させて常駐させるようにする。この管理プログラムが操作するデータベースを用意し、このデータベースは、OSの管理のもとで処理されるハードウェア制御やソフトウェア処理のためのタスクと所属OSとの対応関係等を複数のOSに亘って定義する。管理プログラムがタスクの起動要求を検出すると、そのタスクに対応するエントリをデータベースから抽出する。抽出されたエントリが保有する所属OSが自OSであれば当該OSの管理のもとにそのタスクを処理させ、抽出されたエントリが保有する所属OSが他OSであればその起動要求を当該他OSのプロセッサに渡して当該タスクを処理させる。これによれば、他のOSに対する手続呼び出しは、管理プログラムを実行するプロセッサ間での通信という共通化された形式で実現される。ソフトウェア設計者はOS間の通信が発生することを意識せずにソフトウェアを記述すればよい。データ処理システムの周辺回路デバイス等のハードウェアの変更に対し逐一ソフトウェアを変更しなくても済み、OS間通信の部分については管理データベースのエントリデータの変更で対処することが可能になる。異種OS間の通信であってもその通信プロトコルを意識する必要はない。異種OS間のソフトウェア移植も容易となる。
また、ハードウェア制御を行うタスクと当該タスクの処理をソフトウェア処理で行なうタスクとの夫々に対応するデータベースエントリを用意し、前者のタスクの起動が要求されたとき、管理プログラムに基づいて双方のタスクに対応するデータベースエントリを抽出するようにしておけば、前者のデータベースエントリからハードウェアの使用不能が検出されたときであっても、後者のデータベースエントリをその所属OSの管理プログラムが利用できるようにする。これにより、ハードウェア制御を行うタスクに代えて当該タスクの処理をソフトウェアで実現可能になる。低消費電力のために一部ハードウェアの動作を停止させた状態でも当該ハードウェアを用いる処理に匹敵するタスク処理をソフトウェアで実現できる。システムの機能を犠牲にすることなくデータ処理システムの低消費電力を実現可能になる。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、マルチOS及びマルチプロセッサが混在するデータ処理システムにおいて融通性の高いプロセッサ間通信が可能である。
また、マルチOS及びマルチプロセッサが混在するデータ処理システムにおいてプロセッサ間通信を行うソフトウェアの開発コストが低減される。
また、マルチOS及びマルチプロセッサが混在するデータ処理システムにおいてプロセッサ間通信を行うソフトウェアの移植コストが低減される。
また、マルチOS及びマルチプロセッサが混在するデータ処理システムにおいて特定のハードウェアの使用不能状態に対しても当該ハードウェアの使用に匹敵するタスク処理を行なうことができる。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るデータ処理システムは、複数のOSと複数のプロセッサを用いたシステムであり、前記OSの管理のもとで処理されるタスクとその所属OSとの対応関係を複数のOSに亘って定義したデータベース(MDB)と、前記OS毎に動作される管理プログラム(MNG0〜MNG2)と、を有する。一の管理プログラムを実行するプロセッサは、前記タスクの起動が要求されたとき、前記データベースから当該タスクに対応するデータベースエントリを検索し、それによって選ばれたデータベースエントリの所属OSが前記一の管理プログラムの所属OSであるときは当該所属OSの管理のもとで当該タスクを処理し、前記選ばれたデータベースエントリの所属OSが別の管理プログラムの所属OSであるときは前記別の管理プログラムを実行するプロセッサに必要な情報、例えば前記選ばれたデータベースエントリの情報や前記タスクの起動要求に応ずる情報を渡して、前記別の管理プログラムの所属OSによる管理のもとで当該タスクを処理させる。
上記した手段によれば、タスクの起動要求を受けたOS側から他のOS側に対する手続呼び出しは、管理プログラムを実行するプロセッサ間での通信という共通化された形式で実現される。ソフトウェア設計者はOS間の通信が発生することを意識せずにソフトウェアを記述すればよい。データ処理システムの周辺回路デバイス等のハードウェアの変更に対し逐一ソフトウェアを変更しなくても済み、OS間通信の部分については管理データベースのエントリデータの変更で対処することが可能になる。異種OS間の通信であってもその通信プロトコルを意識する必要はない。異種OS間のソフトウェア移植も容易である。
前記複数のプロセッサは単一チップに形成されていてもよいし、複数チップに形成されていてもよい。
《双方向通信》一つの具体的な形態として、前記一の管理プログラムを実行するプロセッサは前記別の管理プログラムを実行するプロセッサと双方向通信可能である。原始的にタスクの起動要求を受けたOS側から他のOS側で処理されたタスクの結果を受け取ることができる。
《データベースエントリの構造》別の具体的な形態として、前記データベースエントリは、複数のOSの複数のタスクを夫々区別するためのグローバルタスクID、グローバルタスク名、当該タスクの所属OS、所属OSにより割り当てられた当該タスクのタスクID、及び当該タスクの稼働状況を夫々格納する領域を有し、前記タスクID及びタスクの稼働状況を夫々格納する領域は前記管理プログラムによって書換え可能な領域である。これにより管理プログラムはタスクの稼働状況を示す書き換え可能な領域からシステムの状態をダイナミックに把握して、起動が要求されたタスクの処理を、引き渡し可能な何れのOSの管理プログラムに引き渡すかを制御することが可能になる。
前記データベースエントリは、タスク実行環境を制限するタスク保護情報の格納領域を更に有してよい。例えば保護情報は所属OS以外からの処理要求に答えない、或いは特定のOSからの処理要求に対してだけ答えるというような制限である。
前記データベースエントリは、前記双方向通信に利用するバッファサイズを規定するバッファサイズ情報の格納領域を更に有してよい。前記双方向通信における情報のオーバーフロー若しくは取りこぼしを未然に防止することができる。
《データベース初期化》更に具体的な形態として、前記プロセッサはシステムの初期化指示に応答して起動するOSの下で、対応する管理プログラムを実行することによって前記データベースの可変領域に対する初期設定を行い、管理プログラムによる管理タスクは常駐タスクとされ、当該OSのもとで動作するプロセッサに常駐する。これにより、データベースの可変領域は各管理プログラムに対応するOSの制御を受ける夫々のプロセッサの稼働状況とローカルなタスクIDが初期設定される。管理プログラムが常駐タスクとして動作されるから、タスクの起動が要求されるたびに管理プログラムを立ち上げる手間が無く、即時応答性がある。
OS毎に動作される管理プログラムは、そのOSが所属するデータベースエントリの可変領域に対する更新を行う。データ処理システムの低消費電力モードにおいて定特定のOSの管理下にあるプロセッサ又は周辺回路デバイスの動作が停止されるようなとき、それを利用して実行されるタスクに対応されるデータベースエントリの稼働状況を示す領域は「動作不可」に書換えられる。
《検索キー》前記グローバルタスク名はタスク名に対応される。前記管理プログラムを実行するプロセッサは、例えば前記グローバルタスク名を検索キーとして前記データベースの検索を行う。起動が要求されたタスクに対して所属OSの異なる同種のタスクは複数存在することが想定される。それらには同一のグローバルタスク名を付与し、個別のグローバルタスクIDSを付与しておけば、その同種のタスクに係るデータベースエントリを選択するための判定因子として、前記所属OS、タスク保護情報、稼動状況を利用することにより、データ処理上最適なタスクを起動することが可能になる。
《優先順位》前記データベースエントリは優先順位を格納する領域を更に有する。グローバルタスクIDが相違しグローバルタスク名が同一の複数のデータベースエントリ間においては前記優先順位格納領域で指定される優先順位が相違される。前記優先順位を前記判定因子の一つとして利用することができる。
例えば、前記管理プログラムを実行するプロセッサは、前記検索により複数のデータベースエントリが選ばれたとき、稼動可能なタスが複数存在する場合には優先順位格納領域で特定される優先順位が最も高いデータベースエントリを選べばよい。
《ソフト代替》グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクは他のタスクが利用するハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクとされる。例えば前記他のタスクが利用する周辺回路デバイスやプロセッサ等のハードウェアの動作が不能になったとき、そのタスクに対応するデータベースエントリには「稼働状況=動作不可」という情報が反映される。このようなときにも、ハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクを起動させることができる。要するに、故障や低消費電力モード等により特定のプロセッサ及び周辺回路デバイス等のハードウェアの動作が不能になっているとき、それによるハードウェア処理のタスクに代えて、ソフトウェア処理によるタスクを起動させることができる。
《代替ハード》グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクと他のタスクは所属OSが相違される。前記複数のタスクによる処理を規定するプログラムを別々のOSに則して予め用意しておくことにより、一のタスクを実行するプロセッサの動作が不能になっても、その処理に対応する他のタスクを所属OSの異なる他のプロセッサに処理させることができる。要するに、故障や低消費電力モード等により特定のプロセッサが動作不能なとき、所属OSの異なる別のプロセッサに同等のタスク処理を振り当てることができる。
〔2〕《ソフト代替》別の観点によるデータ処理システムは、複数のOSと複数のプロセッサを用いたシステムであって、前記OSの管理のもとで処理されるタスクとその所属OSとの対応関係を複数のOSに亘って定義したデータベースと、前記OS毎に動作される管理プログラムと、を有する。前記データベースエントリは、複数のOSの複数のタスクを夫々区別するためのグローバルタスクID、グローバルタスク名、当該タスクの所属OS、所属OSにより割り当てられた当該タスクのタスクID、当該タスクのタスクの稼働状況及び当該タスクの優先順位を夫々格納する領域を有する。グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクは他のタスクが利用するハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクである。一の管理プログラムを実行するプロセッサは、前記タスクの起動が要求されたとき、前記データベースから当該タスクに対応するデータベースエントリを検索し、それによって選ばれたデータベースエントリのタスクが前記一のタスクと前記他のタスクであるとき、稼動可能なタスクの内で前記優先順位の最も高いタスクをその所属OSによる管理のもとで処理させる。
故障や低消費電力モード等により特定のプロセッサ及び周辺回路デバイスが動作不能なときそれによるハードウェア処理のタスクに代えて、別のプロセッサのソフトウェア処理によるタスクを起動させることができる。双方ともに稼動可能なときは優先順位に従って、ハードウェアによる処理を行なうタスクを起動させることができる。部分的な故障等に対してシステムを保全することができ、また、システムの機能を犠牲にすることなくデータ処理システムの低消費電力を実現可能になる。
〔3〕《代替ハード》別の観点によるデータ処理システムは、複数のOSと複数のプロセッサを用いたシステムであって、前記OSの管理のもとで処理されるタスクとその所属OSとの対応関係を複数のOSに亘って定義したデータベースと、前記OS毎に動作される管理プログラムと、を有する。前記データベースエントリは、複数のOSの複数のタスクを夫々区別するためのグローバルタスクID、グローバルタスク名、当該タスクの所属OS、所属OSにより割り当てられた当該タスクのタスクID、当該タスクの稼働状況及び当該タスクの優先順位を夫々格納する領域を有する。グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクと他のタスクは所属OSが相違される。一の管理プログラムを実行するプロセッサは、前記タスクの起動が要求されたとき、前記データベースから当該タスクに対応するデータベースエントリを検索し、それによって選ばれたデータベースエントリのタスクが前記一のタスクと前記他のタスクであるとき、稼動可能なタスクの内で前記優先順位の最も高いタスクをその所属OSによる管理のもとで処理させる。
故障や低消費電力モード等により特定のプロセッサが動作不能なとき、所属OSの異なる別のプロセッサに同等のタスク処理を振り当てることができる。双方ともに稼動可能なときは優先順位に従って、ハードウェアによる処理を行なうタスクを起動させることができる。部分的な故障等に対してシステムを保全することができ、また、システムの機能を犠牲にすることなくデータ処理システムの低消費電力を実現可能になる。
2.実施の形態の詳細
次に、実施の形態について更に詳述する。
図2は本発明に係るデータ処理システムのハードウェアブロック図である。同図に示されるデータ処理システムSYSは、代表的に示された複数個のプロセッサMPU0〜MPUi、周辺回路デバイスIP0〜IPm、及びメモリMEMを有し、それらは内部バスBUSに接続される。内部バスBUSの構成は特に制限されず、スプリットトランザクションバスであってもよいし、排他制御に行ってアービトレーションが行われるバスであってもよい。周辺デバイスIP0〜IPmはDMAC(ダイレクト・メモリ・アクセス・コントローラ)、SCI(シリアル・コミュニケーション・インタフェース)、LCD(液晶ドライバ)、VIO(ビデオ入出力回路)、GRF(グラフィックプロセッサ)、MEMCNT(メモリコントローラ)、DSP(ディジタル信号処理プロセッサ)、TMR(タイマ・カウンタ)等、何れでもよい。
プロセッサMPU0〜MPUiは、少なくとも中央処理装置を含み、必要に応じてアドレス変換バッファ、キャッメモリ、及びその他のロジック回路を備える。特に制限されないが、プロセッサMPU0〜MPUiは異なるOSのもとでアプリケーションプログラム(ユーザプログラム)を実行する。このデータ処理システムはマルチOS・マルチプロセッサのシステムであり、シングルチップで形成されたSOCの半導体集積回路として構成される。
図1には本発明に係るデータ処理システムSYSのソフトウェア構成が例示される。ここでは4個のプロセッサMPU0〜3、5個の周辺回路デバイスIP0〜IP4、及びメモリMEMをハードウェア(HRD)として備える場合を一例とする。特に制限されないが、ソフトウェアは、オペレーティングシステム(OS)、管理プログラム(MNG)、アプリケーションプログラム(APL)、ドライバソフトウェア(DRV)から構成される。ソフトウェアの核となるオペレーティングシステムとしてOS0〜OS2が用いられる。アプリケーションプログラムAPL0,APL1はオペレーティングシステムOS0の管理のもとで実行される。アプリケーションプログラムAPL2,APL3はオペレーティングシステムOS1の管理のもとで実行され、アプリケーションプログラムAPL4はオペレーティングシステムOS2の管理のもとで実行される。ここではアプリケーションプログラムはユーザタスク(単にタスクとも記す)の起動を要求するプログラムモジュールと位置付ける。更に、起動されたタスクの処理を規定するプログラムモジュールをドライバソフトウェアとして位置付ける。ドライバソフトウェアには、周辺回路デバイスを利用するために実行されるものだけでなく、プロセッサが専らソフトウェアだけで実現する処理を規定するためのプログラムも含む。要するに、アプリケーションプログラムは上位のユーザプログラム、ドライバソフトウェアは下位のユーザプログラムとして位置付けることができる。図2では、DRVi0〜DRVi4は周辺回路デバイスを用いる処理のためのドライバソフトウェア、DRVm0〜DRVm3はプロセッサが専らソフトウェアだけで実現する処理のためのドライバソフトウェアである。ドライバソフトウェアDRVm0〜DRVm3の夫々は複数のプログラムの集合であってもよい。
オペレーティングシステムOS0〜OS2は複数のプロセッサの動作を制御する対称型マルチプロセッサOSか、1つのプロセッサを制御するOSかによらず、各OSで一つのプロセッサが起動されるものとする。
管理プログラムMNG0〜MNG2は対応するオペレーティングシステムOS0〜OS2のもとで起動し、起動後は常駐タスクとして機能する。管理プログラムMNG0〜MNG2は、対応するオペレーティングシステムOS0〜OS2のもとでアプリケーションプログラムがタスクの起動を要求したとき、管理データベースを参照ならびに操作し、且つ相互に連携して、タスクの起動を制御する。管理プログラムMNG0〜MNG2の相互連携が、アプリケーションプログラムにおいてシステムのハードウェア構成やOSの相違を隠蔽可能とする。管理プログラムは、前記相互連携を行うのに、図3に例示されるように複数のオペレーティングシステムOS1〜OS3によるメモリ管理機能の下で夫々参照可能なメモリMEM上の共有領域COMを通信バッファとして利用する。EXC0〜EXC2は対応するオペレーティングシステムOS1〜OS3が管理する専用領域である。特に制限されないが、共有領域COMに管理データベースMDBが形成される。以下、管理プログラムと管理データベースの機能について詳述する。
図4には管理データベースの一つのエントリデータが例示される。管理データベースMDBは複数のデータベースエントリed_0〜ed_nを有する。それぞれのデータベースエントリed_0〜ed_nは、OSの管理のもとで処理されるハードウェア制御やソフトウェア処理のためのタスクと所属OSとの対応関係等を複数のOSに亘って定義する。図4に従えば、データベースエントリが備えるデータ項目は以下のとおりである。管理データベースMDBにおいては複数のOSの複数のタスクを夫々グローバルタスク、すなわちサーバントと称して管理する。サーバントはタスクと一対一対応され、それぞれはサーバントID(グローバルタスクID)によって区別される。サーバンドID毎にそのタスクを規定するためのハードウェア制御やソフトウェア処理のための処理プログラムであるドライバソフトウェアに対応付けられる。本明細書においてOSの管理のもとで起動が要求されるタスクは管理プログラムと管理データベースを介してサーバントさらにはドライバソフトウェアに対応付けられる。
サーバントにはサーバント名が付される。ここではサーバント名はOSの管理下におけるタスク名に一致される。この関係は、OSや管理プログラムのAPI(アプリケーション・プログラム・インタフェース)をプログラム開発において参照することによって担保されているものとする。サーバント名が同じであってもサーバントIDは区別される。サーバント名が同じサーバント間での処理の優先順位は優先順位のデータ項目によって規定される。サーバントには対応するタスクが管理を受ける所属OSが指定される。入力バッファサイズおよび出力バッファサイズのデータ項目は管理プログラム間で行われる通信に用いるバッファサイズを意味し、当該バッファは共有領域COMに確保される。サーバントには所属OSにより割り当てられたタスクID(所属OS内タスクID)が割り当てられる。この所属OS内タスクIDの割り当ては所属OSが起動されて始めて確定する。サーバントはその稼働状況が特定される。稼働状況のデータ項目にはOSによる対応タスクのタスク管理の内容が反映され、そのデータは、少なくとも対応するハードウェア処理やソフトウェア処理が可能か不可能かを示す。したがって、この稼動状況のデータはシステムの状態に応じて可変される。低消費電力状態において動作が停止されたハードウェア或いは故障により動作不能のハードウェアを使用するサーバントの稼動状況は動作不可とされる。稼働状況のデータ項目に対するデータエントリ操作は対応するOSの管理プログラムが行うが、書き換えるべき情報はOSを介してから入手する。低消費電力状態における動作の停止はモードレジスタの設定内容にしたがって認識する。故障による動作不能の状態はウォッチドッグタイマなどのセルフチェック機能を用いて把握すればよい。データベースエントリは、タスク実行環境を制限するタスク保護情報を有する。例えば保護情報は、所属OS以外からの処理要求に答えない、或いは特定のOSからの処理要求に対してだけ答える、というような制限情報である。サーバントへの処理要求が許可されていないOSからの要求であった場合、例えばサーバントを実行せずにエラーを返す。
所属OS内タスクIDおよび稼働状況のデータ項目以外はサーバントに固有の固定値とされる。管理データベースには管理プログラムが管理する全てのサーバントの情報が登録されており、全てのOSで同じ管理データベースのコピーを持つ。ただし、属性がダイナミック(dynamic)のデータ項目は所属OSに依存する情報であるため、そのOSの管理プログラムのみが書き換え可能であり、他のOSは書き換え操作することはできない。属性がstatic(スタティック)の項目はシステム全体で静的な情報であり、全てのOSで共通の情報とされる。
図5には管理プログラムを常駐タスクとして起動する起動シーケンスが例示される。特に制限されないが、ここでは特定の一つのプロセッサMPU0を起動用のメインプロセッサとし、これにリセット信号を供給して最初に起動し、起動されたメインプロセッサMPU0が残りのサブプロセッサMPU1〜MPU3にリセットを指示してそれらを起動する。各OSの起動時に、各OSの常駐タスクが起動される。ここでは管理プログラムが起動され、起動された管理プログラムによって管理データベースの設定が行われる。共有領域COMに配置された管理データベースMDBの各データベースエントリにおいて属性がダイナミックとされているデータ項目は不定になっている。管理プログラムはこの状態の管理データベースMDBをそれぞれのメモリ領域にコピーし、コピーした管理プログラムのデータベースエントリの内、所属OSが自OSとされているデータベースエントリに対して、属性がダイナミックとされているデータ項目である所属OS内タスクIDと稼動状況のデータを設定する。その後、OSドメイン内において、ユーザタスクの起動要求に対する応答処理を行い、必要なユーザタスクを実行する。
図6にはユーザタスクの起動要求に対する応答処理における代表的な処理系統が示される。OSドメインにおいてユーザタスクの起動要求があると、管理プログラムは自OSドメイン、即ち自OS側の管理プログラムを参照し、そのタスク名に対応するサーバント名のデータエントリを検索する。検索したデータエントリの所属OSが要求元と同じOSであればそのサーバントを実行するための手続を行う。例えばCNT0の経路で示されるようにOS0側においてドライバソフトウェアDRVm0をプロセッサMPU0に実行させる。一方、検索したデータエントリの所属OSが要求元とは異なるOSであればその、そのサーバントが所属するOSの管理プログラムと通信を行って、当該ユーザタスクの起動要求を伝え、当該ユーザタスクの実行結果を返すことを要求する。要求が伝えられた当該他のOSドメインでは、その管理プログラムが起動要求に対応するサーバントのデータベースエントリを参照して、サーバントを実行するための手続を行う。例えばCNT1の経路で示されるように、OS0ドメインからのサーバント起動要求がOS1ドメインの管理プログラムに引き渡され、周辺回路デバイスIP2を用いるドライバソフトウェアDRVi2をプロセッサMPU2に実行させる。実行結果はOS0ドメインの管理プログラムMNG1からOS1ドメインのMNG0に戻される。
上記2系統の応答処理に代表されるように、ユーザタスクの起動要求を受けたOSドメインから他のOSドメインに対する手続呼び出しは、管理プログラムを実行するプロセッサ間での通信という共通化された形式で実現される。したがって、ソフトウェア設計者はOS間の通信が発生することを意識せずにユーザプログラムのようなソフトウェアを記述すればよい。データ処理システムの周辺回路デバイス等のハードウェアの変更に対し逐一ソフトウェアを変更しなくても済み、OS間通信の部分については管理データデータベースのエントリデータの変更で対処することが可能になる。実質的に異種OS間の通信であってもアプリケーションの開発時にはその通信プロトコルを意識する必要はない。したがって、異種OS間のソフトウェア移植も容易である。
上記各応答処理系統におけるOSドメイン内の手続について更に説明する。前記グローバルタスク名はタスク名に対応される。前記管理プログラムを実行するプロセッサは、そのOSドメイン内で前記グローバルタスク名を検索キーとしてデータベースエントリの検索を行う。検索結果に対しては、起動が要求されたタスクに対して所属OSの異なる同種のタスクが複数存在することが想定される。それらには同一のグローバルタスク名が付与されるが、個別のグローバルタスクIDSが付与されている。前記同種のタスクに係るデータベースエントリを選択するための判定因子として、前記所属OSのほかに、タスク保護情報、稼動状況を利用することにより、データ処理上最適なタスクを起動することが可能になる。例えば、タスク保護情報は所属OS以外からの処理要求に答えない、或いは特定のOSからの処理要求に対してだけ答えるというような制限を意味する。このようなサーバントのタスク保護情報が静的に定められることで、許可していないOSからのタスク起動要求を自動的に遮断し、セキュリティ強度を高めることができる。
また、グローバルタスクIDが相違しグローバルタスク名が同一の複数のデータベースエントリ間においては指定された優先順位が相違されることにより、前記優先順位を前記判定因子の一つとして利用することができる。例えば、前記管理プログラムを実行するプロセッサは、前記検索により複数のデータベースエントリが選ばれたとき、稼動可能なタスクが複数存在する場合には優先順位格納領域で特定される優先順位が最も高いデータベースエントリのサーバントを実行させるようにすればよい。更に、上記管理データベースMDBにおいてOS毎に動作される管理プログラムは、そのOSが所属するデータベースエントリの可変領域(属性がダイナミックとされるデータ項目)である稼動状況のデータ項目に対する更新を行う。データ処理システムの低消費電力モードにおいて特定のOSの管理下にあるプロセッサ又は周辺回路デバイスの動作が停止されるようなとき、それを利用して実行されるタスクに対応されるサーバントのデータベースエントリの稼働状況を示す領域は「動作不可」に書換えられる。管理プログラムを実行するプロセッサは「稼働状況=動作不可」のサーバントに対しては実行を見送る。
管理プログラムを実行するプロセッサは前記稼働状況および優先順位のデータ項目に基づいて例えば以下の手続きを行う。
例えばソフトウェア処理によってハードウェア部分の処理を代替するタスクを用意している場合について説明する。グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクは他のタスクが利用するハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクとする場合である。このとき、前記他のタスクが利用する周辺回路デバイスやプロセッサ等のハードウェアの動作が不能になったとき、そのタスクに対応するデータベースエントリには「稼働状況=動作不可」という情報が反映される。このようなとき、特定のハードウェア処理を用いるタスクの起動が要求された場合であっても、当該ハードウェアが動作不能であっても、ハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクを起動させることができる。要するに、故障や低消費電力モード等により特定のプロセッサ及び周辺回路デバイス等のハードウェアの動作が不能になっているとき、それによるハードウェア処理のタスクに代えて、ソフトウェア処理によるタスクを起動させることができる。当該ハードウェアの動作が可能な場合には、当該ハードウェアを用いるサーバントの優先順位が、ソフトウェア代替処理を行うサーバントの優先順位よりも高くされていることにより、ハードウェアを用いた処理を優先させることができる。更に、任意の周辺回路デバイスが存在しない廉価版のシステムでも、ソフトウェアの変更なしに対応することができる。電力や制約時間の情報をもとに当該周辺回路デバイスのクロックを遮断し、他のプロセッサや、周辺回路デバイスでタスクを実行することにより、システムの低消費電力化を促進することができる。
別の例として、実質同一の処理を異なるOSドメインにおける異なるタスクとして用意している場合について説明する。一のタスクが他のタスクの予備になる関係である。このようなタスクに対応して相互にサーバント名が等しくサーバントIDが相違されるサーバントを用意し、優先順位は一のサーバントが高く他のサーバントが低くされる。これにより、一のタスクを実行するプロセッサの動作が不能になっても、その処理に対応する他のタスクを所属OSの異なる他のプロセッサに処理させることができる。要するに、故障や低消費電力モード等により特定のプロセッサが動作不能なとき、所属OSの異なる別のプロセッサに同等のタスク処理を振り当てることができる。あるプロセッサが故障した場合、別のプロセッサで必要なタスクの処理を実行させることができるから、ソフトウェアの変更なしに処理を継続可能となる。
図7には管理データベースを用いるタスク管理を簡素化する場合に用いる管理データベースが例示される。図4との相違は優先順位のデータ項目を省いたことである。この場合、管理プログラムはユーザタスクの起動要求に対してサーバントIDを検索キーに用いて管理データベースを検索する。検索によって複数のデータベースエントリがヒットすることはない。ソフトウェアで代替するタスクへのスイッチ、故障又は動作停止されたハードウェを用いるタスクに対する代替タスクへのスイッチは行われなくなるが、管理プログラムによるOSドメイン内の手続は簡素化される。小規模なデータ処理システム、データ処理システムに対する簡易な制御に最適である。
図8には適当な機能の集合毎に個別チップ化されたマルチチップで構成されたデータ処理システムが示される。データ処理システムSYS_Aは複数個の半導体集積回路CHP0〜CHP2を有する。MPU0〜KPU2はプロセッサ、MEM0〜MEM2はローカルメモリ、IP0b,IP1b,IP2bは通信用周辺回路デバイス、IP0a,IP1a,IP2aはその他の周辺回路デバイスである。通信用周辺回路デバイスIP0b,IP1b,IP2bによる通信はシリアルやTCP/IPなどの通信プロトコルを用いて実現されるが、その通信処理は感涙プログラムにより常駐タスクと間の通信としてアプリケーションプログラムからは隠蔽可能とされ、アプリケーションプログラムの作成においてはその通信用のシステム構成を意識する必要はない。マルチOSのマルチプロセッサ構成がオンチップであるのかオフチップであるのかに拘わらず同様の効果を得ることができる。図8のように共有メモリを設けていない場合には、パワーオンリセット等に応答してメインとなる一つの半導体集積回路のプロセッサが他の半導体集積回路のプロセッサに管理データベースのコピーを渡すことが必要になる。
以上説明したデータ処理システムによれば以下の作用効果を得ることができる。
(1)OS間でのタスク呼出しの手続きを管理プログラムによる常駐タスク間で自動的に行うため、ソフトウェア設計者はOS間の通信が発生することを意識せずにソフトウェアを記述することができる。
(2)周辺回路デバイスの数や周辺回路デバイスの所属するOSなどのハードウェア構成が変わったとしても、周辺回路デバイスのドライバソフトウェアの所属を上記常駐タスクが自動的に検索するため、アプリケーションプログラムに対しそれに対応させてソフトウェアを修正することを要しない。ハードウェア構成に対する変更への対応は管理データベースを更新すればよい。
(3)管理データベースに対する参照と制御は全てのOSで共通化するので、異種OS間の通信であってもその通信を意識する必要はない。異種OS間のソフトウェア移植も容易となる。
(4)プロセッサや周辺回路デバイスが故障した場合、他のプロセッサや周辺回路デバイスを用いて必要なタスクの処理を代替させることができるから、ソフトウェアの変更なしに処理を継続可能となる。
(5)ハードウェアを用いた処理をソフトウェアによる処理で代替ささせることができるから、プロセッサや周辺回路デバイスが存在しない廉価版のデータ処理システムを提供する場合にも、ユーザプログラム等のソフトウェアを変更なしに実行することができる。
(6)スリープモードやスタンバイモード等に応じてプロセッサや周辺回路デバイスに対する同期クロックや動作電源の供給を遮断したとき、この状態を稼働状況のデータ項目に反映して、別のプロセッサや周辺回路デバイスを用いたタスクの処理に代替させることができるから、機能低下をもたらすことなく、データ処理システムの低消費電力を図ることができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、管理データベースのデータ項目の属性を全てダイナミックとし、対応する管理プログラムにて書換え可能にしてもよい。但し、管理データベースは各OSで同一である必要があるため、サーバントの所属OSや保護情報が変更された際には全てのOSの常駐タスク動作を一時停止し、全てのOSドメインに関し管理データベースの更新処理を行なって、コヒーレンシを保証することが必要である。サーバントの所属OSや保護情報が変更可能になって、システム構成の柔軟性が高まるが、セキュリティ強度が低下する場合がある。また、本発明のデータ処理システムで採用可能なOSの種類やプロセッサのアーキテクチャは制限されず適宜選択可能である。
本発明に係るデータ処理システムのソフトウェア構成を例示するシステム構成図である。 本発明に係るデータ処理システムのハードウェアを例示するハードウェアブロック図である。 管理プログラムが通信バッファとして利用するメモリ領域上の共有領域を例示する説明図である。 管理データベースの一つのエントリデータを例示するフォーマット図である。 管理プログラムを常駐タスクとして起動する起動シーケンスを例示するフローチャートである。 ユーザタスクの起動要求に対する応答処理における代表的な処理系統を例示する説明図である。 管理データベースを用いるタスク管理を簡素化する場合に用いる管理データベースを例示するフォーマット図である。 マルチチップで構成されたデータ処理システムを例示するブロック図である。
符号の説明
SYS、STS_A データ処理システム
MPU0〜MPUi プロセッサ
IP0〜IPm 周辺回路デバイス
MEM メモリ
BUS 内部バス
OS0〜OS2 オペレーティングシステム
APL0,APL1 アプリケーションプログラム
DRVi0〜DRVi4 周辺回路デバイスを用いる処理のためのドライバソフトウェア
DRVm0〜DRVm3 ソフトウェアだけで実現する処理のためのドライバソフトウェア

Claims (20)

  1. 複数のOSと複数のプロセッサを用いたデータ処理システムであって、
    前記OSの管理のもとで処理されるタスクとその所属OSとの対応関係を複数のOSに亘って定義したデータベースと、
    前記OS毎に動作される管理プログラムと、を有し、
    一の管理プログラムを実行するプロセッサは、前記タスクの起動が要求されたとき、前記データベースから当該タスクに対応するデータベースエントリを検索し、それによって選ばれたデータベースエントリの所属OSが前記一の管理プログラムの所属OSであるときは当該所属OSの管理のもとで当該タスクを処理し、前記選ばれたデータベースエントリの所属OSが別の管理プログラムの所属OSであるときは当該別の管理プログラムを実行するプロセッサに必要な情報を渡して、前記別の管理プログラムの所属OSによる管理のもとで当該タスクを処理させる、データ処理システム。
  2. 前記一の管理プログラムを実行するプロセッサは前記別の管理プログラムを実行するプロセッサと双方向通信可能である、請求項1記載のデータ処理システム。
  3. 前記データベースエントリは、複数のOSの複数のタスクを夫々区別するためのグローバルタスクID、グローバルタスク名、当該タスクの所属OS、所属OSにより割り当てられた当該タスクのタスクID、及び当該タスクの稼働状況を夫々格納する領域を有し、前記タスクID及びタスクの稼働状況を夫々格納する領域は前記管理プログラムによって書換え可能な領域である、請求項2記載のデータ処理装置。
  4. 前記データベースエントリは、タスク実行環境を制限するタスク保護情報の格納領域を更に有する、請求項3記載のデータ処理装置。
  5. 前記データベースエントリは、前記双方向通信に利用するバッファサイズを規定するバッファサイズ情報の格納領域を更に有する、請求項4記載のデータ処理装置。
  6. 前記プロセッサはシステムの初期化指示に応答して起動するOSの元で、対応する管理プログラムを実行することによって前記データベースの可変領域に対する初期設定を行い、管理プログラムによる管理タスクは常駐タスクとされ、当該OSのもとで動作するプロセッサに常駐する、請求項3記載のデータ処理システム。
  7. OS毎に動作される管理プログラムは、そのOSが所属するデータベースエントリの可変領域に対する更新を行う、請求項6記載のデータ処理システム。
  8. 前記グローバルタスク名はタスク名に対応され、前記管理プログラムを実行するプロセッサは、前記タスク名を検索キーとして前記データベースの検索を行う、請求項3記載のデータ処理装置。
  9. 前記データベースエントリは優先順位を格納する領域を更に有し、
    グローバルタスクIDが相違しグローバルタスク名が同一の複数のデータベースエントリ間においては前記優先順位格納領域で指定される優先順位が相違される、請求項8記載のデータ処理装置。
  10. 前記管理プログラムを実行するプロセッサは、前記検索により複数のデータベースエントリが選ばれたとき、稼動可能なタスクが複数存在する場合には優先順位格納領域で特定される優先順位が最も高いデータベースエントリを選ぶ、請求項9記載のデータ処理装置。
  11. グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクは他のタスクが利用するハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクである、請求項10記載のデータ処理システム。
  12. グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクと他のタスクは所属OSが相違される、請求項10記載のデータ処理システム。
  13. 前記複数のプロセッサは単一チップに形成されている、請求項2記載のデータ処理装置。
  14. 前記複数のプロセッサは複数チップに形成されている、請求項2記載のデータ処理装置。
  15. 複数のOSと複数のプロセッサを用いたデータ処理システムであって、
    前記OSの管理のもとで処理されるタスクとその所属OSとの対応関係を複数のOSに亘って定義したデータベースと、
    前記OS毎に動作される管理プログラムと、を有し、
    前記データベースエントリは、複数のOSの複数のタスクを夫々区別するためのグローバルタスクID、グローバルタスク名、当該タスクの所属OS、所属OSにより割り当てられた当該タスクのタスクID、当該タスクの稼働状況及び当該タスクの優先順位を夫々格納する領域を有し、
    グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクは他のタスクが利用するハードウェアによる処理をプロセッサのソフトウェアによる処理で代替するタスクであり、
    一の管理プログラムを実行するプロセッサは、前記タスクの起動が要求されたとき、前記データベースから当該タスクに対応するデータベースエントリを検索し、それによって選ばれたデータベースエントリのタスクが前記一のタスクと前記他のタスクであるとき、稼動可能なタスクの内で前記優先順位の最も高いタスクをその所属OSによる管理のもとで処理させる、データ処理システム。
  16. 前記グローバルタスク名はタスク名に対応され、前記管理プログラムを実行するプロセッサは、前記タスク名を検索キーとして前記データベースの検索を行う、請求項15記載のデータ処理装置。
  17. グローバルタスクIDが相違しグローバルタスク名が同一の複数のデータベースエントリ間においては前記優先順位格納領域で指定される優先順位が相違される、請求項16記載のデータ処理装置。
  18. 複数のOSと複数のプロセッサを用いたデータ処理システムであって、
    前記OSの管理のもとで処理されるタスクとその所属OSとの対応関係を複数のOSに亘って定義したデータベースと、
    前記OS毎に動作される管理プログラムと、を有し、
    前記データベースエントリは、複数のOSの複数のタスクを夫々区別するためのグローバルタスクID、グローバルタスク名、当該タスクの所属OS、所属OSにより割り当てられた当該タスクのタスクID、当該タスクの稼働状況及び当該タスクの優先順位を夫々格納する領域を有し、
    グローバルタスクIDが相違しグローバルタスク名が同一とされるデータベースエントリで特定される複数のタスク間において、一のタスクと他のタスクは所属OSが相違され、
    一の管理プログラムを実行するプロセッサは、前記タスクの起動が要求されたとき、前記データベースから当該タスクに対応するデータベースエントリを検索し、それによって選ばれたデータベースエントリのタスクが前記一のタスクと前記他のタスクであるとき、稼動可能なタスクの内で前記優先順位の最も高いタスクをその所属OSによる管理のもとで処理させる、データ処理システム。
  19. 前記グローバルタスク名はタスク名に対応され、前記管理プログラムを実行するプロセッサは、前記タスク名を検索キーとして前記データベースの検索を行う、請求項18記載のデータ処理装置。
  20. グローバルタスクIDが相違しグローバルタスク名が同一の複数のデータベースエントリ間においては前記優先順位格納領域で指定される優先順位が相違される、請求項19記載のデータ処理装置。
JP2007021123A 2007-01-31 2007-01-31 データ処理装置 Active JP4785142B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007021123A JP4785142B2 (ja) 2007-01-31 2007-01-31 データ処理装置
US11/970,505 US8219992B2 (en) 2007-01-31 2008-01-07 Data processing system having a plurality of processors and operating systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007021123A JP4785142B2 (ja) 2007-01-31 2007-01-31 データ処理装置

Publications (2)

Publication Number Publication Date
JP2008186357A true JP2008186357A (ja) 2008-08-14
JP4785142B2 JP4785142B2 (ja) 2011-10-05

Family

ID=39669439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007021123A Active JP4785142B2 (ja) 2007-01-31 2007-01-31 データ処理装置

Country Status (2)

Country Link
US (1) US8219992B2 (ja)
JP (1) JP4785142B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250806A (ja) * 2009-03-23 2010-11-04 Canon Inc 情報配信装置、情報配信装置の制御方法、及びコンピュータプログラム
US8656120B2 (en) 2009-09-21 2014-02-18 Samsung Electronics Co., Ltd. Device, method and computer-readable medium relocating remote procedure call data in heterogeneous multiprocessor system on chip
JP2019032859A (ja) * 2011-04-01 2019-02-28 インテル コーポレイション 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
KR20200081502A (ko) * 2017-12-25 2020-07-07 미쓰비시덴키 가부시키가이샤 설계 지원 장치, 설계 지원 방법 및 기록 매체에 저장된 프로그램

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034411A1 (en) * 2014-08-04 2016-02-04 Qualcomm Innovation Center, Inc. Subsystem Peripheral Ownership Scheduling and Reconfiguration for Highly Integrated System on Chips
JP6237543B2 (ja) * 2014-09-01 2017-11-29 株式会社デンソー 車載装置
CN109597378B (zh) * 2018-11-02 2021-03-09 华侨大学 一种资源受限混合任务能耗感知方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324593A (ja) * 1992-05-26 1993-12-07 Nec Corp マルチ・プロセッサシステムにおけるタスク管理方式
JPH08161186A (ja) * 1994-12-09 1996-06-21 Nec Corp タスク間通信方式
JPH08212180A (ja) * 1995-02-08 1996-08-20 Oki Electric Ind Co Ltd プロセス間通信処理装置
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
WO2005026947A2 (en) * 2003-09-17 2005-03-24 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
JP2005190132A (ja) * 2003-12-25 2005-07-14 Shinko Electric Ind Co Ltd タスク管理移行装置およびその方法ならびにタスク管理移行システム
JP2005250649A (ja) * 2004-03-02 2005-09-15 Nec Corp プロセス間通信アクセス制御方式及び方法
JP2006318305A (ja) * 2005-05-13 2006-11-24 Toshiba Corp システム構築用フレームワーク及び半導体装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328935A (ja) 1995-05-30 1996-12-13 Toshiba Corp ネットワークファイルシステムの入出力処理方式
JP4072271B2 (ja) * 1999-02-19 2008-04-09 株式会社日立製作所 複数のオペレーティングシステムを実行する計算機
CN1251105C (zh) * 2001-01-31 2006-04-12 株式会社日立制作所 数据处理系统和数据处理器
JP2004056595A (ja) * 2002-07-22 2004-02-19 Okuma Corp 論理回路のインターフェース方法およびインターフェースを備えた装置
US7536689B2 (en) * 2003-01-10 2009-05-19 Tricerat, Inc. Method and system for optimizing thread scheduling using quality objectives
ATE465600T1 (de) * 2004-03-08 2010-05-15 Interactic Holdings Llc Hochparallele schaltsysteme mit fehlerkorrektur ii

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324593A (ja) * 1992-05-26 1993-12-07 Nec Corp マルチ・プロセッサシステムにおけるタスク管理方式
JPH08161186A (ja) * 1994-12-09 1996-06-21 Nec Corp タスク間通信方式
JPH08212180A (ja) * 1995-02-08 1996-08-20 Oki Electric Ind Co Ltd プロセス間通信処理装置
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
WO2005026947A2 (en) * 2003-09-17 2005-03-24 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
JP2007506169A (ja) * 2003-09-17 2007-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンの始動を含むコンピューティング環境内の管理処理方法、管理システム、およびコンピュータプログラム
JP2005190132A (ja) * 2003-12-25 2005-07-14 Shinko Electric Ind Co Ltd タスク管理移行装置およびその方法ならびにタスク管理移行システム
JP2005250649A (ja) * 2004-03-02 2005-09-15 Nec Corp プロセス間通信アクセス制御方式及び方法
JP2006318305A (ja) * 2005-05-13 2006-11-24 Toshiba Corp システム構築用フレームワーク及び半導体装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250806A (ja) * 2009-03-23 2010-11-04 Canon Inc 情報配信装置、情報配信装置の制御方法、及びコンピュータプログラム
US8656120B2 (en) 2009-09-21 2014-02-18 Samsung Electronics Co., Ltd. Device, method and computer-readable medium relocating remote procedure call data in heterogeneous multiprocessor system on chip
JP2019032859A (ja) * 2011-04-01 2019-02-28 インテル コーポレイション 書込マスクを用いて2つのソースオペランドを単一のデスティネーションに融合するシステム、装置及び方法
KR20200081502A (ko) * 2017-12-25 2020-07-07 미쓰비시덴키 가부시키가이샤 설계 지원 장치, 설계 지원 방법 및 기록 매체에 저장된 프로그램
KR102213046B1 (ko) * 2017-12-25 2021-02-05 미쓰비시덴키 가부시키가이샤 설계 지원 장치, 설계 지원 방법 및 기록 매체에 저장된 프로그램
US10977032B2 (en) 2017-12-25 2021-04-13 Mitsubishi Electric Corporation Assistance device, design assistance method and program

Also Published As

Publication number Publication date
JP4785142B2 (ja) 2011-10-05
US8219992B2 (en) 2012-07-10
US20080184243A1 (en) 2008-07-31

Similar Documents

Publication Publication Date Title
CN100524223C (zh) 基于pmi和smi的调度执行框架中用于并发处理程序执行的方法
JP3546678B2 (ja) マルチos構成方法
JP4785142B2 (ja) データ処理装置
US8533735B2 (en) System for execution context isolation in response to invoking a BIOS kernel function during a driver execution environment (DXE) phase of boot-up of a computer
JP5655677B2 (ja) ハイパーバイザ置き換え方法および情報処理装置
US8079035B2 (en) Data structure and management techniques for local user-level thread data
US10860332B2 (en) Multicore framework for use in pre-boot environment of a system-on-chip
TWI390410B (zh) 不須執行電力開啟自我測試之操作系統傳送及啟動
US20080155542A1 (en) Operating Systems
CN109997113B (zh) 用于数据处理的方法和装置
US20090328058A1 (en) Protected mode scheduling of operations
WO2008062647A1 (en) Multiprocessor system, system configuration method in multiprocessor system, and program thereof
WO2013090594A2 (en) Infrastructure support for gpu memory paging without operating system integration
EP2951705A1 (en) Assigning processors to memory mapped configuration
CN113672250A (zh) 用于存储器设备固件升级的接口和热重置路径
JP2007507779A (ja) オペレーティングシステム
JP2007035066A (ja) マルチos構成方法
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
JP2005122334A (ja) メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
JP5328410B2 (ja) 被起動オペレーティングシステム(os)動作計算機、計算機のos起動方法およびos起動プログラム
US10162663B2 (en) Computer and hypervisor-based resource scheduling method
JP2011013775A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US7562207B2 (en) Deterministic microcontroller with context manager
JP2001216172A (ja) マルチos構成方法
JP2001236237A (ja) マルチos構成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110708

R150 Certificate of patent or registration of utility model

Ref document number: 4785142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350