(57)【要約】【課題】マルチプロセッサ上でシングルプロセッサ向けＯＳと既存のアプリケーションをそれらに改造を加えることなく動作させ、アプリケーションに対してマルチプロセッサによる並列処理を実現できるようにした並列処理システム上で、各プロセッサ毎に個別にセキュリティを確保するセキュリティ管理システムを提供する。【解決手段】マルチプロセッサ上でシングルプロセッサ向けＯＳ及び既存のアプリケーションを動作させ、アプリケーションに対してマルチプロセッサによる並列処理を実現するシングルプロセッサ向けＯＳによる並列処理システム上で、アプリケーション内で並列化が可能な処理単位（ＰＰ−１〜ＰＰ−ｎ）に対してシングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段（１５００Ｐ０〜１５００Ｐｎ）が、処理単位からの処理要求について、処理要求に対するセキュリティ制御を行う。【選択図】    図１
2005038113.tif 000002
【特許請求の範囲】
【請求項１】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、
前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項３】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項４】
前記プロセッサ又は前記処理単位毎のセキュリティ内容を予め前記ＯＳサービス手段に組み込み、前記ＯＳサービス手段が、前記処理単位からの処理要求について、前記セキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする請求項１から請求項３の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項５】
前記プロセッサ又は前記処理単位毎のセキュリティ内容を制御ファイルに設定し、
前記ＯＳサービス手段が、前記処理単位からの処理要求について、前記制御ファイルのセキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする請求項１から請求項３の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項６】
前記並列システム上の外部記憶装置に、前記各プロセッサ毎にレベルの異なるセキュリティ内容を設定した前記制御ファイルを格納し、
前記各プロセッサの前記ＯＳサービス手段が、前記外部記憶装置から対応する前記制御ファイルを各々読み込み、
前記処理単位からの要求に対するセキュリティ制御を行うことを特徴とする請求項５に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項７】
前記外部記憶装置に格納された前記制御ファイルが変更された場合に、対応する前記プロセッサの前記ＯＳサービス手段が、変更された前記制御ファイルを再読込みすることを特徴とする請求項６に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項８】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、
前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項９】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１０】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、
前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１１】
前記セキュリティ拡張手段は、前記シングルプロセッサ向けＯＳにモジュールとして組み込まれ、前記処理単位からの前記シングルプロセッサ向けＯＳに対するシステムコールの要求に対して、前記処理要求に対するセキュリティ制御を行うことを特徴とする請求項８から請求項１０の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１２】
前記プロセッサ又は前記処理単位毎のセキュリティ内容を予め前記セキュリティ拡張手段に組み込み、前記セキュリティ拡張手段が、前記処理単位からの処理要求について、前記セキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする請求項８から請求項１１の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１３】
前記プロセッサ又は前記処理単位毎のセキュリティ内容を制御ファイルに設定し、
前記セキュリティ拡張手段が、前記処理単位からの処理要求について、前記制御ファイルのセキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする請求項８から請求項１１の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１４】
前記並列システム上の外部記憶装置に、前記各プロセッサ毎にレベルの異なるセキュリティ内容を設定した前記制御ファイルを格納し、
前記各プロセッサの前記セキュリティ拡張手段が、前記外部記憶装置から対応する前記制御ファイルを各々読み込み、
前記処理単位からの要求に対するセキュリティ制御を行うことを特徴とする請求項１３に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１５】
前記外部記憶装置に格納された前記制御ファイルが変更された場合に、対応する前記プロセッサの前記セキュリティ拡張手段が、変更された前記制御ファイルを再読込みすることを特徴とする請求項１４に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１６】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、
前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対する実行環境を提供するアプリケーション制御手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１７】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対する実行環境を提供するアプリケーション制御手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１８】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、
前記処理単位に対する実行環境を提供するアプリケーション制御手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項１９】
前記プロセッサ又は前記処理単位毎のセキュリティ内容を予め前記アプリケーション制御手段に組み込み、前記アプリケーション制御手段が、前記処理単位からの処理要求について、前記セキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする請求項１６から請求項１８の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２０】
前記プロセッサ又は前記処理単位毎のセキュリティ内容を制御ファイルに設定し、
前記アプリケーション制御手段が、前記処理単位からの処理要求について、前記制御ファイルのセキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする請求項１６から請求項１８の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２１】
前記並列システム上の外部記憶装置に、前記各プロセッサ毎にレベルの異なるセキュリティ内容を設定した前記制御ファイルを格納し、
前記各プロセッサの前記アプリケーション制御手段が、前記外部記憶装置から対応する前記制御ファイルを各々読み込み、
前記処理単位からの要求に対するセキュリティ制御を行うことを特徴とする請求項２０に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２２】
前記外部記憶装置に格納された前記制御ファイルが変更された場合に、対応する前記プロセッサの前記アプリケーション制御手段が、変更された前記制御ファイルを再読込みすることを特徴とする請求項２１に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２３】
前記処理単位がＪａｖａ（Ｒ）アプリケーションであることを特徴とする請求項１６から請求項２２の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２４】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、
前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段、前記処理単位に対するセキュリティ制御を行うためのアプリケーション制御手段の少なくとも１つが、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２５】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段、前記処理単位に対するセキュリティ制御を行うためのアプリケーション制御手段の少なくとも１つが、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２６】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、
前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段の機能について前記プロセッサ毎に制限を設け、前記各プロセッサ上で動作する前記処理単位からの処理要求を制限することを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２７】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段の機能について前記プロセッサ毎に制限を設け、前記各プロセッサ上で動作する前記処理単位からの処理要求を制限すること特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２８】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、
前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
要求機能の異なる処理単位を実行させる場合に、前記処理単位に対する実行環境を提供するアプリケーション制御手段の提供する機能に応じて、当該処理単位を実行するプロセッサを選択して割り振ることを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項２９】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、
一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、
要求機能の異なる処理単位を実行させる場合に、前記処理単位に対する実行環境を提供するアプリケーション制御手段の提供する機能に応じて、当該処理単位を実行するプロセッサを選択して割り振ることを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項３０】
マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、
要求機能の異なる処理単位を実行させる場合に、前記処理単位に対する実行環境を提供するアプリケーション制御手段の提供する機能に応じて、当該処理単位を実行するプロセッサを選択して割り振ることを特徴とするシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【請求項３１】
前記処理単位がＪａｖａ（Ｒ）アプリケーションであり、前記各プロセッサのアプリケーション制御手段としてのＪａｖａ（Ｒ）仮想マシン毎に前記Ｊａｖａ（Ｒ）アプリケーションの機能を制限するプロファイルを組み込み、或いはロード可能なクラスファイルを制限することで、要求機能の異なる前記Ｊａｖａ（Ｒ）アプリケーションを実行することを特徴とする請求項２８から請求項３０の何れか１項に記載のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチプロセッサによる並列処理システムにおける電源管理システムに関し、特に、マルチプロセッサ上でシングルプロセッサ向けＯＳ及び既存のアプリケーションを動作させ、アプリケーションに対してマルチプロセッサによる並列処理を実現するシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システムに関する。
【０００２】
【従来の技術】
携帯電話及び携帯ＰＣを含む携帯端末等のデータ処理装置においては、基本的にシングルプロセッサ上でシングルプロセッサ向けオペレーティングシステム（以下、シングルプロセッサ向けＯＳ）及びシングルプロセッサ向けのアプリケーション（以下、単にアプリケーションと称する）を実行させているのが現状である。
【０００３】
このような状況において、マルチプロセッサベースで上記アプリケーションそのままを使用したい場合には、上記シングルプロセッサ向けＯＳの代わりにマルチプロセッサ向けＯＳ上でアプリケーションを実行させる必要がある。
【０００４】
上記のようなマルチプロセッサシステム上でマルチプロセッサ向けＯＳとアプリケーションの実行を制御するシステムとしては、例えば、特開平３−２５７６５２号公報、特開平３−１１３５６３号公報に開示される従来技術がある。
【０００５】
特開平３−２５７６５２号公報（特許文献１）では、複数のプロセッサエレメントからなるマルチプロセッサシステムにおける各プロセッサエレメント間の割り込み制御方法を開示する。
【０００６】
特開平３−１１３５６３号公報（特許文献２）では、マルチプロセッサシステムにおける複数のプロセッサに割り当てるプロセスのスケジューリング方法を開示する。
【０００７】
また、特開２００３−０５８５１５号公報（特許文献３）では、複数のプロセッサエレメントで個別のプロセスを実行するための方法を開示している。
【０００８】
【特許文献１】
特開平３−２５７６５２号公報
【特許文献２】
特開平３−１１３５６３号公報
【特許文献３】
特開２００３−０５８５１５号公報
【特許文献４】
米国特許第５１４２６８４号明細書
【０００９】
【発明が解決しようとする課題】
しかし、従来のように、マルチプロセッサ向けＯＳ上で既存のアプリケーションを動作させる場合、アプリケーションは複数のプロセッサのうちの一つしか使用しないにもかかわらず、マルチプロセッサ向けＯＳがマルチプロセッサ向けのサービスを行ったり、他のアプリケーションが動作していないのに他のプロセッサとの排他処理を続行するために、その余分な処理がオーバヘッドになってしまい、また上記アプリケーションをマルチプロセッサ用に改造するにも、改造に非常に手間とコストがかかるという問題点があった。
【００１０】
特に、携帯電話及び携帯ＰＣを含む携帯端末等の小型データ処理装置においてマルチプロセッサによる並列処理システムを実現する場合、マルチプロセッサ向けＯＳの処理のオーバヘッド、アプリケーションの改造が大きな障害となる。
【００１１】
このような状況において、アプリケーションがそのまま既存のシングルプロセッサ向けＯＳ上で利用されている場合には、既存のアプリケーションをそのままマルチプロセッサ上で動作させることのできる並列処理システムの実現が望まれている。
【００１２】
さらに、従来のマルチプロセッサ向けＯＳによる並列処理システムにおていは、ＯＳが実質的に単一であるため、各プロセッセ毎にセキュリティ機能を分離するといったことが困難であり、また、セキュリティに対応させることにより、プロセッサ性能が一律に下がってしまうという問題点がある。
【００１３】
このような状況の元、携帯電話及び携帯ＰＣを含む携帯端末等の小型データ処理装置においては、マルチプロセッサの各プロセッサ上でシングルプロセッサ向けＯＳを動作させるような並列処理システムであって、各プロセッサ毎に個別にセキュリティ機能を持たせると共に、不必要にプロセッサの性能を下げることのないシステムの提供が期待される。
【００１４】
また、上述した何れの特許文献においても、各プロセッサ毎に個別にセキュリティ機能を持たせるといった技術を開示しているものはない。
【００１５】
本発明の目的は、マルチプロセッサ上でシングルプロセッサ向けＯＳと既存のアプリケーションをそれらに改造を加えることなく動作させ、その既存のアプリケーションに対してマルチプロセッサによる並列処理を実現できるようにしたシングルプロセッサ向けＯＳによる並列処理システム上で、ソフトウェア的に各プロセッサ毎に個別にセキュリティを確保することができ、かつ、プロセッサの性能を低下させることのないセキュリティ管理システムを提供することにある。
【００１６】
【課題を解決するための手段】
上記目的を達成するため本発明のシングルプロセッサ向けＯＳによる並列処理システムにおけるセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００１７】
請求項２の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００１８】
請求項３の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００１９】
請求項４の本発明のセキュリティ管理システムは、前記プロセッサ又は前記処理単位毎のセキュリティ内容を予め前記ＯＳサービス手段に組み込み、前記ＯＳサービス手段が、前記処理単位からの処理要求について、前記セキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする。
【００２０】
請求項５の本発明のセキュリティ管理システムは、前記プロセッサ又は前記処理単位毎のセキュリティ内容を制御ファイルに設定し、前記ＯＳサービス手段が、前記処理単位からの処理要求について、前記制御ファイルのセキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする。
【００２１】
請求項６の本発明のセキュリティ管理システムは、前記並列システム上の外部記憶装置に、前記各プロセッサ毎にレベルの異なるセキュリティ内容を設定した前記制御ファイルを格納し、前記各プロセッサの前記ＯＳサービス手段が、前記外部記憶装置から対応する前記制御ファイルを各々読み込み、前記処理単位からの要求に対するセキュリティ制御を行うことを特徴とする。
【００２２】
請求項７の本発明のセキュリティ管理システムは、前記外部記憶装置に格納された前記制御ファイルが変更された場合に、対応する前記プロセッサの前記ＯＳサービス手段が、変更された前記制御ファイルを再読込みすることを特徴とする。
【００２３】
請求項８の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００２４】
請求項９の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００２５】
請求項１０の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００２６】
請求項１１の本発明のセキュリティ管理システムは、前記セキュリティ拡張手段は、前記シングルプロセッサ向けＯＳにモジュールとして組み込まれ、前記処理単位からの前記シングルプロセッサ向けＯＳに対するシステムコールの要求に対して、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００２７】
請求項１２の本発明のセキュリティ管理システムは、前記プロセッサ又は前記処理単位毎のセキュリティ内容を予め前記セキュリティ拡張手段に組み込み、前記セキュリティ拡張手段が、前記処理単位からの処理要求について、前記セキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする。
【００２８】
請求項１３の本発明のセキュリティ管理システムは、前記プロセッサ又は前記処理単位毎のセキュリティ内容を制御ファイルに設定し、前記セキュリティ拡張手段が、前記処理単位からの処理要求について、前記制御ファイルのセキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする。
【００２９】
請求項１４の本発明のセキュリティ管理システムは、前記並列システム上の外部記憶装置に、前記各プロセッサ毎にレベルの異なるセキュリティ内容を設定した前記制御ファイルを格納し、前記各プロセッサの前記セキュリティ拡張手段が、前記外部記憶装置から対応する前記制御ファイルを各々読み込み、前記処理単位からの要求に対するセキュリティ制御を行うことを特徴とする。
【００３０】
請求項１５の本発明のセキュリティ管理システムは、前記外部記憶装置に格納された前記制御ファイルが変更された場合に、対応する前記プロセッサの前記セキュリティ拡張手段が、変更された前記制御ファイルを再読込みすることを特徴とする。
【００３１】
請求項１６の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対する実行環境を提供するアプリケーション制御手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００３２】
請求項１７の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対する実行環境を提供するアプリケーション制御手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００３３】
請求項１８の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、前記処理単位に対する実行環境を提供するアプリケーション制御手段が、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００３４】
請求項１９の本発明のセキュリティ管理システムは、前記プロセッサ又は前記処理単位毎のセキュリティ内容を予め前記アプリケーション制御手段に組み込み、前記アプリケーション制御手段が、前記処理単位からの処理要求について、前記セキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする。
【００３５】
請求項２０の本発明のセキュリティ管理システムは、前記プロセッサ又は前記処理単位毎のセキュリティ内容を制御ファイルに設定し、前記アプリケーション制御手段が、前記処理単位からの処理要求について、前記制御ファイルのセキュリティ内容に従って、前記処理要求に対するセキュリティ保護を行うことを特徴とする。
【００３６】
請求項２１の本発明のセキュリティ管理システムは、前記並列システム上の外部記憶装置に、前記各プロセッサ毎にレベルの異なるセキュリティ内容を設定した前記制御ファイルを格納し、前記各プロセッサの前記アプリケーション制御手段が、前記外部記憶装置から対応する前記制御ファイルを各々読み込み、前記処理単位からの要求に対するセキュリティ制御を行うことを特徴とする。
【００３７】
請求項２２の本発明のセキュリティ管理システムは、前記外部記憶装置に格納された前記制御ファイルが変更された場合に、対応する前記プロセッサの前記アプリケーション制御手段が、変更された前記制御ファイルを再読込みすることを特徴とする。
【００３８】
請求項２３の本発明のセキュリティ管理システムは、前記処理単位がＪａｖａ（Ｒ）アプリケーションであることを特徴とする。
【００３９】
請求項２４の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段、前記処理単位に対するセキュリティ制御を行うためのアプリケーション制御手段の少なくとも１つが、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００４０】
請求項２５の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段、前記シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段、前記処理単位に対するセキュリティ制御を行うためのアプリケーション制御手段の少なくとも１つが、前記処理単位からの処理要求について、前記処理要求に対するセキュリティ制御を行うことを特徴とする。
【００４１】
請求項２６の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段の機能について前記プロセッサ毎に制限を設け、前記各プロセッサ上で動作する前記処理単位からの処理要求を制限することを特徴とする。
【００４２】
請求項２７の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、前記処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段の機能について前記プロセッサ毎に制限を設け、前記各プロセッサ上で動作する前記処理単位からの処理要求を制限すること特徴とする。
【００４３】
請求項２８の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、前記マルチプロセッサを論理的に、第１のプロセッサ側と第２のプロセッサ側の二つに分け、前記第１のプロセッサ側のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、前記第２のプロセッサ側のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、要求機能の異なる処理単位を実行させる場合に、前記処理単位に対する実行環境を提供するアプリケーション制御手段の提供する機能に応じて、当該処理単位を実行するプロセッサを選択して割り振ることを特徴とする。
【００４４】
請求項２９の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させ、一のプロセッサ上で動作する前記アプリケーション内で並列化が可能な処理単位を、他のプロセッサ上で新たな処理単位として制御することにより、前記アプリケーションに対して前記マルチプロセッサによる並列処理を行う並列処理システム上で、要求機能の異なる処理単位を実行させる場合に、前記処理単位に対する実行環境を提供するアプリケーション制御手段の提供する機能に応じて、当該処理単位を実行するプロセッサを選択して割り振ることを特徴とする。
【００４５】
請求項３０の本発明のセキュリティ管理システムは、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びタスクとしての処理単位を動作させる並列処理システム上で、要求機能の異なる処理単位を実行させる場合に、前記処理単位に対する実行環境を提供するアプリケーション制御手段の提供する機能に応じて、当該処理単位を実行するプロセッサを選択して割り振ることを特徴とする。
【００４６】
請求項３１の本発明のセキュリティ管理システムは、前記処理単位がＪａｖａ（Ｒ）アプリケーションであり、前記各プロセッサのアプリケーション制御手段としてのＪａｖａ（Ｒ）仮想マシン毎に前記Ｊａｖａ（Ｒ）アプリケーションの機能を制限するプロファイルを組み込み、或いはロード可能なクラスファイルを制限することで、要求機能の異なる前記Ｊａｖａ（Ｒ）アプリケーションを実行することを特徴とする。
【００４７】
【発明の実施の形態】
まず、本発明の電源管理システムを適用する並列処理システムについて説明する。以下で説明する並列処理システムでは、従来のシングルプロセッサ向けＯＳに対して一切の改造を加えることなく、複数のプロセッサへの処理を依頼する機構や複数のプロセッサへのＯＳサービスの提供におけるクリティカルセクションの保護機構を付加することにより、マルチプロセッサ上での並列処理を実行する。
【００４８】
図１は第１例としての並列処理システムの構成を示すブロック図である。
【００４９】
図１に示すように、第１例の並列処理システムは、システムバス９１で接続される複数のプロセッサ（ＣＰＵ）Ｐ０〜Ｐｎ（ｎは１以上の整数）からなるマルチプロセッサを、論理的に第１プロセッサ側１０と第２プロセッサ側２０の二組に分け、第１プロセッサ側１０のプロセッサＰ０上で動作するシングルプロセッサ向けＯＳ３０を実装し、かつ第１プロセッサ側１０のプロセッサＰ０及び第２プロセッサ側２０のプロセッサＰ１〜Ｐｎのそれぞれに、並列処理を行うための並列処理手段４０Ｐ０〜４０Ｐｎ及びＯＳサービスを処理するためのＯＳサービス手段５０Ｐ０〜５０Ｐｎを実装して構成される。また、システムバス９１には、各プロセッサＰ０〜Ｐｎが共有する共有メモリとしての主記憶装置９２及びディスク装置等の外部記憶装置９３が接続される。
【００５０】
なお、上記マルチプロセッサには、同一種類のプロセッサを複数備える構成だけでなく、ＤＳＰやセキュリティエンジン等の異種の処理装置を複数備える構成も含む。
【００５１】
また、第１プロセッサ側１０と第２プロセッサ側２０間で、制御信号やデータのやり取りを行うための制御処理中継手段６０が独自に設けられ、かつ第１プロセッサ側１０には、シングルプロセッサ向けＯＳ３０が第２プロセッサ側２０で実行されるタスクと通信するための代理手段７０が設けられている。
【００５２】
上記第１プロセッサ側１０のプロセッサは、必ずしも単一である必要はなく複数のプロセッサからなっていてもよい。例えば、第１プロセッサ側１０を２つのプロセッサとし、それぞれに異なるシングルプロセッサ向けＯＳを実装するような構成とすることも可能である。
【００５３】
また、第１プロセッサ側１０のプロセッサで起動されるシングルプロセッサ向けＯＳ３０としては、既存のＯＳが利用される。例えば、リアルタイムＯＳやＵＮＩＸ（Ｒ）  ＯＳがそのまま利用される。
【００５４】
本明細書で使用するタスクとは、ＵＮＩＸ（Ｒ）  ＯＳにおけるプロセスやスレッド、リアルタイムＯＳにおけるタスク等の並列処理を行うための処理単位を意味している。
【００５５】
本並列処理システムにおいては、第１プロセッサ側１０のシングルプロセッサ向けＯＳ上でアプリケーションが動作し、そのアプリケーションの処理単位のうち、並列化を行えないタスク（逐次タスク）を第１プロセッサ側１０のプロセッサＰ０で処理し、アプリケーション内で並列化を行えるタスクを第２プロセッサ側２０において新たなタスクとして生成して並列処理をさせる。
【００５６】
並列処理手段４０Ｐ０及び並列処理手段４０Ｐ１〜４０Ｐｎは、タスクの生成、起動、停止、終了、削除、及びその他のタスクに関する制御を行う機能を有する。ここでは、第１プロセッサ側１０の並列処理手段４０Ｐ０から第２プロセッサ側２０の各プロセッサＰ１〜Ｐｎの並列処理手段４０Ｐ１〜４０Ｐｎに対して、制御処理中継手段６０を介してタスクの生成、起動、停止、終了、削除等の処理を行う。また、シグナル通知については、並列処理手段４０Ｐ０と並列処理手段４０Ｐ１〜４０Ｐｎの双方向から処理される。
【００５７】
ＯＳサービス手段５０Ｐ０及びＯＳサービス手段５０Ｐ１〜５０Ｐｎは、外部機器への各種のアクセスと制御を行うためのインタフェース、タスクどうしが共有するリソースへの各種アクセスと制御を行うためのインタフェースとして機能を有する。
【００５８】
制御処理中継手段６０は、第１プロセッサ側１０と第２プロセッサ側２０間で、制御信号やデータのやり取りを行うための手段であり、複数のプロセッサで並列処理される複数のタスク間の制御に使用される。
【００５９】
代理手段７０は、第２プロセッサ側２０で実行されるタスク（一部あるいは全部）に対応付けられ、第２プロセッサ側２０のタスクとシングルプロセッサ向けＯＳ３０間におけるシグナル通知（タスクを制御するための各種制御信号の通知）のために実装されている。
【００６０】
以下、上記のように構成される第１例の並列処理システムの動作について、図面を参照して詳しく説明する。
【００６１】
ここでは、第１プロセッサ側１０のシングルプロセッサ向けＯＳ上でアプリケーションが動作し、そのアプリケーションの処理単位のうち、第１プロセッサ側１０のプロセッサＰ０で処理する処理単位を逐次タスクＳＴとし、アプリケーション内で並列化を行えるタスクであって、第２プロセッサ側２０に対してタスクＰＴ−１〜ＰＴ−ｎとして並列処理をさせる処理単位を並列化タスクＰＴとする。
【００６２】
まず、並列処理手段４０Ｐ０、４０Ｐ１〜４０Ｐｎによる並列処理起動の動作について、図２と図３を用いて説明する。
【００６３】
（１）第１プロセッサ側１０の並列化タスクＰＴを、第２プロセッサ側２０のタスクＰＴ−１〜ＰＴ−ｎの何れかとして起動させる場合、並列処理手段４０Ｐ０に対して、第２プロセッサ側２０で起動させる処理単位としてのタスクＰＴ−１〜ＰＴ−ｎの何れかの生成を要求する。
【００６４】
並列処理手段４０Ｐ０、並列処理手段４０Ｐ１〜４０Ｐｎからの要求（ｃｏｍｍａｎｄ）としては、例えば、以下のようなものがある。ｃｒｅａｔｅ（タスクの生成）、ｄｅｌｅｔｅ（タスクの削除）、ａｃｔｉｖａｔｅ（タスクの起動）、ｔｅｒｍｉｎａｔｅ（タスクの終了）、ｓｉｇｎａｌ（シグナル要求）等がある。このうち、ｃｒｅａｔｅ（タスクの生成）、ｄｅｌｅｔｅ（タスクの削除）、ａｃｔｉｖａｔｅ（タスクの起動）、ｔｅｒｍｉｎａｔｅ（タスクの終了）については、第１プロセッサ側１０から第２プロセッサ側２０へ送られる要求であり、ｓｉｇｎａｌ（シグナル要求）は、第１プロセッサ側１０と第２プロセッサ側２０間で双方向から送られる。
【００６５】
この要求は、図３に示すようなメッセージによって行われる。すなわち、要求する内容（この場合は、タスク生成）を示す要求内容２０１、タスクを処理させる第２プロセッサ側２０のプロセッサＰ１〜Ｐｎを指定するプロセッサ番号２０２、新たに生成するタスクＰＴ−１〜ＰＴ−ｎを示すタスク番号、タスク生成を要求する並列化タスクＰＴを示す元タスク番号からなるメッセージを並列処理手段４０Ｐ０に対して送信することで、タスク生成の要求を行う。なお、タスク生成以外の要求についても、図３に示すメッセージに従った要求が送られる。
【００６６】
（２）これに対して、並列処理手段４０Ｐ０は、生成するタスクＰＴ−１〜ＰＴ−ｎに対応する代理手段７０を起動する。この代理手段７０は、第１プロセッサ側１０と第２プロセッサ側２０でタスクの管理内容を共有しないようにするため、かつ排他処理を第１プロセッサ側１０で完結させるために起動される。この時、代理手段７０にはタスクＰＴ−１〜ＰＴ−ｎのタスク番号が保持される。
【００６７】
（３）さらに、並列処理手段４０Ｐ０は、上述したタスク番号及び要求内容（第２プロセッサ側２０のプロセッサＰ１〜Ｐｎへのタスク生成）といったタスク生成に必要なデータと、「並列処理」を指定する通信理由情報とを制御処理中継手段６０に設定する。
【００６８】
これにより、制御処理中継手段６０に対して、後述する主記憶装置９２（共有メモリ）への通信内容の設定とプロセッサ間割り込みのための処理が行われる。
【００６９】
ここで、通信理由情報とは、制御処理中継手段６０に渡したデータの受け取り先（取得先）を示すものであり、上記の場合、指定されたプロセッサＰ１〜Ｐｎの並列処理手段４０Ｐ１〜４０Ｐｎによって、制御処理中継手段６０に設定されたデータが取得されることになる。
【００７０】
（４）第２プロセッサ側２０の指定されたプロセッサＰ１〜Ｐｎ上の並列処理手段４０Ｐ１〜４０Ｐｎは、制御処理中継手段６０から通信理由情報が「並列処理」の要求内容（タスク制御に必要なデータ）を取得する。
【００７１】
（５）そして、並列処理手段４０Ｐ１〜４０Ｐｎは、取得した要求内容に基づいてプロセッサＰ１〜Ｐｎ上でタスクＰＴ−１〜ＰＴ−ｎを生成・起動する。
【００７２】
以上により、第１プロセッサ側１０のシングルプロセッサ向けＯＳ上で動作するアプリケーションの処理単位である並列化タスクＰＴの処理単位をを、第２プロセッサ側２０上にタスクＰＴ−１〜ＰＴ−ｎとして並列処理をさせることが可能となる。
【００７３】
なお、上記の動作においては、並列処理手段４０Ｐ１〜４０Ｐｎは、取得した要求内容に基づいてプロセッサＰ１〜Ｐｎ上でタスクＰＴ−１〜ＰＴ−ｎを生成して起動する場合について述べたが、第１プロセッサ側１０の並列化タスクＰＴを、予め第２プロセッサ側２０のタスクＰＴ−１〜ＰＴ−ｎの何れかとして生成しておき、並列処理手段４０Ｐ１〜４０Ｐｎが、取得した要求内容に基づいてプロセッサＰ１〜Ｐｎ上でタスクＰＴ−１〜ＰＴ−ｎを起動するようにすることもできる。
【００７４】
次に、ＯＳサービス手段５０Ｐ０、５０Ｐ１〜５０ＰｎによるＯＳサービス処理動作について説明する。
【００７５】
ＯＳサービス手段５０Ｐ０、５０Ｐ１〜５０Ｐｎは、第２プロセッサ側２０のプロセッサＰ１〜Ｐｎ上に生成したタスクＰＴ−１〜ＰＴ−ｎからの要求に基づいて、シングルプロセッサ向けＯＳ３０によるサービスである、外部機器への各種アクセスと制御、他のタスクと共用するリソースへの各種アクセスと制御に関するサービスを提供するための機能を有する。シングルプロセッサ向けＯＳ３０によるサービスには、通常のＯＳが提供するシステムコールやＡＰＩに相当するものが主な対象となる。
【００７６】
第２プロセッサ側２０のプロセッサＰ１〜Ｐｎ上のタスクＰＴ−１〜ＰＴ−ｎからのファイルアクセス（例えば、外部記憶装置９３上のファイルに対する各種の処理）要求に対するＯＳサービス手段５０Ｐ０、５０Ｐ１〜５０Ｐｎの動作を図４を参照して説明する。
【００７７】
ここで、ファイルアクセスには、ｏｐｅｎ（ファイルのオープン）、ｃｌｏｓｅ（ファイルのクローズ）、ｒｅａｄ（ファイルの読み出し）、ｗｒｉｔｅ（ファイルの書き込み）、ｓｅｅｋ（ファイル書き込み位置の移動）、ｒｅｍｏｖｅ（ファイルの削除）、ｒｅｎａｍｅ（ファイルの名称変更）等の処理が含まれる。
【００７８】
（１）第２プロセッサ側２０のタスクＰＴ−１〜ＰＴ−ｎにおいてファイルアクセス処理の必要が発生すると、タスクＰＴ−１〜ＰＴ−ｎが、第２プロセッサ側２０のＯＳサービス手段５０Ｐ１〜５０Ｐｎに対してファイルアクセスのためのサービスを要求する。このファイルアクセスのサービス要求においては、例えば、ＯＳサービス手段５０Ｐ１〜５０Ｐｎのファイルへの書き込み処理として定義されたｗｒｉｔｅ関数やファイルの読み出し処理として定義されたｒｅａｄ関数等が呼び出される。
【００７９】
ここで、ＯＳサービス手段５０Ｐ１〜５０Ｐｎは、第１プロセッサ側１０の処理（シングルプロセッサ向けＯＳ３０によるファイルアクセス処理）に必要なデータを設定する。ここで、必要なデータには、要求内容（例えば、ｗｒｉｔｅ  ｒｅｑｕｅｓｔ）、アクセスするファイルの記述子（ｆｉｌｅ  ｄｅｓｃｒｉｐｔｏｒ）、文字列へのポインタ、文字列の長さ、タスク番号等の情報が含まれる。
【００８０】
（２）ＯＳサービス手段５０Ｐ１〜５０Ｐｎは、通信理由情報を「ＯＳサービス」として、要求内容を含む必要なデータを制御処理中継手段６０に対して設定することで、第１プロセッサ側１０に対してファイルアクセス要求を発行する。
【００８１】
その後、ファイルアクセスのサービス要求を行ったタスクＰＴ−１〜ＰＴ−ｎは、待ち状態となり、対応するプロセッサＰ１〜Ｐｎにおいては並列処理手段４０Ｐ１〜４０Ｐｎにより他のタスクへ処理が切り替わる（タスクのｓｗｉｔｃｈ：スイッチ）。
【００８２】
（３）第１プロセッサ側１０のＯＳサービス手段５０Ｐ０は、制御処理中継手段６０から「ＯＳサービス」という通信理由情報の上記ファイルアクセス要求を取得する。
【００８３】
（４）第１プロセッサ側１０のＯＳサービス手段５０Ｐ０は、取得した要求内容に従ってシングルプロセッサ向けＯＳ３０に対してファイルアクセスを要求する。
【００８４】
（５）これにより、シングルプロセッサ向けＯＳ３０は、要求に基づいて外部記憶装置９３等に対するファイルアクセス（ｗｒｉｔｅやｒｅａｄ等）を行う。このファイルアクセス処理は、シングルプロセッサ向けＯＳ３０が本来備えているファイルアクセスサービスをそのまま利用して実行される。
【００８５】
（６）要求されたファイルアクセス処理が終了すると、シングルプロセッサ向けＯＳ３０は、第１プロセッサ側１０のＯＳサービス手段５０Ｐ０にファイルアクセス要求に対する戻り値を返し、処理を戻す。
【００８６】
（７）さらに、ＯＳサービス手段５０Ｐ０は、その戻り値とファイルアクセス要求を行ったタスクＰＴ−１〜ＰＴ−ｎのタスク番号を含むデータである通信内容を、「ＯＳサービス」を通信理由情報として制御処理中継手段６０に設定することにより、第２プロセッサ側２０のプロセッサＰ１〜Ｐｎに対してファイルアクセスの完了を通知する。
【００８７】
（８）対応するプロセッサＰ１〜ＰｎのＯＳサービス手段５０Ｐ１〜５０Ｐｎは、制御処理中継手段６０から上記設定された戻り値と完了通知を受け取る。
【００８８】
（９）そして、第２プロセッサ側２０のＯＳサービス手段５０Ｐ１〜５０Ｐｎは、並列処理手段４０Ｐ１〜４０Ｐｎに対してファイルアクセス要求を行ったタスクＰＴ−１〜ＰＴ−ｎを起動するように依頼する。
【００８９】
これにより、待ち状態となっていたタスクＰＴ−１〜ＰＴ−ｎに処理が切り替わる。
【００９０】
（１０）並列処理手段４０Ｐ１〜４０Ｐｎから起動されたタスクＰＴ−１〜ＰＴ−ｎは、ＯＳサービス手段５０Ｐ１〜５０Ｐｎからファイルアクセスの戻り値を受け取り、処理を継続する。
【００９１】
以上により、第２プロセッサ側２０に個別にファイルアクセスのための処理手段を設けることなく、第２プロセッサ側２０におけるタスクＰＴ−１〜ＰＴ−ｎはシングルプロセッサ向けＯＳ３０のサービスをそのまま利用してファイルアクセスが可能となる。また、これにより、ファイルアクセスのための排他処理については、第１プロセッサ側１０で完結するため、マルチプロセッサ向けＯＳ上でアプリケーションを動作させる場合のような排他処理によるオーバヘッドが発生することなく並列処理を実現できる。
【００９２】
なお、第２プロセッサ側２０のプロセッサＰ１〜Ｐｎ上のタスクＰＴ−１〜ＰＴ−ｎが、例えば外部記憶装置９３上のリードオンリー（ｒｅａｄ  ｏｎｌｙ）のデータをファイルアクセスする場合には、上記のようにＯＳサービス手段５０Ｐ１〜５０Ｐｎによる処理を経ることなく、各プロセッサＰ１〜Ｐｎから外部記憶装置９３に直接アクセスするようにしてもよい。
【００９３】
ここで、第１プロセッサ側１０のプロセッサＰ０上の逐次タスクＳＴからのファイルアクセス要求については、ＯＳサービス手段によることなく直接シングルプロセッサ向けＯＳ３０によって処理がなされる。以下、図５を参照して説明する。
【００９４】
（１）プロセッサＰ０上の逐次タスクＳＴは、シングルプロセッサ向けＯＳ３０に対してファイルアクセスを要求する。
【００９５】
（２）これにより、シングルプロセッサ向けＯＳ３０は、要求に基づいて外部記憶装置９３等に対するファイルアクセス（ｗｒｉｔｅやｒｅａｄ等）を行う。このファイルアクセス処理は、シングルプロセッサ向けＯＳ３０が本来備えているファイルアクセスサービスをそのまま利用して実行される。
【００９６】
（３）ファイルアクセス処理が終了すると、シングルプロセッサ向けＯＳ３０は、逐次タスクＳＴに対してファイルアクセス要求に対する戻り値を返し、処理を戻す。
【００９７】
逐次タスクＳＴからのＯＳサービス要求に対しては排他制御等の必要がないので、余計なオーバヘッドが発生しない。
【００９８】
制御処理中継手段６０による処理動作について、図６及び図７を参照して説明する。
【００９９】
まず、制御処理中継手段６０の構成を図６に示す。図示のように、制御処理中継手段６０は、各プロセッサＰ０〜Ｐｎに対応した割り込み制御装置６１Ｐ０〜６１Ｐｎと、各プロセッサＰ０〜Ｐｎに対応した通信領域６２Ｐ０〜６２Ｐｎとを備えて構成される。ここで、通信領域６２Ｐ０〜６２Ｐｎは、主記憶装置９２内に確保される。
【０１００】
さらに、割り込み装置６１Ｐ０〜６１Ｐｎは、他のプロセッサに対して割り込みを指示する割込指示部６１ａ、割り込みの指示により割り込みがあった旨の情報を保持する割込状態保持部６１ｂ、割り込みをクリアする割込取消部６１ｃにより構成される。
【０１０１】
また、通信領域６２Ｐ０〜６２Ｐｎは、通信元のプロセッサからの通信理由情報を保持する通信理由保持領域６２ａ、通信するための通信データを保持する通信データ保持領域６２ｂ、通信を確保するために通信領域に対してロックをかけるための排他制御領域６２ｃにより構成される。
【０１０２】
ここで、通信データ持領域６２ｂには、通信する通信データ（要求内容を含む必要データ）が格納される主記憶装置９２へのポインタが格納されることになる。
【０１０３】
第１プロセッサ側１０の並列処理手段４０Ｐ０から第２プロセッサ側２０のプロセッサＰ１への通信処理を例にとり、図７を参照してその動作を説明する。
【０１０４】
（１）並列処理手段４０Ｐ０は、プロセッサＰ１用の通信領域６２Ｐ１の排他制御領域６２ｃにロックをかける。具体的には、排他制御領域６２ｃに格納されるｌｏｃｋ変数をロック状態とすることにより、当該プロセッサＰ１用の通信領域６２Ｐ１が他のプロセッサで使用されるのを排する。
【０１０５】
他のプロセッサによって既にロックされている場合には、ロックが解除されるのを待つ。
【０１０６】
（２）通信領域６２Ｐ１のロックが取得できた場合、並列処理手段４０Ｐ０は、通信理由情報と通信データ（要求内容を含む必要データ）を、通信領域６２Ｐ１の通信理由保持領域６２ａと通信データ保持領域６２ｂのそれぞれに格納する。
【０１０７】
格納される通信理由情報としては、上述したようにタスク生成のための通信処理であれば、「並列処理」を示す情報（例えば、並列処理に対応して予め定められている数値等のデータ）が格納される。
【０１０８】
（３）並列処理手段４０Ｐ０は、自身の割込制御装置６１Ｐ０の割込指示部６１ａに対して、プロセッサＰ１への割り込みを指示する。
【０１０９】
（４）割込制御装置６１Ｐ０の割込指示部６１ａは、プロセッサＰ１に対応する割込制御装置６１Ｐ１の割込状態保持部６１ｂに、割り込みを示す情報をセットする。これにより、プロセッサＰ１が割り込み状態となる。
【０１１０】
（５）プロセッサＰ１の並列処理手段４０Ｐ１は、制御処理中継手段６０の割込制御装置６１Ｐ１の割込状態保持部６１ｂの状態より、割り込みがセットされたことを判別する。
【０１１１】
（６）プロセッサＰ１の並列処理手段４０Ｐ１は、制御処理中継手段６０の自身の割込状態保持部６１ｂの割り込み情報をクリアすることにより、自身の割り込み状態を解除する。
【０１１２】
（７）プロセッサＰ１の並列処理手段４０Ｐ１は、さらに、制御処理中継手段６０の自身の通信領域６２Ｐ１の通信理由保持領域６２ａと通信データ保持領域６２ｂから、通信理由情報と通信データ（要求内容を含む必要データ）をそれぞれ取得する。
【０１１３】
（８）プロセッサＰ１の並列処理手段４０Ｐ１は、次の通信を受理できるようになった後、自身の通信領域６２Ｐ１の排他制御領域６２ｃのロックを解除する。具体的には、排他制御領域６２ｃに格納されるｌｏｃｋ変数をアンロック状態とすることにより、当該プロセッサＰ１用の通信領域６２Ｐ１が他のプロセッサから使用できるように解放する。
【０１１４】
以上のように、制御処理中継手段６０を用いることにより、第１プロセッサ側１０と第２プロセッサ側２０間で、制御信号やデータのやり取りが実現される。
【０１１５】
また、代理手段７０によるシグナル通知処理動作について、図８を参照して説明する。
【０１１６】
代理手段７０は、シングルプロセッサ向けＯＳ３０が第２プロセッサ側２０に生成したタスクＰＴ−１〜ＰＴ−ｎとシグナル（制御信号）による通信を行うための機能を有する。この代理手段７０には、対応するタスクＰＴ−１〜ＰＴ−ｎのタスク番号が保持されている。
【０１１７】
なお、複数のタスクＰＴ−１〜ＰＴ−ｎに一対一に代理手段７０を関連付けてもよいし、一つの代理手段７０に複数のタスクＰＴ−１〜ＰＴ−ｎを関連付けてもよい。
【０１１８】
（１）第１プロセッサ側１０の逐次タスクＳＴが、シングルプロセッサ向けＯＳ３０に対してシグナル通知のサービスを要求する。このシグナル通知によって通信されるシグナルは、シングルプロセッサ向けＯＳ３０が本来有するサービス機能により、第２プロセッサ側２０の各プロセッサＰ１〜Ｐｎ上で起動されているタスクＰＴ−１〜ＰＴ−ｎを制御するための制御信号である。
【０１１９】
（２）シングルプロセッサ向けＯＳ３０は、シグナルを対応する代理手段７０に通知する。
【０１２０】
（３）代理手段７０は、通知されたシグナルを制御処理中継手段６０を通じて、自身に対応する第２プロセッサ側２０のタスクＰＴ−１の存在するプロセッサＰ１〜Ｐｎへ通知する。ここで、通信理由情報としては、「並列処理」が設定される。
【０１２１】
（４）制御処理中継手段６０への通信理由情報が「並列処理」であることから、第２プロセッサ側２０の対応するプロセッサの並列処理手段４０Ｐ１〜４０Ｐｎは、制御処理中継手段６０からシグナル通知要求を取得する。
【０１２２】
（５）シグナル通知要求を取得した並列処理手段４０Ｐ１〜４０Ｐｎは、対応するタスクＰＴ−１〜ＰＴｎに対してシグナル（制御信号）を通知する。
【０１２３】
以上により、代理手段７０が第２プロセッサ側２０のプロセッサＰ０〜Ｐｎ上のタスクＰＴ−１〜ＰＴ−ｎとタスク番号によって関連付けられているので、第１プロセッサ側１０ではタスクＰＴ−１〜ＰＴ−ｎに対してシングルプロセッサ向けＯＳ３０によるシグナル通知のサービスを実行することが可能となる。
【０１２４】
最後に、第２プロセッサ側２０におけるタスク相互の連携動作について、図９と図１０を参照して説明する。
【０１２５】
タスク間の連携を取るための並列処理手段４０Ｐ１〜４０Ｐｎの構成を図９に示す。図示のように、並列処理手段４０Ｐ１〜４０Ｐｎは、相互排他手段４１Ｐ１〜４１Ｐｎを備えている。
【０１２６】
また、タスクの連携を取るため、主記憶装置９２内には、排他制御領域４３とタスク管理内容保持領域４４を有する。
【０１２７】
（１）プロセッサＰ１上のタスクＰＴ−１は、自身の並列処理手段４０Ｐ１に対して所望の並列処理を要求する。
【０１２８】
（２）プロセッサＰ１の並列処理手段４０Ｐ１は、相互排他手段４１Ｐ１に並列処理に用いる資源の確保のためにロック取得を要求する。
【０１２９】
（３）相互排他手段４１Ｐ１は、主記憶装置９２の排他制御領域４３を用いてロックを取得する。
【０１３０】
（４）相互排他手段４１Ｐ１は、並列処理手段４０Ｐ１に対してロック取得ができた旨を通知する。
【０１３１】
（５）並列処理手段４０Ｐ１は、タスク管理内容保持領域４４にプロセッサＰ１上の並列処理を要求したタスクＰＴ−１の管理内容（要求内容、タスク番号その他の必要なデータ）を保持する。
【０１３２】
（６）並列処理手段４０Ｐ１は、優先度の低いタスクを実行している他のプロセッサＰ２〜Ｐｎへ割り込みをかける。ここでは、プロセッサＰｎへの割り込みがかけられたものとする。
【０１３３】
（７）並列処理手段４０Ｐ１は、相互排他手段４１Ｐ１に対して上記確保したロックの解除を要求する。
【０１３４】
（８）相互排他手段４１Ｐ１は、主記憶装置９２の排他制御領域４３のロックを解除する。
【０１３５】
（９）相互排他手段４１Ｐ１は、並列処理手段４０Ｐ１に対してロックの解除完了を通知する。
【０１３６】
（１０）並列処理手段４０Ｐ１は、タスクＰＴ−１に処理を戻す。
【０１３７】
（１１）プロセッサＰｎの並列処理手段４０Ｐｎは、相互排他手段４１Ｐｎに対して並列処理に用いる資源の確保のためのロック取得を要求する。
【０１３８】
（１２）相互排他手段４１Ｐｎは、主記憶装置９２の排他制御領域４３を用いてロックを取得する。
【０１３９】
（１３）相互排他手段４１Ｐｎは、並列処理手段４０Ｐｎに対してロックの取得完了を通知する。
【０１４０】
（１４）並列処理手段４０Ｐｎは、タスク管理内容保持領域４４内に格納されているタスク管理内容を取得する。
【０１４１】
（１５）並列処理手段４０Ｐｎは、タスク管理内容に基づいて新たなタスクを生成起動する。
【０１４２】
（１６）並列処理手段４０Ｐｎは、相互排他手段４１Ｐｎに対して上記確保したロックの解除を要求する。
【０１４３】
（１７）相互排他手段４１Ｐｎは、主記憶装置９２の排他制御領域４３のロックを解除する。
【０１４４】
（１８）相互排他手段４１Ｐｎは、並列処理手段４０Ｐｎに対してロックの解除完了を通知する。
【０１４５】
以上のタスク連携動作により、あるプロセッサＰ１〜Ｐｎで起動しているタスクＰＴ−１〜ＰＴ−ｎが、自身の処理単位を他のプロセッサに対して並列処理させることが可能となる。
【０１４６】
上記のように構成される並列処理システムにおける適用例としては、例えばマルチプロセッサの携帯端末において、アプリケーションを動作させる場合を説明する。
【０１４７】
ここで、アプリケーションが携帯端末上で映像（動画）と音声を同時に再生する機能を有し、そのうち音声出力処理を逐次タスクＡとして、映像出力処理を並列化タスクＢとして第１プロセッサ側１０のプロセッサＰ０上で動作させる場合を想定して、図１１を参照して説明する。
【０１４８】
並列化タスクＢは、上述した並列処理手段によって、第２プロセッサ側２０のプロセッサＰ１〜Ｐｎの何れかにタスクＣとして生成され起動される。
【０１４９】
生成されたタスクＣは、ＯＳサービス手段のファイルアクセス処理によって映像の画面出力を実行する。
【０１５０】
また、逐次タスクＡによる音声出力は、シングルタスクＯＳ３０のサービスによって音声の出力が実行される。
【０１５１】
音声と映像の同期を定期的に取る場合には、上述した代理手段７０によるシグナル通知動作によって逐次タスクＡとタスクＣ間のシグナル通知を行うことで同期をとる。
【０１５２】
また、タスクＣにおいて、映像に編集を加える処理を実行する場合には、その編集処理をタスク連携処理によって他のプロセッサ上にタスクＤとして生成起動する。
【０１５３】
タスクＣによる映像出力処理が終了した場合には、タスクＣからファイルアクセス動作によってシングルプロセッサ向けＯＳに終了通知を行う。
【０１５４】
本並列処理システムにおいては、並列処理手段４０Ｐ０〜４０Ｐｎ、ＯＳサービス手段５０Ｐ０〜５０Ｐｎ、制御処理中継手段６０及び代理手段７０については、モジュールとして実装することにより、シングルプロセッサ向けＯＳ３０及びプロセッサＰ０上で実行されるアプリケーションに改造を加えることなく、マルチプロセッサのシステム構成上で、シングルプロセッサ向けＯＳ３０及びアプリケーションをオーバヘッドなく動作させることができると共に、マルチプロセッサによる並列処理の恩恵を受けることが可能となる。
【０１５５】
次に、本発明を適用する第２例の並列処理システムについて、図１２以下を参照して説明する。図１２は、この第２例の形態による並列処理システムの構成を示すブロック図であり、図１と共通の構成要素については同じ符号を用いている。図１２に示す第２例では、第１例における並列処理手段４０Ｐ０〜４０Ｐｎを、それぞれ並列処理通信手段４００Ｐ０〜４００Ｐｎと制御代理手段５００Ｐ０〜５００Ｐｎとで構成した場合を示している。
【０１５６】
図１２に示すように、本例の並列処理システムにおいて、システムバス９１で接続される複数のプロセッサ（ＣＰＵ）Ｐ０〜Ｐｎ（ｎは１以上の整数）からなるマルチプロセッサを、論理的に第１プロセッサ側１００と第２プロセッサ側２００の二組に分けて構成している点については、第１例と同様である。
【０１５７】
この第２例においては、第１プロセッサ側１００のプロセッサＰ０及び第２プロセッサ２００のプロセッサ（ＣＰＵ）Ｐ０〜Ｐｎの各プロセッサ上で動作するシングルプロセッサ向けＯＳ３００Ｐ０〜３００Ｐｎを実装している。
【０１５８】
また、第１プロセッサ側１００のプロセッサＰ０及び第２プロセッサ側２００のプロセッサＰ１〜Ｐｎのそれぞれに、並列処理を行うための並列処理通信手段４００Ｐ０〜４００Ｐｎと制御代理手段５００Ｐ０〜５００Ｐｎを実装して構成される。また、システムバス９１には、各プロセッサＰ０〜Ｐｎが共有する共有メモリとしての主記憶装置９２及びディスク装置等の外部記憶装置９３が接続されている。
【０１５９】
また、第１プロセッサ側１００と第２プロセッサ側２００間で、制御信号やデータのやり取りを行うための制御処理中継手段６００が独自に設けられている。
【０１６０】
なお、この第２例では、第１例で示した第１プロセッサ側１００のシングルプロセッサ向けＯＳ３００Ｐ０が第２プロセッサ側２００で実行されるプロセスと通信するための代理手段７０については、第１例と全く同じ機能を実行するため、便宜上省略している。
【０１６１】
また、第１例では、第２プロセッサ側２０のプロセッサＰ１〜Ｐｎ上のタスクからのファイルアクセス要求に対してタスクのｓｗｉｔｃｈ（スイッチ）がなされることを説明したが、本例においても、第２プロセッサ側２００からのファイルアクセスが可能であり、ファイルアクセス要求を行なった第２プロセッサ側２００のプロセスＰＰ−１〜ＰＰｎは、第２プロセッサ側２００のシングルプロセッサ向けＯＳ３００Ｐ１〜３００Ｐｎによってプロセスのｓｗｉｔｃｈ（スイッチ）が行なわれる。
【０１６２】
上記各プロセッサＰ０〜Ｐｎに実装されるシングルプロセッサ向けＯＳ３００Ｐ０〜３００Ｐｎについては、リアルタイムＯＳのようなメモリ保護機能を実現する仮想記憶機構を持たないＯＳだけではなく、既存のＯＳであるＬｉｎｕｘやＷｉｎｄｏｗｓ（Ｒ）等といった仮想記憶機構を備えるＯＳも用いることが可能であり、各プロセッサＰ０〜Ｐｎの全て、もしくは一部においてメモリ保護機構の実現が可能である点で第１例と相違する。
【０１６３】
なお、シングルプロセッサ向けＯＳ３００Ｐ０〜３００Ｐｎは、全部が同じ種類のＯＳである必要はなく、互いに異なる種類のＯＳであってもよい。
【０１６４】
この例では、並列処理を行うための処理単位であるタスクが互いのプロセッサ間でメモリ保護されており、その意味で第１例のタスクと区別するためにプロセスと称することとする。
【０１６５】
本例による並列処理システムにおいては、第１プロセッサ側１００のシングルプロセッサ向けＯＳ３００Ｐ０上で動作するアアプリケーションの処理単位のうち、並列化を行えないプロセス（逐次プロセスＳＰ）を第１プロセッサ側１００のプロセッサＰ０で処理し、アプリケーション内で並列化を行えるタスクを第２プロセッサ側２００において新たなプロセスＰＰ−１〜ＰＰ−ｎとして生成し並列処理をさせる。
【０１６６】
並列処理通信手段４００Ｐ０及び並列処理通信手段４００Ｐ１〜４００Ｐｎは、プロセスとシングルプロセッサ向けＯＳＯＳ３００Ｐ０〜３００Ｐｎとの間で、プロセスの生成、起動、停止、終了、削潤Ａ及びその他のプロセスに関する制御情報の受け渡しを行う機能を有する。
【０１６７】
ここで、第１プロセッサ側１００と第２プロセッサ側２００間においては、制御処理中継手段６００を介してタスクの生成、起動、停止、終了、削除等に関する制御情報やデータをやり取りする。
【０１６８】
また、制御代理手段５００Ｐ０及び制御代理手段５００Ｐ１〜５００Ｐｎは、シングルプロセッサ向けＯＳＯＳ３００Ｐ０〜３００Ｐｎからプロセスへの処理要求を入手してプロセスを起動する機能を有する。
【０１６９】
制御処理中継手段６００は、第１プロセッサ側１０と第２プロセッサ側２０間で、制御信号やデータのやり取りを行うための手段であり、複数のプロセッサで並列処理される複数のプロセス間の制御に使用される。
【０１７０】
以下、上記のように構成される第２例の並列処理システムの動作について、図面を参照して詳しく説明する。
【０１７１】
ここでは、第１プロセッサ側１００のシングルプロセッサ向けＯＳ３００Ｐ０上でアプリケーションが動作し、そのアプリケーションの処理単位のうち、第１プロセッサ側１００のプロセッサＰ０で処理する処理単位を逐次プロセスＳＰとし、アプリケーション内で並列化を行えるプロセスであって、第２プロセッサ側２００に対してタスクＰＰ−１〜ＰＰ−ｎとして並列処理をさせる処理単位を並列化プロセスＰＰとする。
【０１７２】
この第２例の並列処理システムにおいては、あるプロセス（タスク）を起動した後に、呼び出し側のプロセス（タスク）である並列化プロセスＰＰが、起動したプロセスＰＰ−１〜ＰＰ−ｎの終了を待ち合わせる並列処理の同期起動と、呼び出し側のプロセス（タスク）である並列化プロセスＰＰが、起動したプロセスＰＰ−１〜ＰＰ−ｎの終了を待ち合わせなくとよい並列処理の非同期起動とが可能である。
【０１７３】
まず、プロセスの並列処理の同期起動の動作について、図１３を参照して説明する。
【０１７４】
ここでは、第１プロセッサ側１００の並列化プロセスＰＰが、第２プロセッサ側２００のプロセッサＰｋ（１≦ｋ≦ｎ）において、第２プロセッサ側２００で起動させる処理単位であるプロセスＰＰ−ｋとして予め生成されているものとする。
【０１７５】
（１）第２プロセッサ側２００のプロセッサＰｋ（１≦ｋ≦ｎ）上のプロセスＰＰ−ｋが、並列処理通信手段４００Ｐｋに対して、自プロセスに属する処理の情報を登録する。これにより、プロセスＰＰ−ｋは待機状態となっている。
【０１７６】
（２）並列処理通信手段４００Ｐｋは、シングルプロセッサ向けＯＳ３００Ｐｋ経由で主記憶装置９２（共有メモリ）上に必要なデータをアクセスする要求を行う。
【０１７７】
（３）これにより、プロセスＰＰ−ｋに属する処理の情報が主記憶装置９２（共有メモリ）に格納される。
【０１７８】
（４）プロセッサＰ０上のプロセスＰＰは、並列処理通信手段４００Ｐ０に対して同期的な処理を依頼する。その後、プロセスＰＰは待機状態となる。
【０１７９】
（５）依頼を受けた並列処理通信手段４００Ｐ０は、シングルプロセッサ向けＯＳ３００Ｐ０経由で主記憶装置９２（共有メモリ）上のデータに対するアクセス要求を行う。
【０１８０】
（６）シングルプロセッサ向けＯＳ３００Ｐ０により主記憶装置９２（共有メモリ）がアクセスされる。
【０１８１】
（７）並列処理通信手段４００Ｐ０は、主記憶装置９２（共有メモリ）からプロセスＰＰ−ｋに属する処理の情報を取得する。これにより、プロセスＰＰ−ｋを実行するプロセッサ番号とプロセス番号が取得される。
【０１８２】
（８）並列処理通信手段４００Ｐ０は、シングルプロセッサ向けＯＳ３００Ｐ０経由で主記憶装置９２（共有メモリ）から取得した情報に基づいて通信依頼を要求する。
【０１８３】
（９）シングルプロセッサ向けＯＳ３００Ｐ０により、通信に必要な情報が制御処理中継手段６００に設定される。
【０１８４】
（１０）これにより、制御処理中継手段６００からプロセッサＰｋのシングルプロセッサ向けＯＳ３００Ｐｋに対して処理要求が送信される。
【０１８５】
（１１）プロセッサＰｋの制御代理手段５００Ｐｋは、シングルプロセッサ向けＯＳ３００Ｐｋ経由で送信された処理要求を入手する。
【０１８６】
（１２）そして、制御代理手段５００Ｐｋは、入手した処理要求によりプロセスＰＰ−ｋを起動する。
【０１８７】
（１３）これにより、待機状態にあったプロセスＰＰ−ｋは処理を実行する。
【０１８８】
（１４）処理が終了後、プロセスＰＰ−ｋは、その旨の情報を並列処理通信手段４００Ｐｋに通知する。
【０１８９】
（１５）通知を受けた並列処理通信手段４００Ｐｋは、シングルプロセッサ向けＯＳ３００Ｐｋ経由で通知された情報に基づいて通信依頼を要求する。
【０１９０】
（１６）シングルプロセッサ向けＯＳ３００Ｐｋにより、通信に必要な情報が制御処理中継手段６００に設定される。
【０１９１】
（１７）これにより、制御処理中継手段６００からプロセッサＰ０のシングルプロセッサ向けＯＳ３００Ｐ０に対して処理要求が送信される。
【０１９２】
（１８）プロセッサＰ０の制御代理手段５００Ｐ０は、シングルプロセッサ向けＯＳ３００Ｐ０経由で送信された処理要求を入手する。
【０１９３】
（１９）そして、制御代理手段５００Ｐ０は、入手した処理要求によりプロセスＰＰを起動する。
【０１９４】
以上により、第１プロセッサ側１００のプロセッサＰ０上のプロセスＰＰと第２プロセッサ側２００のプロセッサＰＰ−ｋとの間での同期的な処理が実現される。
【０１９５】
次に、プロセスの並列処理の非同期起動の動作について、図１４を参照して説明する。
【０１９６】
ここでも、第１プロセッサ側１００の並列化プロセスＰＰが、第２プロセッサ側２００のプロセッサＰｋ（１≦ｋ≦ｎ）において、第２プロセッサ側２００で起動させる処理単位であるプロセスＰＰ−ｋとして予め生成されているものとする。
【０１９７】
（１）処理を行っていた第２プロセッサ側２００のプロセッサＰｋ（１≦ｋ≦ｎ）上のプロセスＰＰ−ｋが、並列処理通信手段４００Ｐｋに対して、自プロセスに属する処理の情報を登録する。これにより、プロセスＰＰ−ｋは待機状態となる。
【０１９８】
（２）並列処理通信手段４００Ｐｋは、シングルプロセッサ向けＯＳ３００Ｐｋ経由で主記憶装置９２（共有メモリ）上に必要なデータをアクセスする要求を行う。
【０１９９】
（３）これにより、プロセスＰＰ−ｋに属する処理の情報が主記憶装置９２（共有メモリ）に格納される。
【０２００】
（４）プロセッサＰ０上のプロセスＰＰは、並列処理通信手段４００Ｐ０に対して非同期的な処理を依頼する。この場合、プロセスＰＰは待機状態となることなくその後も処理を継続する。
【０２０１】
（５）依頼を受けた並列処理通信手段４００Ｐ０は、シングルプロセッサ向けＯＳ３００Ｐ０経由で主記憶装置９２（共有メモリ）上のデータに対するアクセス要求を行う。
【０２０２】
（６）シングルプロセッサ向けＯＳ３００Ｐ０により主記憶装置９２（共有メモリ）がアクセスされる。
【０２０３】
（７）並列処理通信手段４００Ｐ０は、主記憶装置９２（共有メモリ）からプロセスＰＰ−ｋに属する処理の情報を取得する。これにより、プロセスＰＰ−ｋを実行するプロセッサ番号とプロセス番号が取得される。
【０２０４】
（８）並列処理通信手段４００Ｐ０は、シングルプロセッサ向けＯＳ３００Ｐ０経由で主記憶装置９２（共有メモリ）から取得した情報に基づいて通信依頼を要求する。
【０２０５】
（９）シングルプロセッサ向けＯＳ３００Ｐ０により、通信に必要な情報が制御処理中継手段６００に設定される。
【０２０６】
（１０）これにより、制御処理中継手段６００からプロセッサＰｋのシングルプロセッサ向けＯＳ３００Ｐｋに対して処理要求が送信される。
【０２０７】
（１１）プロセッサＰｋの制御代理手段５００Ｐｋは、シングルプロセッサ向けＯＳ３００Ｐｋ経由で送信された処理要求を入手する。
【０２０８】
（１２）そして、制御代理手段５００Ｐｋは、入手した処理要求によりプロセスＰＰ−ｋを起動する。
【０２０９】
（１３）これにより、待機状態にあったプロセスＰＰ−ｋは処理を実行する。
【０２１０】
以上により、第１プロセッサ側１００のプロセッサＰ０上のプロセスＰＰと第２プロセッサ側２００のプロセッサＰＰ−ｋとの間での非同期的な処理が実現される。
【０２１１】
さらに、第２例の並列処理システムにおける制御処理中継手段６００による処理動作について、図１５及び図１６を参照して説明する。
【０２１２】
まず、制御処理中継手段６００の構成を図１５に示す。図示のように、制御処理中継手段６００は、各プロセッサＰ０〜Ｐｎに対応した割り込み制御装置６０１Ｐ０〜６０１Ｐｎと、各プロセッサＰ０〜Ｐｎに対応した通信領域６０２Ｐ０〜６０２Ｐｎとを備えて構成される。ここで、通信領域６０２Ｐ０〜６０２Ｐｎは、主記憶装置９２内に確保される。
【０２１３】
上記割り込み制御装置６０１Ｐ０〜６０１Ｐｎについては、図６に示した第１例の制御処理中継手段６０の構成と同様であり、割込指示部６０１ａ、割込状態保持部６０１ｂ、割込取消部６０１ｃにより構成される。
【０２１４】
また、通信領域６０２Ｐ０〜６０２Ｐｎについても、図６に示した第１例と基本的に同じ構成であり、図６の通信理由保持領域６２ａと通信データ保持領域６２ｂとを組み合わせた通信キュー６０２ａと、排他制御領域６０２ｃにより構成される。
【０２１５】
第１プロセッサ側１００の並列処理通信手段４００Ｐ０から第２プロセッサ側２０のプロセッサＰｎへの通信処理を例にとり、図１６を参照してその動作を説明する。
【０２１６】
（１）並列処理通信手段４００Ｐ０は、プロセッサＰ１用の通信領域６０２Ｐｎの排他制御領域６０２ｂにロックをかける。具体的には、排他制御領域６０２ｂに格納されるｌｏｃｋ変数をロック状態とすることにより、当該プロセッサＰｎ用の通信領域６０２Ｐｎが他のプロセッサで使用されるのを排する。
【０２１７】
（２）並列処理通信手段４００Ｐ０は、通信理由情報と通信データ（要求内容を含む必要データ）を、通信領域６０２Ｐｎの通信キュー６０２ａに格納する。
【０２１８】
格納される通信理由情報としては、上述したようにプロセスの生成起動のための通信処理であれば、「プロセス起動」を示す情報（例えば、並列処理に対応して予め定められている数値等のデータ）が格納される。
【０２１９】
（３）（１）の時点で通信領域６０２Ｐｎの通信キュー６０２ａが空であった場合、並列処理通信手段４００Ｐ０は、自身の割込制御装置６０１Ｐ０の割込指示部６０１ａに対して、プロセッサＰｎへの割り込みを指示する。
【０２２０】
（４）プロセッサＰ０の並列処理通信手段４００Ｐ０は、プロセッサＰｎ用の通信領域６０２Ｐｎの排他制御領域６０２ｂをアンロック状態とする。（１）の時点で通信領域６０２Ｐｎの通信キュー６０２ａが空でない場合には、割り込みの必要がないので、ここで処理を終了する。
【０２２１】
（５）割込制御装置６０１Ｐ０の割込指示部６０１ａは、プロセッサＰｎに対応する割込制御装置６０１Ｐｎの割込状態保持部６０１ｂに、割り込みを示す情報をセットする。これにより、プロセッサＰｎが割り込み状態となる。
【０２２２】
（６）プロセッサＰｎのシングルプロセッサ向けＯＳ３００ｐｎは、プロセッサＰｎ用の割込制御装置６０１Ｐｎの割込状態保持部６０１ｂの状態より、割り込みを受理する。
【０２２３】
（７）プロセッサＰｎのシングルプロセッサ向けＯＳ３００ｐｎは、割込制御装置６０１Ｐｎの割込取消部６０１ｃによって自身の割込状態保持部６０１ｂの割り込み情報をクリアすることにより、自身の割り込み状態を解除する。
【０２２４】
（８）プロセッサＰｎのシングルプロセッサ向けＯＳ３００ｐｎは、自身の制御代理手段５００Ｐｎを起動する。
【０２２５】
（９）プロセッサＰｎの制御代理手段５００Ｐｎは、自身の通信領域６０２Ｐｎの排他制御領域６０２ｂにロックをセットする。
【０２２６】
（１０）プロセッサＰｎの制御代理手段５００Ｐｎは、さらに、自身の通信領域６０２Ｐｎの通信キュー６０２ａから、通信理由情報と通信データをそれぞれ削除する。
【０２２７】
（１１）プロセッサＰｎの制御代理手段５００Ｐｎが、プロセッサＰｎ用の通信領域６０２Ｐｎの排他制御領域６０２ｂをアンロックとする。これにより、当該プロセッサＰｎ用の通信領域６０２Ｐｎが他のプロセッサから使用できるようになる。
【０２２８】
以上のように、制御処理中継手段６００を用いることにより、第１プロセッサ側１００と第２プロセッサ側２００間で、制御信号やデータのやり取りが実現される。
【０２２９】
次に、本発明を適用する第３例による並列処理システムについて、図１７以下を参照して説明する。図１７は、この第３例の並列処理システムの構成を示すブロック図であり、図１３と共通の構成要素については同じ符号を用いている。
【０２３０】
上記説明した第２例における同期的な処理では、プロセス相互において、一方のプロセスが他方のプロセスによって主記憶装置９２上のデータが更新されたかどうかのチェックを繰り返す必要があり、その繰り返しの分だけ余計な処理が発生していたが、本例では、そのような余計な処理を必要としない高性能なプロセス間の同期とデータ受け渡しを可能にするものである。
【０２３１】
図１７に示すように、第３例の並列処理システムにおいては、第２例と同様に、システムバス９１で接続される複数のプロセッサ（ＣＰＵ）Ｐ０〜Ｐｎ（ｎは１以上の整数）からなるマルチプロセッサを、論理的に第１プロセッサ側１００と第２プロセッサ側２００の二組に分けて構成し、第１プロセッサ側１００のプロセッサＰ０及び第２プロセッサ２００のプロセッサ（ＣＰＵ）Ｐ０〜Ｐｎの各プロセッサ上で動作するシングルプロセッサ向けＯＳ３００Ｐ０〜３００Ｐｎを実装している。
【０２３２】
この第３例では、第２例において、第１プロセッサ側１００のプロセッサＰ０及び第２プロセッサ側２００のプロセッサＰ１〜Ｐｎの並列処理を行うための並列処理通信手段４００Ｐ０〜４００Ｐｎと制御代理手段５００Ｐ０〜５００Ｐｎに加えて、第１プロセッサ側１００のプロセッサＰ０及び第２プロセッサ側２００のプロセッサＰ１〜Ｐｎ上で実行される各プロセス間での通信を実現するためのプロセス間通信手段１０００Ｐ０〜１０００Ｐｎを新たに備えた点を特徴としている。
【０２３３】
すなわち、本例では、これまでマルチプロセッサ向けＯＳに実装されていたプロセス間通信の機能を、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させるシングルプロセッサ向けＯＳによる並列処理システム上で実現するものであり、ユーザレベルによるプロセス間通信機能の実装を可能にしている。
【０２３４】
なお、この例でも、第１例で示した第１プロセッサ側１００のシングルプロセッサ向けＯＳ３００Ｐ０が第２プロセッサ側２００で実行されるプロセスと通信するための代理手段７０については、第１例と全く同じ機能を実行するため、便宜上省略している。
【０２３５】
上記プロセス間通信手段１０００Ｐ０〜１０００Ｐｎ以外の構成要素に関する構成及び動作については、上述した第２例と全く同じであるので、以下では、プロセス間通信手段１０００Ｐ０〜１０００Ｐｎについてのみ説明することとする。
【０２３６】
上記プロセス間通信手段１０００Ｐ０〜１０００Ｐｎは、セマフォ（ｓｅｍａｐｈｏｒｅ）やメッセージキュー等の方式を用いることにより、プロセッサＰ１〜Ｐｎ上で実行される各プロセス間での通信を実現するものである。
【０２３７】
ここでは、プロセス間通信手段１０００Ｐ０〜１０００Ｐｎがセマフォ方式を用いてプロセス間通信を行なう場合について説明する。
【０２３８】
図１８に示すように、第２プロセッサ側２００のプロセッサＰｍとプロセッサＰｎ上でそれぞれプロセスＰＰ−ｍとプロセスＰＰ−ｎが実行されている場合において、プロセスＰＰ−ｍとプロセスＰＰ−ｎがプロセス間通信手段１０００Ｐｍと１０００Ｐｎによるセマフォ方式を用いて通信を行う場合について説明する。
【０２３９】
セマフォ方式とは、複数のプロセスが同時実行されるマルチタスクＯＳにおいて、複数プロセス間で通信して同期をとるための方式であり、セマフォは一種の共有フラグ（カウンタ）で、同期をとるプロセス同士がこのカウンタに注目し、カウンタの変化に応じて処理を行なうようにすることで通信（同期）を実現する。
【０２４０】
まず、図１８において、プロセッサＰｍ上のプロセスＰＰ−ｍが主記憶装置９２のセマフォ情報領域（共有フラグ）をｕｐ又はｄｏｗｎする場合の動作を説明する。ここで、セマフォｕｐは、セマフォ情報領域のカウンタ値をインクリメントし、セマフォｄｏｗｎは、セマフォ情報領域のカウンタ値をデクリメントする。セマフォｄｏｗｎできない場合、当該プロセスはスリープして待ち状態となり、セマフォｕｐによってウェイクアップされる。
【０２４１】
（１）プロセッサＰｍ上のプロセスＰＰ−ｍがセマフォ（セマフォカウンタ）をｕｐ又はｄｏｗｎする場合、プロセス間通信手段１０００Ｐｍにその旨を要求する。
【０２４２】
（２）要求を受けたプロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているセマフォ番号で区別される共有フラグとしてのセマフォ情報領域＃Ｎ（このセマフォ情報領域は、システムによって予め決定される数だけ確保される）にアクセスすることにより、セマフォをｕｐ又はｄｏｗｎできることが判明する。
【０２４３】
次に、図１９において、プロセッサＰｍ上のプロセスＰＰ−ｍがセマフォ（セマフォフラグ）をｄｏｗｎする場合の動作を説明する。
【０２４４】
（１）プロセッサＰｍ上のプロセスＰＰ−ｍがセマフォ（セマフォフラグ）をｄｏｗｎしようとプロセス間通信手段１０００Ｐｍに要求する。
【０２４５】
（２）要求を受けたプロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているセマフォ情報領域＃Ｎにアクセスする。ここでは、セマフォ情報領域＃Ｎには、セマフォのカウンタ値として初期値「０」が設定されており、ｄｏｗｎしようとしてもｄｏｗｎできないように予め定められている。よって、セマフォをｄｏｗｎできないことが判明する。
【０２４６】
（３）プロセス間通信手段１０００Ｐｍは、シングルプロセッサ向けＯＳ３００Ｐｍに対しシステムコールを用いて上記プロセスＰＰ−ｍをスリープさせるように要求する。
【０２４７】
（４）シングルプロセッサ向けＯＳ３００Ｐｍはシステムコールを用いてプロセスＰＰ−ｍをスリープさせ、ランキューから外す。
【０２４８】
すなわち、上記の場合、プロセスＰＰ−ｍはセマフォをｄｏｗｎできないのでスリープする。
【０２４９】
さらに、図２０において、上記のようにプロセスＰＰ−ｍがスリープした状態で、同じプロセッサＰｍ上のプロセスＰＰ−ｍ１がセマフォをｕｐする場合の動作を説明する。
【０２５０】
（１）プロセスＰＰ−ｍ１がセマフォのｕｐをプロセス間通信手段１０００Ｐｍに要求する。
【０２５１】
（２）プロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているセマフォ情報領域＃Ｎにアクセスすることにより、セマフォ待ちのプロセスＰＰ−ｍが存在することが判明する。
【０２５２】
（３）さらに、プロセス間通信手段１０００Ｐｍは、制御処理中継手段６００に対してメッセージ（制御メッセージ）を送信することで、プロセスＰＰ−ｍのウェイクアップを要求する。
【０２５３】
（４）制御代理手段５００Ｐｍが、制御処理中継手段６００からメッセージを受信する。この制御処理中継手段６００によるメッセージの中継は、図１５、図１６で説明した動作に基づいて行われる。
【０２５４】
（５）制御代理手段５００Ｐｍは、メッセージからセマフォ待ちのプロセスのウェイクアップ要求であると判断し、シングルプロセッサ向けＯＳ３００Ｐｍに対しシステムコールを用いて待ち状態の上記プロセスＰＰ−ｍをウェイクアップさせるよう要求する。
【０２５５】
（６）シングルプロセッサ向けＯＳ３００Ｐｍは、システムコールを用いて要求されたプロセスＰＰ−ｍをウェイクアップし、ランキューへつなぐ。この場合、ウェイクアップされたプロセスＰＰ−ｍは再度セマフォをｄｏｗｎしようと試みる。
【０２５６】
なお、上記処理（３）、（４）における制御処理中継手段６００による制御メッセージの中継を利用することなく、シングルプロセッサ向けＯＳ３００Ｐｍの通信機能を用いて、プロセス間通信手段１０００Ｐｍから制御代理手段５００Ｐｍに対して直接プロセスＰＰ−ｍのウェイクアップを要求するようにすれば、処理（３）、（４）が簡略されて高速化が可能である。
【０２５７】
図２１において、上記のようにプロセッサＰｍ上のプロセスＰＰ−ｍがスリープした状態で、他のプロセッサＰｎ上のプロセスＰＰ−ｎがセマフォをｕｐする場合の動作を説明する。
【０２５８】
（１）プロセッサＰｎ上のプロセスＰＰ−ｎがセマフォのｕｐを自プロセッサＰｎのプロセス間通信手段１０００Ｐｎに要求する。
【０２５９】
（２）プロセス間通信手段１０００Ｐｎは、主記憶装置９２に確保されているセマフォ情報領域＃Ｎにアクセスすることにより、セマフォ待ちのプロセスＰＰ−ｍが存在することが判明する。
【０２６０】
（３）さらに、プロセス間通信手段１０００Ｐｎは、制御処理中継手段６００に対してメッセージ（制御メッセージ）を送信することで、プロセスＰＰ−ｍのウェイクアップを要求する。
【０２６１】
（４）次いで、プロセッサＰｍの制御代理手段５００Ｐｍが、制御処理中継手段６００からメッセージを受信する。この制御処理中継手段６００によるメッセージの中継は、図１５、図１６で説明した動作に基づいて行われる。
【０２６２】
（５）制御代理手段５００Ｐｍは、メッセージからセマフォ待ちのプロセスのウェイクアップ要求であると判断し、シングルプロセッサ向けＯＳ３００Ｐｍに対しシステムコールを用いて待ち状態の上記プロセスＰＰ−ｍをウェイクアップさせるよう要求する。
【０２６３】
（６）シングルプロセッサ向けＯＳ３００Ｐｍは、システムコールを用いて要求されたプロセスＰＰ−ｍをウェイクアップし、ランキューへつなぐ。この場合、ウェイクアップされたプロセスＰＰ−ｍは再度セマフォをｄｏｗｎしようと試みる。
【０２６４】
次に、図２２に示すように、第２プロセッサ側２００のプロセッサＰｍとプロセッサＰｎ上でそれぞれプロセスＰＰ−ｍとプロセスＰＰ−ｎが実行されている場合において、プロセスＰＰ−ｍとプロセスＰＰ−ｎがプロセス間通信手段１０００Ｐｍと１０００Ｐｎによるメッセージキュー方式を用いて通信を行う場合について説明する。
【０２６５】
メッセージキュー方式とは、複数のプロセス間で通信を行なう方法であって、名前の通り「キュー」を作成して、そこに情報としてのメッセージ（プロセス相互でやり取りされる処理データ）を格納していく方式である。メッセージキュー方式では、受け取り側のプロセスはそのメッセージを任意の順番で受け取ることができる。また、メッセージを何れかのプロセスが受け取るとそのメッセージはキューから消える。
【０２６６】
図２２において、プロセッサＰｍ上のプロセスＰＰ−ｍがメッセージキュー方式によってメッセージを受信する場合の動作を説明する。ここでは、取得すべきメッセージが主記憶装置９２に確保されているキュー番号で区別されるキュー情報領域＃Ｎ（このキュー情報領域は、システムによって予め決定される数だけ確保される）に存在する場合である。
【０２６７】
（１）プロセッサＰｍ上のプロセスＰＰ−ｍがメッセージの受信をするためにプロセス間通信手段１０００Ｐｍにその旨を要求する。
【０２６８】
（２）要求を受けたプロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているキュー情報領域＃Ｎをアクセスし、メッセージを受信する。
【０２６９】
（３）そして、プロセス間通信手段１０００Ｐｍは、受信したメッセージを要求元のプロセスＰＰ−ｍにコピーする。この時点で当該メッセージは主記憶装置９２に確保されているキュー情報領域＃Ｎから消去される。
【０２７０】
次に、図２３において、プロセッサＰｍ上のプロセスＰＰ−ｍがメッセージキュー方式によってメッセージを受信する場合の第２の動作を説明する。ここでは、取得すべきメッセージが主記憶装置９２に確保されているキュー情報領域＃Ｎに存在しない場合である。
【０２７１】
（１）プロセッサＰｍ上のプロセスＰＰ−ｍがメッセージの受信をするためにプロセス間通信手段１０００Ｐｍにその旨を要求する。
【０２７２】
（２）要求を受けたプロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているキュー情報領域＃Ｎにアクセスする。この場合、取得すべきメッセージがに確保されているキュー情報領域＃Ｎに存在せず、メッセージを受信できないことが判明する。
【０２７３】
（３）プロセス間通信手段１０００Ｐｍは、シングルプロセッサ向けＯＳ３００Ｐｍに対しシステムコールを用いて上記プロセスＰＰ−ｍをスリープさせるように要求する。
【０２７４】
（４）シングルプロセッサ向けＯＳ３００Ｐｍはシステムコールを用いてプロセスＰＰ−ｍをスリープさせ、ランキューから外す。
【０２７５】
すなわち、上記の場合、プロセスＰＰ−ｍはメッセージを受信できないのでスリープする。
【０２７６】
図２４において、プロセッサＰｍ上のプロセスＰＰ−ｍがメッセージキュー方式によってメッセージを送信する場合の動作を説明する。ここでは、送信しようとするメッセージ待ちのプロセスが存在せず、主記憶装置９２に確保されているキュー情報領域＃Ｎへのメッセージの送信のみを行なう場合である。
【０２７７】
（１）プロセッサＰｍ上のプロセスＰＰ−ｍがメッセージの送信するためにプロセス間通信手段１０００Ｐｍにその旨を要求する。
【０２７８】
（２）要求を受けたプロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているキュー情報領域＃Ｎにアクセスし、プロセスＰＰ−ｍからのメッセージを格納する。
【０２７９】
さらに、図２５において、プロセッサＰｍ上のプロセスがメッセージキュー方式によってメッセージを送信する場合の動作を説明する。ここでは、送信しようとするメッセージ待ちのプロセスが存在する場合である。すなわち、図２３の例のように、プロセスＰＰ−ｍがメッセージを受信できずにスリープしている状態でプロセスＰＰ−ｍ１からメッセージが送信される場合である。
【０２８０】
（１）プロセスＰＰ−ｍ１がメッセージの送信をプロセス間通信手段１０００Ｐｍに要求する。
【０２８１】
（２）プロセス間通信手段１０００Ｐｍは、主記憶装置９２に確保されているキュー情報領域＃Ｎにアクセスし、プロセスＰＰ−ｍ１からのメッセージを格納する。ここで、メッセージ待ちのプロセスＰＰ−ｍが存在することが判明する。
【０２８２】
（３）さらに、プロセス間通信手段１０００Ｐｍは、制御処理中継手段６００に対して制御メッセージを送信することで、プロセスＰＰ−ｍのウェイクアップを要求する。
【０２８３】
（４）制御代理手段５００Ｐｍが、制御処理中継手段６００から制御メッセージを受信する。
【０２８４】
（５）制御代理手段５００Ｐｍは、制御メッセージからメッセージ待ちのプロセスのウェイクアップ要求であると判断し、シングルプロセッサ向けＯＳ３００Ｐｍに対しシステムコールを用いて待ち状態の上記プロセスＰＰ−ｍをウェイクアップさせるよう要求する。
【０２８５】
（６）シングルプロセッサ向けＯＳ３００Ｐｍは、システムコールを用いて要求されたプロセスＰＰ−ｍをウェイクアップし、ランキューへつなぐ。
【０２８６】
この場合、ウェイクアップされたプロセスＰＰ−ｍは再度メッセージの受信を試みる。これにより、プロセスＰＰ−ｍ１からのメッセージがプロセスＰＰ−ｍで受信される。
【０２８７】
なお、上記処理（３）、（４）における制御処理中継手段６００による制御メッセージの中継を利用することなく、シングルプロセッサ向けＯＳ３００Ｐｍの通信機能を用いて、プロセス間通信手段１０００Ｐｍから制御代理手段５００Ｐｍに対して直接プロセスＰＰ−ｍのウェイクアップを要求するようにすれば、処理（３）、（４）が簡略されて高速化が可能である。
【０２８８】
図２６において、図２３に示すようにプロセッサＰｍ上のプロセスＰＰ−ｍがスリープしてメッセージ待ちの状態で、他のプロセッサＰｎ上のプロセスＰＰ−ｎがメッセージを送信する場合の動作を説明する。
【０２８９】
（１）プロセッサＰｎ上のプロセスＰＰ−ｎがメッセージの送信を自プロセッサＰｎのプロセス間通信手段１０００Ｐｎに要求する。
【０２９０】
（２）プロセス間通信手段１０００Ｐｎは、主記憶装置９２に確保されているキュー情報領域＃Ｎにアクセスし、プロセスＰＰ−ｎからのメッセージを格納する。ここで、メッセージ待ちのプロセスＰＰ−ｍが存在することが判明する。
【０２９１】
（３）さらに、プロセス間通信手段１０００Ｐｎは、制御処理中継手段６００に対して制御メッセージを送信することで、プロセスＰＰ−ｍのウェイクアップを要求する。
【０２９２】
（４）次いで、プロセッサＰｍの制御代理手段５００Ｐｍが、制御処理中継手段６００から制御メッセージを受信する。
【０２９３】
（５）制御代理手段５００Ｐｍは、制御メッセージからメッセージ待ちのプロセスのウェイクアップ要求であると判断し、シングルプロセッサ向けＯＳ３００Ｐｍに対しシステムコールを用いて待ち状態の上記プロセスＰＰ−ｍをウェイクアップさせるよう要求する。
【０２９４】
（６）シングルプロセッサ向けＯＳ３００Ｐｍは、システムコールを用いて要求されたプロセスＰＰ−ｍをウェイクアップし、ランキューへつなぐ。
【０２９５】
この場合、ウェイクアップされたプロセスＰＰ−ｍは再度メッセージの受信を試みる。これにより、プロセスＰＰ−ｎからのメッセージがプロセスＰＰ−ｍで受信され、異なるプロセッサ相互でプロセス間の通信が実行される。
【０２９６】
本例の並列処理システムによれば、上記のようにプロセス間通信手段１０００Ｐ０〜Ｐｎによって、セマフォ方式又はメッセージキュー方式を用いた同一プロセッサ内又は異なるプロセッサ間のプロセス通信（同期又はメッセージの送受）を行うことにより、プロセス切り替えなどのプロセス制御やデータのやり取りを行うことが可能となる。
【０２９７】
シングルプロセッサ向けＯＳによるプロセス間通信は、同一プロセッサ内のプロセス間に限られ、異なるプロセッサ間でのプロセス通信は処理の重いネットワーク等を利用して行う必要があったが、ネットワーク通信に比べて処理の高速な制御処理中継手段６００とプロセス間通信手段１０００Ｐ０〜Ｐｎによるセマフォ方式又はメッセージキュー方式を用いることで、シングルプロセッサ向けＯＳを実装するマルチプロセッサシステムにおいても、処理の早いプロセス間通信が実現できる。
【０２９８】
同一プロセッサ内のプロセス間通信に関しては、シングルプロセッサ向けＯＳによるプロセスのスリープからウェイクアップに要する処理性能とほぼ同等の性能が得られる。
【０２９９】
また、マルチプロセッサ向けＯＳと異なり、プロセッサ毎に異なるシングルプロセッサ向けＯＳを実装していてもプロセッサ相互でのプロセス間通信が可能となる利点がある。
【０３００】
次に、上記プロセス間通信手段１０００Ｐ０〜１０００Ｐｎによるセマフォ方式及びメッセージキュー方式を用いたプロセス間通信の具体例について、図２７を参照して説明する。
【０３０１】
図２７において、プロセッサＰ０上でプロセスＰＰ−０が、プロセッサＰｊ上でプロセスＰＰ−ｊが、プロセッサＰｋ上でプロセスＰＰ−ｋがそれぞれ実行されている。ここでは、プロセスＰＰ−０がブラウザ、プロセスＰＰ−ｊがｊａｖａ（Ｒ）アプレット、プロセスＰＰ−ｋがＭＰＥＧ４アプリケーションとして動作し、図２８に示すように、プロセスＰＰ−０によるブラウザ１１００に埋め込まれたウィンドウ内で、プロセスＰＰ−ｊによるｊａｖａ（Ｒ）アプレットのコンテンツ１２００と、プロセスＰＰ−ｋによるＭＰＥＧ４映像コンテンツ１３００とが同期して表示される。
【０３０２】
この例では、第１プロセッサ側１００のシングルプロセッサ向けＯＳ３００Ｐ０上で動作するアアプリケーションの処理単位のうち、プロセスＰＰ−０をプロセッサＰ０上で動作させ、アプリケーション内で並列化を行えるプロセスであるプロセスＰＰ−ｊとプロセスＰＰ−ｋを第２プロセッサ側２００のプロセッサＰｊとプロセッサＰｋにおいて並列処理する場合である。
【０３０３】
図２７において、ｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）とＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）は起動されると、共にブラウザ（プロセスＰＰ−０）からのｊａｖａ（Ｒ）アプリデータ及びＭＰＥＧ４映像データの受信を待つ（ステップＳ１０１、Ｓ２０１）。
【０３０４】
ここで、プロセッサＰ０のプロセスＰＰ−０からプロセス間通信手段１０００Ｐ０によるメッセージ送信を利用して、ｊａｖａ（Ｒ）アプリデータ及びＭＰＥＧ４映像データがメッセージとして送信され、ｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）及びＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）で受信される。
【０３０５】
これにより、ｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）による動作が開始され（ステップＳ１０２）、ＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）によるデコード処理が開始される（ステップＳ２０２）。
【０３０６】
この例では、ｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）による動作の方がＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）によるデコード処理より早く終了することが予め分かっており、ｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）は動作終了後に、ＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）の処理完了を待つように、セマフォのカウンタの初期値を「０」に設定し、早く終了したｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）がセマフォｄｏｗｎできないようになっている。また、ＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）は処理終了後にセマフォｕｐするように定義されている。
【０３０７】
ｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）は、セマフォｄｏｗｎしようとするが（ステップＳ１０３）、カウンタの初期値が「０」であるためにｄｏｗｎできずにスリープされ、セマフォ待ちの状態となる。
【０３０８】
ＭＰＥＧ４アプリケーション（プロセスＰＰ−ｋ）が処理が終了すると（ステップＳ２０３）、セマフォｕｐを要求する（ステップＳ２０４）。これにより、セマフォ待ちのｊａｖａ（Ｒ）アプレット（プロセスＰＰ−ｊ）がウェイクアップされ、セマフォｄｏｗｎが可能となる。
【０３０９】
以上の動作を、フレーム毎に繰り返すことにより、プロセスＰＰ−０によるブラウザ１１００に埋め込まれたウィンドウ内で、プロセスＰＰ−ｊによるｊａｖａ（Ｒ）アプレットのコンテンツ１２００と、プロセスＰＰ−ｋによるＭＰＥＧ４映像コンテンツ１３００とが同期して表示される。
【０３１０】
次に、本発明の第４例の並列処理システムについて、図２９以下を参照して説明する。図２９は、この第４例の並列処理システムの構成を示すブロック図であり、図１３と共通の構成要素については同じ符号を用いている。
【０３１１】
図２９に示すように、第４例の並列処理システムにおいては、システムバス９１で接続される複数のプロセッサ（ＣＰＵ）Ｐ１〜Ｐｎ（ｎは２以上の整数）からなるマルチプロセッサを構成しており、プロセッサＰ１〜Ｐｎの各プロセッサ上で動作するシングルプロセッサ向けＯＳ３００Ｐ１〜３００Ｐｎを実装している。
【０３１２】
すなわち、マルチプロセッサを、論理的に第１プロセッサ側と第２プロセッサ側の二組に分ける構成をとっていない点が、第１例から第３例と相違する。
【０３１３】
この第４例では、上記第３例と同様に、プロセッサＰ１〜Ｐｎの並列処理を行うための並列処理通信手段４００Ｐ１〜４００Ｐｎと制御代理手段５００Ｐ１〜５００Ｐｎに加えて、プロセッサＰ１〜Ｐｎ上で実行される各プロセス間での通信を実現するためのプロセス間通信手段１０００Ｐ１〜１０００Ｐｎを備えている。
【０３１４】
一方、第１例のようなＯＳサービス手段５０Ｐ１〜５０Ｐｎや、第１例から第３例のような並列処理通信手段４００Ｐ１〜４００Ｐｎを備えることなく、各プロセッサＰ１〜Ｐｎ上のプロセス制御が可能である。また、各プロセッサＰ１〜Ｐｎ上のシングルプロセッサ向けＯＳ３００Ｐ１〜３００Ｐｎについては、同じＯＳである必要はなく互いに異なっていてもよい。
【０３１５】
すなわち、本例でも、これまでマルチプロセッサ向けＯＳに実装されていたプロセス間通信の機能を、マルチプロセッサ上でシングルプロセッサ向けＯＳ及びアプリケーションを動作させるシングルプロセッサ向けＯＳによる並列処理システム上で実現するものであり、ユーザレベルによるプロセス間通信機能の実装を可能にしている。
【０３１６】
この各プロセッサＰ１〜プロセッサＰｎ内における各プロセスの実行については、他のプロセッサとの排他制御を必要とすることなく行われる。
【０３１７】
個々のプロセッサＰ１〜プロセッサＰｎ内におけるプロセス間通信及びプロセッサ相互におけるプロセス間通信については、第３例で説明したように、プロセス間通信手段１０００Ｐ１〜１０００Ｐｎによるセマフォ方式及びメッセージキュー方式を用いて行われ、プロセス相互の同期処理及びデータの受け渡しが実行される。
【０３１８】
上記並列処理システムに適用される本発明のセキュリティ管理システムについて図３０を参照して説明する。ここでは、第１例として示した並列処理システムに対して本発明のセキュリティ管理システムを適用した第１の実施の形態について説明する。
【０３１９】
第１の実施の形態によるセキュリティ管理システムは、図１に示した第１例による並列処理システムの構成と同様の構成であり、の第１プロセッサ側１０のプロセッサＰ０と第２プロセッサ側２０のプロセッサＰ１〜Ｐｎ０に備えられるＯＳサービス手段１５００Ｐ０、１５００Ｐ１〜１５００Ｐｎが、ＨＤやＦｌａｓｈ  ＲＯＭ等からなる外部記憶装置９３に格納された制御ファイル２０００Ｐ０〜２０００Ｐｎに基づいてタスク毎或いは各プロセッサ毎にアクセス制御やアクセスの量的制御等によるセキュリティを実現する機能を有する点が相違している。図１と同じ構成については同じ符号を付し説明を省略する。
【０３２０】
本実施の形態においては、ＯＳサービス手段１５００Ｐ０、１５００Ｐ１〜１５００Ｐｎにセキュリティ機能を付加することで、ユーザレベルでのセキュリティへの対応を可能としている。
【０３２１】
外部記憶装置９３に格納される制御ファイル２０００Ｐ０〜２０００Ｐｎのセキュリティ内容の設定例を図３１に示す。図３１の制御ファイル２０００Ｐ０〜２０００Ｐｎにおいては、以下のようなセキュリティ内容が定義されている。これら制御ファイル２０００Ｐ０〜２０００Ｐｎで設定されるセキュリティ内容はそれぞれ同じ内容でもよいし、互いに異なる内容であってもよい。
【０３２２】
各プロセッサＰ０、Ｐ１〜Ｐｎ上で実行されるタスク毎の制御レベルについて、タスクＡ、Ｂ、ＣがＬｅｖｅｌ０、タスクＤ、ＦがＬｅｖｅｌ１、その他のタスクがＬｅｖｅｌ２に設定されている。
【０３２３】
各制御レベル毎のアクセス制御内容について、Ｌｅｖｅｌ０が全てのアクセスが可能、Ｌｅｖｅｌ１が読み込みのアクセスのみ可能、Ｌｅｖｅｌ２が画面を除く外部出力は一切不可であることが設定されている。
【０３２４】
また、制御レベル毎の量的な制限内容については、Ｌｅｖｅｌ０が標準的な制限、Ｌｅｖｅｌ１が読み込みファイルが１つまで、Ｌｅｖｅｌ２がセマフォは使用不可であることが設定されている。
【０３２５】
なお、図３１の例では、制御ファイルにタスク毎に制御レベルを設定した例を示したが、それ以外に各プロセッサＰ０、Ｐ１〜Ｐｎ毎に制御レベルを設定することも可能である。
【０３２６】
ここで、本実施の形態によるセキュリティ管理システムの動作について、図３２を参照してステップ毎に説明する。
【０３２７】
まず、外部記憶装置９３に格納される制御ファイル２０００Ｐ１〜２０００ＰｎがプロセッサＰ０〜Ｐｎに読み込まれる場合の動作を説明する。
【０３２８】
（１）プロセッサＰ１上のＯＳサービス手段１５００Ｐ１が起動後に自プロセッサ用の制御ファイル２０００Ｐ１を取得するため、外部記憶装置９３に格納されている制御ファイル２０００Ｐ１の読み込み要求を制御処理中継手段６０へ転送する。
【０３２９】
（２）プロセッサＰ０のＯＳサービス手段１５００Ｐ０は、制御処理中継手段６０から上記読み込み要求を受け取る。
【０３３０】
（３）プロセッサＰ０のＯＳサービス手段１５００Ｐ０は、シングルプロセッサ向けＯＳ３０に対して制御ファイル２０００Ｐ１の読み込み要求を発行する。
【０３３１】
（４）シングルプロセッサ向けＯＳ３０は、外部記憶装置９３に制御ファイル２０００Ｐ１のアクセス要求を発行する。
【０３３２】
（５）シングルプロセッサ向けＯＳ３０は、外部記憶装置９３から制御ファイル２０００Ｐ１の内容を受け取る。
【０３３３】
（６）シングルプロセッサ向けＯＳ３０は、制御ファイル２０００Ｐ１のセキュリティ内容をプロセッサＰ０のＯＳサービス手段１５００Ｐ０に渡す。
【０３３４】
（７）プロセッサＰ０のＯＳサービス手段１５００Ｐ０は、制御処理中継手段６０を介して上記制御ファイル２０００Ｐ１のセキュリティ内容を転送する。
【０３３５】
（８）プロセッサＰ１のＯＳサービス手段１５００Ｐ１は、制御処理中継手段６０を介して転送された制御ファイル２０００Ｐ１のセキュリティ内容に従って、プロセッサＰ１上で実行されるタスクＰＴ−１についてセキュリティの制御を行う。
【０３３６】
なお、制御ファイル２０００Ｐ１の内容が一度の読み込み要求で全て読み取れない場合には、必要事項（例えば、図３１において、各タスクの制御レベル）だけを読み込み要求し、その他の事項についてはタスクからの処理要求がある度に逐次読み込みを行うようにしてもよい。
【０３３７】
さらに、上記のように外部記憶装置９３から制御ファイルの読み込みを行うことなく、制御ファイル２０００Ｐ０〜２０００Ｐｎに設定されるセキュリティ内容を予め各プロセッサＰ０〜ＰｎのＯＳサービス手段１５００Ｐ０〜１５００Ｐｎに組み込んでおくようにしてもよい。
【０３３８】
上記のように読み込まれた制御ファイル２０００Ｐ１のセキュリティ内容に基づいてタスクからの要求が制御される場合の動作について説明する。
【０３３９】
まず、プロセッサＰ１上のあるタスクＰＴ−１からの要求が制御ファイル２０００Ｐ１で設定されるセキュリティ機能によって制限される場合について、図３３及び図３４を用いて説明する。
【０３４０】
（１）プロセッサＰ１上のタスクＰＴ−１が同じプロセッサ上のＯＳサービス手段１５００Ｐ１に対して所定の処理を要求する。
【０３４１】
ＯＳサービス手段１５００Ｐ１は、上記のようにして取得した制御ファイル２０００Ｐ１のセキュリティ内容に基づいて、タスクＰＴ−１からの当該要求を受理すべきかどうかを判断する。具体的には、タスクＰＴ−１に設定されている制御レベルにおいて当該要求が許可されているかどうかを判断する。
【０３４２】
（２）当該要求が許可されていない場合、ＯＳサービス手段１５００Ｐ１が要求元のタスクＰＴ−１に対してエラーを返す。これにより、タスクＰＴ−１に対して制御ファイル２０００Ｐ１において許可されてない処理要求は禁止されることになる。
【０３４３】
例えば、プロセッサＰ１上のタスクＰＴ−１について、制御ファイル２０００Ｐ１によって制御レベルＬｅｖｅｌ１に設定され、読み込みのアクセスのみが許可されている場合、このこのようなタスクＰＴ−１からあるファイルへの書き込みアクセスの要求があると、ＯＳサービス手段１５００Ｐ１は、図３１に示した制御ファイルのセキュリティ内容に基づいて、タスクＰＴ−１について、書き込みアクセスは許可されていないと判断し、タスクＰＴ−１に対してエラーを返すものである。
【０３４４】
次いで、上記のように制御ファイル２０００Ｐ１の内容を読み込んだプロセッサＰ１上のあるタスクＰＴ−１からの要求がセキュリティ機能によってプロセッサＰ０、で制限される場合について、図３４を用いて説明する。
【０３４５】
（１）プロセッサＰ１上のタスクＰＴ−１が同じプロセッサ上のＯＳサービス手段１５００Ｐ１に対して所定の処理を要求する。
【０３４６】
ＯＳサービス手段１５００Ｐ１は、上記のようにして取得した制御ファイル２０００Ｐ１のセキュリティ内容に基づいて、タスクＰＴ−１からの当該要求を受理すべきかどうかを判断する。
【０３４７】
（２）当該要求が許可されている場合には、ＯＳサービス手段１５００Ｐ１が制御処理中継手段６０を介して当該要求を転送する。
【０３４８】
（３）プロセッサＰ０のＯＳサービス手段１５００Ｐ０は、制御処理中継手段６０から当該要求を受理し、当該要求を許可すべきかどうかを制御ファイルに基づいて判断する。
【０３４９】
（４）プロセッサＰ０のＯＳサービス手段１５００Ｐ０は、許可されないと判断した場合、エラーとして制御処理中継手段６０へ返答する。
【０３５０】
（５）プロセッサＰ１のＯＳサービス手段１５００Ｐ１は、制御処理中継手段６０からエラーを受理する。
【０３５１】
（６）さらに、ＯＳサービス手段１５００Ｐ１は、要求元のタスクＰＴ−１に対してエラーを返す。
【０３５２】
上記のように、タスクＰＴ−１が動作するプロセッサＰ１のＯＳサービス手段１５００Ｐ１上で許可された処理要求が、プロセッサＰ０のサービス手段５０Ｐ０において制限される。このように、プロセッサＰ０のＯＳサービス手段１５００Ｐ０には、プロセッサＰ１〜Ｐｎのタスクからの処理要求に対するセキュリティ保護を行うために、プロセッサＰ１〜Ｐｎに対する制御ファイルと内容の異なる制御ファイル２０００Ｐ０を設定することが可能である。
【０３５３】
なお、上記実施の形態において、プロセッサＰ０のＯＳサービス手段１５００Ｐ０におけるセキュリティ内容を低く設定し、あるいはセキュリティ機能を設けないことで、プロセッサＰ０上で実行される既存のアプリケーションの性能が制限されないように構成することも可能である。
【０３５４】
上記の説明では、制御ファイルによってタスク毎に制御レベルを設定した例を示したが、例えば各プロセッサのＯＳサービス手段毎に、セキュリティ機能の高低を設定し、セキュリティを全くチェックしない最低のレベルから全ての内容（要求）をチェックする最高レベルまでの権限をＯＳサービス手段に設定することも可能である。
【０３５５】
また、ＯＳサービス手段以外に、並列処理手段４０Ｐ０〜４０Ｐｎに対してセキュリティ機能を設け、制御ファイルに各並列処理手段４０Ｐ０〜４０Ｐｎ毎に、生成可能なタスクの種類を制限するような構成とすることも可能である。
【０３５６】
さらに、上記の実施の形態では、第１例の並列処理システムに対して本発明のセキュリティ管理システムを適用した場合を示したが、第２例以下の並列処理システムに本発明のセキュリティシステムを適用できることは言うまでもない。
【０３５７】
また、第２例や第３例の並列処理システムに本発明を適用することで、各プロセッサのプロセス間通信手段に対してセキュリティ機能を設け、各プロセス間通信手段毎に、実行できるプロセス間通信の種類を制限するような構成とすることもできる。
【０３５８】
プロセッサの電源状態を管理してシングルプロセッサ向けＯＳに対して電源状態の変更要求を行う手段や、シングルプロセッサ向けＯＳに対して動作クロックの可変要求を行う手段を備える場合に、当該手段からの電源の制御要求や動作クロックの可変要求に対しても、ＯＳサービス手段によるセキュリティ制御が可能である。
【０３５９】
さらに、第１の実施の形態では、各プロセッサ毎に用意された制御ファイル２０００Ｐ０〜Ｐｎを読み込んで、その制御ファイルのセキュリティ内容に基づいて各ＯＳサービス手段がセキュリティ保護を行う構成を示したが、外部記憶装置９３に格納する制御ファイルを適宜変更可能とし、制御ファイルが変更される度にＯＳサービス手段が再読み込みを行うようにすることで、動的にセキュリティ内容を変更することができる。
【０３６０】
また、上記説明では、ＯＳサービス手段１５００Ｐ０〜１５００Ｐｎが制御ファイルを読み込み、或いは予めＯＳサービス手段１５００Ｐ０〜１５００Ｐｎにセキュリティ内容を組み込んだ例を示したが、各プロセッサＰ０〜ＰｎのＯＳサービス手段１５００Ｐ０〜１５００Ｐｎそのものの機能について、各ＯＳサービス手段毎に制限を設けることにより、各プロセッサＰ０〜Ｐｎ上で動作するタスクからの要求を制御するように構成することも可能である。これにより、上記の場合と同様の効果が得られる。
【０３６１】
例えば、所定のプロセッサＰｎのＯＳサービス手段１５００Ｐｎの機能についてファイルへの書込みを制限するものとすれば、プロセッサＰｎ上で動作するタスクからのファイルへの書込み要求は禁止されるようになる。このように、プロセッサ毎にＯＳサービス手段の機能を制限することにより、プロセッサ毎のセキュリティ効果が実現できる。
【０３６２】
次に、並列処理システムに適用されるセキュリティ管理システムの第２の実施の形態について、図３５を参照して説明する。
【０３６３】
ここでは、第２例及び第３例として図１２及び図１７に示した並列処理システムに対して本発明のセキュリティ管理システムを適用した第２の実施の形態について説明する。
【０３６４】
本実施の形態は、各ＯＳにおけるセキュリティレベルを可変にすることにより、各プロセッサ上で動作するプロセスによるサービスを適切に保護する構成となっている。
【０３６５】
第２の実施の形態によるセキュリティ管理システムを示す図３５においては、第２例として図１２に示した並列処理システムに本発明を適用した構成となっており、図１２と同じ構成については同じ符号を付し説明を省略する。
【０３６６】
この第２の実施の形態によるセキュリティ管理システムにおいては、各プロセッサＰ０〜Ｐｎに設けられるシングルプロセッサ向けＯＳを拡張することにより、セキュリティ拡張機能を有するシングルプロセッサ向けＯＳ３０００Ｐ０〜３０００Ｐｎを備えている。このシングルプロセッサ向けＯＳ３０００Ｐ０〜３０００Ｐｎには、セキュリティ機能を拡張するためのセキュリティ拡張手段３１００Ｐ０〜３１００Ｐｎがモジュールとして組み込まれている。
【０３６７】
シングルプロセッサ向けＯＳ３０００Ｐｎは、システムコール内でセキュリティ保護が必要な処理において、セキュリティ拡張手段３１００Ｐｎに対してセキュリティ内容のチェックを要求するための機能を有している。
【０３６８】
本実施の形態において、外部記憶装置９３に格納される制御ファイル２０００Ｐ０〜２０００Ｐｎのセキュリティ内容の設定例を図３６に示す。図３６の制御ファイル２０００Ｐ０〜２０００Ｐｎにおいては、各プロセッサＰ０、Ｐ１〜Ｐｎ上で実行されるプロセスに関する以下のようなセキュリティ内容が定義されている。これら制御ファイル２０００Ｐ０〜２０００Ｐｎで設定されるセキュリティ内容はそれぞれ同じ内容でもよいし、互いに異なる内容であってもよい。
【０３６９】
各プロセッサＰ０、Ｐ１〜Ｐｎ上で実行されるプロセス毎の制御レベルについて、プロセスＡ、Ｂ、ＣがＬｅｖｅｌ０、プロセスＤ、ＦがＬｅｖｅｌ１、その他のプロセスがＬｅｖｅｌ２に設定されている。
【０３７０】
各制御レベル毎のアクセス制御内容について、Ｌｅｖｅｌ０が全てのアクセスが可能、Ｌｅｖｅｌ１が別プロセス生成のシステムコール禁止、Ｌｅｖｅｌ２がＩ／Ｏに関するシステムコール禁止であることが設定されている。
【０３７１】
また、制御レベル毎の量的な制限内容については、Ｌｅｖｅｌ０が標準的な制限、Ｌｅｖｅｌ１が読み込みファイルが１つまで、Ｌｅｖｅｌ２がセマフォが２つまで使用可能であることが設定されている。
【０３７２】
ここで、第２の実施の形態によるセキュリティ管理システムの動作について、図３７を参照してステップ毎に説明する。
【０３７３】
まず、外部記憶装置９３に格納される制御ファイル２０００Ｐ１〜ＰｎがプロセッサＰ０〜Ｐｎに読み込まれる場合の動作を説明する。
【０３７４】
（１）プロセッサＰｎ上のセキュリティ拡張手段３１００Ｐｎがシングルプロセッサ向けＯＳ３０００Ｐｎに対して外部記憶装置９３に格納される制御ファイル２０００Ｐｎの読み込み要求を発行する。
【０３７５】
（２）プロセッサＰｎのシングルプロセッサ向けＯＳ３０００Ｐｎは、外部記憶装置９３をアクセスし、制御ファイル２０００Ｐｎの読み込みを要求する。
【０３７６】
（３）シングルプロセッサ向けＯＳ３０００Ｐｎは、外部記憶装置９３から制御ファイル２０００Ｐｎを受け取る。
【０３７７】
（４）プロセッサＰｎのシングルプロセッサ向けＯＳ３０００Ｐｎは、自プロセッサのセキュリティ拡張手段３１００Ｐｎに対して、取得した制御ファイル２０００Ｐｎのセキュリティ内容を渡す。これにより、セキュリティ拡張手段３１００Ｐｎは、受け取った制御ファイル２０００Ｐｎのセキュリティ内容に基づいて、セキュリティ機能を実行する。
【０３７８】
なお、制御ファイル２０００Ｐｎの内容が一度の読み込み要求で全て読み取れない場合には、必要事項（例えば、図３６において、各プロセスの制御レベル）だけを読み込み要求し、その他の事項についてはプロセスからの処理要求がある度に逐次読み込みを行うようにしてもよい。
【０３７９】
さらに、上記のように外部記憶装置９３から制御ファイルの読み込みを行うことなく、制御ファイル２０００Ｐ０〜２０００Ｐｎに設定されるセキュリティ内容を予め各プロセッサＰ０〜Ｐｎのセキュリティ拡張手段３１００Ｐ０〜３１００Ｐｎに組み込んでおくようにしてもよい。
【０３８０】
ここで、第２の実施の形態によるセキュリティ管理システムの動作として、上記のように読み込まれた制御ファイル２０００Ｐ１のセキュリティ内容に基づいてプロセスからの要求が制御される場合の動作についてステップ毎に説明する。
【０３８１】
まず、プロセッサＰｎ上のあるプロセスＰＰ−ｎからの要求が制御ファイル２０００Ｐ１で設定されるセキュリティ機能によって制限される場合について、図３８を用いて説明する。
【０３８２】
（１）プロセッサＰｎ上のあるプロセスＰＰ−ｎが、プロセッサＰｎのシングルプロセッサ向けＯＳ３０００Ｐｎに対してシステムコールを要求する。
【０３８３】
（２）シングルプロセッサ向けＯＳ３０００Ｐｎは、システムコール内でセキュリティ保護が必要な処理部分まで処理が進むと、セキュリティ拡張手段３１００Ｐｎに対してセキュリティのチェックを要求する。
【０３８４】
（３）プロセッサＰｎ上のセキュリティ拡張手段３１００Ｐｎは、予め取得した制御ファイル２０００Ｐｎのセキュリティ内容に基づいて、当該セキュリティコールを実行してもよいかどうかを判断し、その判断結果をシングルプロセッサ向けＯＳ３０００Ｐｎへ通知する。例えば、セキュリティ内容により実行不可との判断された場合には、シングルプロセッサ向けＯＳ３０００Ｐｎに対してエラーを通知する。
【０３８５】
（４）エラーを通知されたシングルプロセッサ向けＯＳ３０００Ｐｎは、要求元のプロセスＰＰ−ｎへエラーを通知する。
【０３８６】
なお、ステップ（３）において、セキュリティ内容によりシステムコールの実行が許可された場合には、その旨がシングルプロセッサ向けＯＳ３０００Ｐｎに通知され、要求されたシステムコールを処理する。
【０３８７】
例えば、プロセッサＰｎ上のあるプロセスＰＰ−ｎの制御レベルがＬｅｖｅｌ２であって、当該プロセスＰＰ−ｎからＩ／Ｏに関するシステムコールの要求があった場合、セキュリティ拡張手段３１００Ｐｎが、図３６に示す制御ファイルのセキュリティ内容に基づいて、プロセスＰＰ−ｎからの要求が実行不可であることを判別し、プロセスＰＰ−ｎに対してエラーを通知する。
【０３８８】
なお、本実施の形態は、上述した第１の実施の形態と組み合わせて構成することも可能である。このような構成とすることで、より強固なセキュリティ環境が確保される。
【０３８９】
また、各プロセッサのセキュリティ拡張手段によるセキュリティレベルについては、制御ファイルのセキュリティ内容を変えることでプロセッサ毎に異なるように設定することができる。例えば、あるプロセッサでは強固なセキュリティレベルとし、他のプロセッサでは緩いセキュリティレベルとすることができる。
【０３９０】
なお、上記実施の形態において、プロセッサＰ０のセキュリティ拡張手段３１００Ｐ０におけるセキュリティ内容を低く設定することで、プロセッサＰ０上で実行される既存のアプリケーション（プロセス）の性能が制限されないように構成することも可能である。
【０３９１】
また、この実施の形態でも、外部記憶装置９３に格納する制御ファイルを適宜変更可能とし、制御ファイルが変更される度にセキュリティ拡張手段が再読み込みを行うようにすることで、動的にセキュリティ内容を変更することができる。
【０３９２】
また、上記説明では、セキュリティ拡張手段３１００Ｐ０〜３１００Ｐｎが制御ファイルを読み込み、或いは予めセキュリティ拡張手段３１００Ｐ０〜３１００Ｐｎにセキュリティ内容を組み込んだ例を示したが、各プロセッサＰ０〜Ｐｎのセキュリティ拡張手段３１００Ｐ０〜３１００Ｐｎそのものの機能について、各セキュリティ拡張手段毎に制限を設けることにより、各プロセッサＰ０〜Ｐｎ上で動作するタスクからの要求を制御するように構成することも可能である。これにより、プロセッサ毎にセキュリティレベルの異なる制御ができ、上記の場合と同様の効果が得られる。
【０３９３】
次に、並列処理システムに適用されるセキュリティ管理システムの第３の実施の形態について、図３９を参照して説明する。
【０３９４】
ここでは、第２例及び第３例として図１２及び図１７に示した並列処理システムに対して本発明のセキュリティ管理システムを適用した第３の実施の形態について説明する。
【０３９５】
本実施の形態は、アプリケーションの実行環境レベルでセキュリティレベルを可変にすることにより、各プロセッサ上で動作するプロセスによるサービスを適切に保護する構成となっている。
【０３９６】
第３の実施の形態によるセキュリティ管理システムを示す図３９においては、第２例として図１２に示した並列処理システムに本発明を適用した構成となっており、図１２と同じ構成については同じ符号を付し説明を省略する。
【０３９７】
この第３の実施の形態によるセキュリティ管理システムにおいては、各プロセッサＰ０〜Ｐｎに、各プロセッサＰ０〜Ｐｎ上でプロセスとして実行されるＪａｖａ（Ｒ）等のアプリケーション毎の実行環境を提供する（Ｊａｖａ（Ｒ）等のアプリケーションに対して機能を提供する）と共に、セキュリティレベルを管理するアプリケーション制御手段（例えば、Ｊａｖａ（Ｒ）仮想マシン）４０００Ｐ０〜Ｐｎが設けられている。
【０３９８】
本実施の形態において、外部記憶装置９３に格納される制御ファイル２０００Ｐ０〜２０００Ｐｎのセキュリティ内容の設定例を図４０に示す。図４０の制御ファイルにおいては、各プロセッサＰ０、Ｐ１〜Ｐｎ上で実行されるアプリケーションとしてのプロセスに関する以下のようなセキュリティ内容が定義されている。これら制御ファイル２０００Ｐ０〜２０００Ｐｎで設定されるセキュリティ内容はそれぞれ同じ内容でもよいし、互いに異なる内容であってもよい。
【０３９９】
各プロセッサＰ０、Ｐ１〜Ｐｎ上で実行されるプロセス毎の制御レベルについて、プロセスＡ、Ｂ、ＣがＬｅｖｅｌ０、プロセスＤ、ＦがＬｅｖｅｌ１、その他のプロセスがＬｅｖｅｌ２に設定されている。
【０４００】
各制御レベル毎のアクセス制御内容について、Ｌｅｖｅｌ０が全てのアクセスが可能、Ｌｅｖｅｌ１が別プロセス生成のシステムコール禁止、Ｌｅｖｅｌ２がＩ／Ｏに関するシステムコール禁止であることが設定されている。
【０４０１】
また、制御レベル毎の量的な制限内容については、Ｌｅｖｅｌ０が標準的な制限、Ｌｅｖｅｌ１が読み込みファイルが１つまで、Ｌｅｖｅｌ２がセマフォが２つまで使用可能であることが設定されている。
【０４０２】
さらに、アプリケーションとしてのプロセスが使用できるライブラリの制限について、Ｌｅｖｅｌ０が全てのライブラリ、Ｌｅｖｅｌ１が標準のライブラリと音楽機能のライブラリ、Ｌｅｖｅｌ２が標準のライブラリであることが設定されている。
【０４０３】
ここで、第３の実施の形態によるセキュリティ管理システムの動作について、図４１を参照してステップ毎に説明する。
【０４０４】
まず、外部記憶装置９３に格納される制御ファイル２０００Ｐ１〜ＰｎがプロセッサＰ０〜Ｐｎに読み込まれる場合の動作を説明する。
【０４０５】
（１）プロセッサＰｎ上のアプリケーション制御手段４０００Ｐｎが、シングルプロセッサ向けＯＳ３００Ｐｎに対して制御ファイル２０００Ｐｎの読み込み要求を出す。
【０４０６】
（２）プロセッサＰｎのシングルプロセッサ向けＯＳ３００Ｐｎは、外部記憶装置９３にアクセスし、制御ファイル２０００Ｐｎの読み込みを指示する。
【０４０７】
（３）シングルプロセッサ向けＯＳ３００Ｐｎは、外部記憶装置９３から制御ファイル２０００Ｐｎを受け取る。
【０４０８】
（４）そして、プロセッサＰｎのシングルプロセッサ向けＯＳ３００Ｐｎは、アプリケーション制御手段４０００Ｐｎへ取得した制御ファイル２０００Ｐｎを渡し、アプリケーション制御手段４０００Ｐｎはその制御ファイルのセキュリティ内容に従って自プロセッサ上で実行するプロセスのセキュリティを管理する。
【０４０９】
なお、制御ファイル２０００Ｐｎの内容が一度の読み込み要求で全て読み取れない場合には、必要事項（例えば、図４１において、各プロセスの制御レベル）だけを読み込み要求し、その他の事項についてはプロセスからの処理要求がある度に逐次読み込みを行うようにしてもよい。
【０４１０】
さらに、上記のように外部記憶装置９３から制御ファイルの読み込みを行うことなく、制御ファイル２０００Ｐ０〜２０００Ｐｎに設定されるセキュリティ内容を予め各プロセッサＰ０〜Ｐｎのアプリケーション制御手段４０００Ｐ０〜４０００Ｐｎに組み込んでおくようにしてもよい。
【０４１１】
ここで、第３の実施の形態によるセキュリティ管理システムの動作として、上記のように読み込まれた制御ファイル２０００Ｐ１のセキュリティ内容に基づいてプロセスからの要求が制御される場合の動作についてステップ毎に説明する。
【０４１２】
まず、プロセッサＰｎ上のあるプロセスＰＰ−ｎ（例えば、Ｊａｖａ（Ｒ）アプリ）からの要求が制御ファイル２０００Ｐ１で設定されるセキュリティ機能によって制限される場合について、図４２を用いて説明する。
【０４１３】
（１）プロセッサＰｎ上のプロセスＰＰ−ｎ（Ｊａｖａ（Ｒ）アプリ）が、プロセッサＰｎのアプリケーション制御手段４０００Ｐｎに対してサービス関数を要求する。
【０４１４】
（２）要求を受けたアプリケーション制御手段４０００Ｐｎは、取得した制御ファイル２０００Ｐｎに基づいて、要求されたサービス関数を実行してよいかどうかを判断し、実行不可であればエラーを要求元のプロセスＰＰ−ｎに通知し、実行可能であれば当該サービス関数の実行結果を要求元のプロセスＰＰ−ｎに通知する。
【０４１５】
例えば、プロセッサＰｎ上のあるプロセスＰＰ−ｎの制御レベルがＬｅｖｅｌ２であって、当該プロセスＰＰ−ｎから音楽機能ライブラリを使用するサービス関数が要求された場合、アプリケーション制御手段４０００Ｐｎは、図４０に示す制御ファイルのセキュリティ内容に基づいて、プロセスＰＰ−ｎからの要求が実行不可であることを判別し、プロセスＰＰ−ｎに対してエラーを通知する。
【０４１６】
なお、本実施の形態は、上述した第１の実施の形態、第２の実施の形態と組み合わせて構成することも可能である。このような構成とすることで、より強固なセキュリティ環境が確保される。
【０４１７】
上記の説明では、制御ファイルによってタスク毎に制御レベルを設定した例を示したが、例えばアプリケーション制御手段４０００Ｐ０〜４０００Ｐｎ毎に、セキュリティ機能の高低を設定し、セキュリティを全くチェックしない最低のレベルから全ての内容（要求）をチェックする最高レベルまでの権限をアプリケーション制御手段に設定することも可能である。
【０４１８】
加えて、上記実施の形態において、プロセッサＰ０のアプリケーション制御手段４０００Ｐ０におけるセキュリティ内容を低く設定することで、プロセッサＰ０上で実行される既存のアプリケーション（プロセス）の性能が制限されないように構成することも可能である。
【０４１９】
また、この実施の形態でも、外部記憶装置９３に格納する制御ファイルを適宜変更可能とし、制御ファイルが変更される度にアプリケーション制御手段が再読み込みを行うようにすることで、動的にセキュリティ内容を変更することができる。
【０４２０】
上記説明では、アプリケーション制御手段４０００Ｐ０〜４０００Ｐｎが制御ファイルを読み込み、或いは予めアプリケーション制御手段４０００Ｐ０〜４０００Ｐｎにセキュリティ内容を組み込み、そのセキュリティ内容に基づいて制御を行う例を示したが、それ以外にプロセス（例えば、Ｊａｖａ（Ｒ）アプリ）の実行を制御する方法を、第４の実施の形態の変形として以下に述べる。
【０４２１】
この第４の実施の形態の構成については、第３の実施の形態と同じであり、システム上で動作する各プロセス（例えば、Ｊａｖａ（Ｒ）アプリ）と、アプリケーション制御手段４０００Ｐ０〜４０００Ｐｎの機能が第３の実施の形態と相違する。
【０４２２】
第４の実施の形態では、各プロセッサＰ０〜Ｐｎに設けるプロセス（例えば、Ｊａｖａ（Ｒ）アプリ）の実行環境を提供するアプリケーション制御手段（例えば、Ｊａｖａ（Ｒ）仮想マシン）４０００Ｐ０〜４０００Ｐｎについて、それらが提供する機能に互いに異なる制限を設け、要求機能の異なるプロセス（例えば、Ｊａｖａ（Ｒ）アプリ）を実行させる場合、当該プロセス（例えば、Ｊａｖａ（Ｒ）アプリ）を管理するためのマネージャとしてのプロセスが各プロセッサのアプリケーション制御手段４０００Ｐ０〜４０００Ｐｎの提供する機能に応じて、当該プロセス（例えば、Ｊａｖａ（Ｒ）アプリ）を各プロセッサに振り分けるものである。これにより、要求機能の異なる複数のプロセス（例えば、Ｊａｖａ（Ｒ）アプリ）が当該要求機能を提供する各プロセッサに振り分けられて動作することになり、性能低下を効果的に防ぐことができる。
【０４２３】
アプリケーション制御手段（例えば、Ｊａｖａ（Ｒ）仮想マシン）の機能に制限を設ける方法としては、例えば各プロセッサ上のアプリケーション制御手段（例えば、Ｊａｖａ（Ｒ）仮想マシン）毎にそれらの機能を制限する異なるプロファイルを組み込む方法、或いはロード可能なクラスファイルないし利用可能なライブラリを制限しておくといった方法が考えられる。
【０４２４】
なお、上記各実施の形態の並列処理システムは、並列処理手段、ＯＳサービス手段、制御処理中継手段、代理手段、プロセス間通信手段の各機能を有する並列処理プログラムによって実現することができ、セキュリティ管理システムについても、ＯＳサービス手段、アプリケーション制御手段の機能を有するセキュリティ管理プログラムによって実現できる。これらのプログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【０４２５】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【０４２６】
【発明の効果】
以上説明したように本発明によれば、マルチプロセッサ上でシングルプロセッサ向けＯＳと既存のアプリケーションをそれらに改造を加えることなく動作させ、その既存のアプリケーションに対してマルチプロセッサによる並列処理を実現できるようにしたシングルプロセッサ向けＯＳによる並列処理システムにおいて、ソフトウェア的に各プロセッサ毎に個別にセキュリティの制御を行うことができると共に、プロセッサの性能を低下させることのないセキュリティ管理システムを実現することができる。
【０４２７】
また、処理単位に対して前記シングルプロセッサ向けＯＳのサービスを提供するＯＳサービス手段、シングルプロセッサ向けＯＳに組み込んだセキュリティ拡張手段、処理単位に対するセキュリティ制御を行うためのアプリケーション制御手段を選択的に設けることにより、ユーザレベル、ＯＳレベル又はアプリケーション実行環境レベルでのセキュリティ制御を実現することができるようになる。
【０４２８】
シングルプロセッサ構成におけるユーザレベルライブラリによるセキュリティ管理では、シングルプロセッサ向けＯＳの改造が必要となるが、本発明によれば、ＯＳの改造をすることなくユーザレベルでのセキュリティ管理を実現することができる。
【０４２９】
また、これまでのＯＳレベルでのセキュリティ管理では、異なるセキュリティレベルの実行の際に、最も厳しいレベルでの動作が要求されるため、システム性能が低下してしまうことなるが、本発明によれば、プロセッサ毎のセキュリティ拡張手段によってセキュリティレベルをプロセッサ毎に設定することができるので、システム性能の低下を解消することができる。
【０４３０】
さらに、これまでのＪａｖａ（Ｒ）アプリ等のアプリケーション実行環境によるセキュリティ管理では、セキュリティレベルの異なる複数のアプリケーションを動作させる必要から、システム性能が低下しまた要求される周波数が高くなり消費電力量が大きくなってしまうが、本発明によれば、プロセッサ毎或いはアプリケーション毎にセキュリティを管理するので、そのような不具合を解消することができる。
【図面の簡単な説明】
【図１】本発明を適用する第１例の並列処理システムの構成を示すブロック図である。
【図２】第１例の並列処理システムの並列処理手段による並列処理起動の動作を説明するための図である。
【図３】並列処理システムの並列処理手段による並列処理起動における要求を行うためのメッセージの構成を示す図である。
【図４】第１例の並列処理システムにおける第２プロセッサ側のタスクからのファイルアクセス要求に対するＯＳサービス手段の動作を説明する図である。
【図５】第１プロセッサ側の逐次タスクからのファイルアクセス要求に対する動作を説明する図である。
【図６】第１例の並列処理システムにおける制御処理中継手段の内部構成を示すブロック図である。
【図７】第１例の並列処理システムにおける制御処理中継手段の処理動作を説明する図である。
【図８】第１例の並列処理システムにおける代理手段によるシグナル通知処理動作を説明する図である。
【図９】第１例の並列処理システムにおける第２プロセッサ側におけるタスク相互の連携動作を実現するための構成を示すブロック図である。
【図１０】第１例の並列処理システムにおける第２プロセッサ側におけるタスク相互の連携動作を説明する図である。
【図１１】並列処理システムにおける適用例としてのマルチプロセッサの携帯端末においてアプリケーションを動作させる場合の例を説明する図である。
【図１２】本発明を適用する第２例の並列処理システムの構成を示すブロック図である。
【図１３】第２例の並列処理システムにおけるプロセスの同期的な並列処理起動の動作を説明するための図である。
【図１４】第２例の並列処理システムにおけるプロセスの非同期的な並列処理起動の動作を説明するための図である。
【図１５】第２例の並列処理システムにおける制御処理中継手段の内部構成を示すブロック図である。
【図１６】第２例の並列処理システムにおける制御処理中継手段の処理動作を説明する図である。
【図１７】本発明を適用する第３例の並列処理システムの構成を示すブロック図である。
【図１８】第３例の並列処理システムにおいて、プロセッサ内のプロセスがプロセス間通信手段によるセマフォ方式を用いてセマフォｕｐ又はｄｏｗｎを行う場合の動作を説明するための図である。
【図１９】第３例の並列処理システムにおいて、プロセッサ内のプロセスがプロセス間通信手段によるセマフォ方式を用いてセマフォｄｏｗｎを行う場合の動作を説明するための図である。
【図２０】第３例の並列処理システムにおいて、同一プロセッサ内のプロセス間でプロセス間通信手段によるセマフォ方式を用いてセマフォｕｐを行う場合の動作を説明するための図である。
【図２１】第３例の並列処理システムにおいて、異なるプロセッサ相互のプロセス間でプロセス間通信手段によるセマフォ方式を用いてセマフォｕｐを行う場合の動作を説明するための図である。
【図２２】第３例の並列処理システムにおいて、プロセッサ内のプロセスがプロセス間通信手段によるメッセージキュー方式を用いてメッセージの受信を行う場合の動作を説明するための図である。
【図２３】第３例の並列処理システムにおいて、プロセッサ内のプロセスがプロセス間通信手段によるメッセージキュー方式を用いてメッセージの受信を行う場合の動作を説明するための図である。
【図２４】第３例の並列処理システムにおいて、プロセッサ内のプロセスがプロセス間通信手段によるメッセージキュー方式を用いてメッセージの送信を行う場合の動作を説明するための図である。
【図２５】第３例の並列処理システムにおいて、同一プロセッサ内のプロセス間でプロセス間通信手段によるメッセージキュー方式を用いてメッセージの送受信を行う場合の動作を説明するための図である。
【図２６】第３例の並列処理システムにおいて、異なるプロセッサ相互のプロセス間でプロセス間通信手段によるメッセージキュー方式を用いてメッセージの送受信を行う場合の動作を説明するための図である。
【図２７】第３例の並列処理システムにおいて、セマフォ方式及びメッセージキュー方式を用いたプロセス間通信の具体例を説明するための図である。
【図２８】図２７の具体例におけるブラウザ画面の表示内容を説明する図である。
【図２９】本発明を適用する第４例の並列処理システムの構成を示すブロック図である。
【図３０】本発明の第１の実施の形態による並列処理システムのセキュリティ管理システムの構成を示すブロック図である。
【図３１】本発明の第１の実施の形態における制御ファイルの内容例を示す図である。
【図３２】本発明の第１の実施の形態における制御ファイルの読み込み動作を説明するための図である。
【図３３】本発明の第１の実施の形態におけるセキュリティ管理動作を説明するための図である。
【図３４】本発明の第１の実施の形態におけるセキュリティ管理動作を説明するための図である。
【図３５】本発明の第２の実施の形態による並列処理システムのセキュリティ管理システムの構成を示すブロック図である。
【図３６】本発明の第２の実施の形態における制御ファイルの内容例を示す図である。
【図３７】本発明の第２の実施の形態における制御ファイルの読み込み動作を説明するための図である。
【図３８】本発明の第２の実施の形態におけるセキュリティ管理動作を説明するための図である。
【図３９】本発明の第３の実施の形態による並列処理システムのセキュリティ管理システムの構成を示すブロック図である。
【図４０】本発明の第３の実施の形態における制御ファイルの内容例を示す図である。
【図４１】本発明の第３の実施の形態における制御ファイルの読み込み動作を説明するための図である。
【図４２】本発明の第３の実施の形態におけるセキュリティ管理動作を説明するための図である。
【符号の説明】
１０、１００：第１プロセッサ側
２０、２００：第２プロセッサ側
３０、３００Ｐ０、３００Ｐ１〜３００Ｐｎ：シングルプロセッサ向けＯＳ
４０Ｐ０〜４０Ｐｎ：並列処理手段
４００Ｐ０〜４００Ｐｎ：並列処理通信手段
５０Ｐ０〜５０Ｐｎ：ＯＳサービス手段
５００Ｐ０〜５００Ｐｎ：制御代理手段
６０、６００：制御処理中継手段
６１Ｐ０〜６１Ｐｎ、６０１Ｐ０〜６０１Ｐｎ：割込制御装置
６１ａ、６０１ａ：割込指示部
６１ｂ、６０１ｂ：割込状態保持部
６１ｃ、６０１ｃ：割込取消部
６２Ｐ０〜６２Ｐｎ、６０２Ｐ０〜６０２Ｐｎ：通信領域
６２ａ：通信理由保持領域
６２ｂ：通信データ保持領域
６２ｃ、６０２ｂ：排他制御領域
６０２ａ：通信キュー
７０：代理手段
９１：システムバス
９２：主記憶装置
９３：外部記憶装置
１０００Ｐ０〜１０００Ｐｎ：プロセス間通信手段
ＳＴ：逐次タスク
ＰＴ：並列化タスク
ＰＴ−１〜ＰＴ−ｎ：タスク
４１Ｐ１〜４１Ｐｎ：相互排他手段
４３  排他制御領域
４４：タスク管理内容保持領域
ＳＰ：逐次プロセス
ＰＰ：並列化プロセス
ＰＰ−１〜ＰＰ−ｎ：プロセス
１５００Ｐ０〜１５００Ｐｎ：ＯＳサービス手段
２０００Ｐ０〜２０００Ｐｎ：制御ファイル
２０００ｓ：副電源管理手段
３０００Ｐ０〜３０００Ｐｎ：シングルプロセッサ向けＯＳ
３１００Ｐ０〜３１００Ｐｎ：セキュリティ拡張手段
４０００Ｐ０〜４０００Ｐｎ：アプリケーション制御手段
【図１】
2005038113.tif 000003
【図２】
2005038113.tif 000004
【図３】
2005038113.tif 000005
【図４】
2005038113.tif 000006
【図５】
2005038113.tif 000007
【図６】
2005038113.tif 000008
【図７】
2005038113.tif 000009
【図８】
2005038113.tif 000010
【図９】
2005038113.tif 000011
【図１０】
2005038113.tif 000012
【図１１】
2005038113.tif 000013
【図１２】
2005038113.tif 000014
【図１３】
2005038113.tif 000015
【図１４】
2005038113.tif 000016
【図１５】
2005038113.tif 000017
【図１６】
2005038113.tif 000018
【図１７】
2005038113.tif 000019
【図１８】
2005038113.tif 000020
【図１９】
2005038113.tif 000021
【図２０】
2005038113.tif 000022
【図２１】
2005038113.tif 000023
【図２２】
2005038113.tif 000024
【図２３】
2005038113.tif 000025
【図２４】
2005038113.tif 000026
【図２５】
2005038113.tif 000027
【図２６】
2005038113.tif 000028
【図２７】
2005038113.tif 000029
【図２８】
2005038113.tif 000030
【図２９】
2005038113.tif 000031
【図３０】
2005038113.tif 000032
【図３１】
2005038113.tif 000033
【図３２】
2005038113.tif 000034
【図３３】
2005038113.tif 000035
【図３４】
2005038113.tif 000036
【図３５】
2005038113.tif 000037
【図３６】
2005038113.tif 000038
【図３７】
2005038113.tif 000039
【図３８】
2005038113.tif 000040
【図３９】
2005038113.tif 000041
【図４０】
2005038113.tif 000042
【図４１】
2005038113.tif 000043
【図４２】
2005038113.tif 000044