以下に、本発明による情報処理装置の実施の形態を、図面を参照して説明する。図1は、本発明の実施形態に係る情報処理装置が適用された移動通信装置の構成を示すブロック図である。
この移動通信装置は、移動通信網(図示せず)を介した通信等を行う装置であり、装置全体の制御を行う制御部11と、動作状況記憶部11−1と、基地局(図示せず)との間で電波の送受信を行うアンテナ12aと、通信部12bと、送受信部13と、通話用のスピーカ14aと、通話用のマイクロフォン14bと、通話部14cと、表示部15と、入力装置16とを備える。
この移動通信装置は、更に、待ち受け処理部21と、通話処理部22と、エディタ処理部23と、ツール制御部31と、第2の情報処理管理部32とを備える。動作状況記憶部11−1には、アプリ階層11−1aと、共通アプリ11−1bとが記憶される。アプリ階層11−1aは、制御部11によって生成されたタスクを示す。共通アプリ11−1bとは、ツール制御部31によって生成されたタスクを示す。
ここで、制御部11及びツール制御部31は、装置のタスクの管理を行うOSであり、待ち受け処理部21と、通話処理部22と、エディタ処理部23と、ツール制御部31と、第2の情報処理管理部32とは、制御部11の下で動作するタスクである。なお、制御部11の少なくともCPUリソースをタスクへ割り当てる部分はタスクではないが、制御部11の一部はタスクとして動作しても良い。
図2は、第2の情報処理管理部32の詳細な構成を示すブロック図である。第2の情報処理管理部32は、第2の情報処理管理部32の各部の制御を行う代行制御部33と、第2の動作状況記憶部33−1と、ダミー処理部34と、ゲーム部35とからなる。第2の動作状況記憶部33−1には、第2のアプリ階層33−1aが記憶される。
第2のアプリ階層33−1aは、代行制御部33によって管理されるタスクを示す。ここで、代行制御部33は、第2の情報処理管理部32内のタスクの管理を行うOSであり、ダミー処理部34と、ゲーム部35とは、代行制御部33の下で動作するタスクである。
上記のように構成された、本発明の実施形態に係る情報処理装置の各部の動作を、図1及び図2を参照して説明する。
制御部11は、装置のタスクにCPUリソースを割り当てる。即ち、実行可能状態にあるタスクの1つにCPUリソースを割り当てて、実行状態に置く。実行状態にあるタスクの他に実行可能状態にあるタスクがある場合、例えば、タイムスライシングによって、実行可能状態にあるタスクを順次実行状態に置く。
また、制御部11は、実行のために装置外に起因するイベントを要するタスク、及び、実行のために他のタスクからの通知イベントを要するタスクを待ち状態に置く。更に、待ち状態にあるタスクにそのイベントが与えられた場合、そのタスクを実行可能状態に置く。なお、制御部11は、実行状態に置くタスクに、CPUリソースと併せて、表示部15への表示リソースと、入力装置16からのキー操作リソースとを割り当てる。また、主記憶リソースは、タスクが生成された際に割り当てられ、主記憶リソースの競合は発生しない。
また、制御部11は、タスクを生成し、優先度を制御し、また、タスクを消滅させる。なお、制御部11は、第2の情報処理管理部32内のタスクであるダミー処理部34と、ゲーム部35とを制御する際、第2の情報処理管理部32を介して行う。
制御部11は、装置の電源投入の際、入力装置16の所定のキー操作が行われた際、または、制御部11の下で動作するタスク1からの要求が受信された際、タスク2を生成する。ここで、制御部11は、リアルタイム型のOSであり、制御部11の下で動作するタスク2を生成する際、新たに生成されたタスク2に、そのタスク2の生成以前に制御部11によって生成されていたタスクの優先度のいずれよりも高い優先度を付して、実行可能状態に置き、そのタスク2の生成以前に制御部11によって生成されていたタスクをサスペンド状態に置く。最も優先度が高いタスクが消滅した場合、制御部11によって生成されているタスク中で、最も優先度が高いタスクを実行可能状態に置く。
なお、制御部11は、リアルタイム型のOSに限るものではない。その場合、タスクの生成を要求したタスク1の優先度は、新たに生成されたタスク2の優先度より低いと限るものではない。新たに生成されたタスク2を実行可能状態に置き、新たに生成されたタスク2の生成以前に制御部11によって生成されていたタスクをサスペンド状態に置くことによって、同じ動作をさせることができる。
以下の説明では、タスク1がタスク2を制御するとの表現を取ることがある。これは、タスク1からの要求に従って制御部11、ツール制御部31、及び代行制御部33の1つまたは複数がタスクの各種の制御することを意味し、制御部11、ツール制御部31、及び代行制御部33の1つまたは複数を介することを省略して説明を簡明にするためである。
通信部12bは、アンテナ12aが受信した高周波信号を送受信部13へ出力し、また、送受信部13から出力される高周波信号をアンテナ12aより送信する。
送受信部13は、通信部12bからの高周波信号を増幅、周波数変換及び復調し、それによって得られたディジタル音声信号を通話部14cへ、また、制御信号を制御部11に送る。更には、通話部14cから出力されるディジタル音声信号、及び制御部11から出力される制御信号を変調、周波数変換及び増幅し、高周波信号を得て、それを通信部12bに送る。
通話部14cは、送受信部13から出力されるディジタル音声信号をアナログ音声信号に変換し、それを増幅してスピーカ14aに送る。また、マイクロフォン14bから出力されるアナログ音声信号を増幅し、それをディジタル音声信号に変換して送受信部13に送信する。
表示部15は、制御部11に制御されることで、カーソルを含む文字・数字を含む画像データの表示動作を行い、表示されているデータは、入力装置16からの入力操作や着信信号に応答して制御部11からの指示を受けることで切換わる。
入力装置16は、通信相手の電話番号などを指定し、また、トグル式の入力方式によってひらがな文字、アルファベット文字及び記号文字を入力するための数字キーと、カーソル移動キーやスクロールキーを含む複数の機能キーとを含むキーからなる。
そして、入力装置16のキーが押下されると、そのキーの識別子が制御部11に通知され、制御部11の制御に基づいて、その識別子が通知された装置内の各部の処理により、表示部15に文字として表示されたり、キーの押下及び解放に基づく制御が行われたりする。
待ち受け処理部21は、装置の電源が投入された際に生成され、所定の待ち受け画面を表示部15に表示する。ここで、待ち受け画面は、静止画像であっても良く、動画像であっても良い。そして、待ち受け処理部21は、装置の電源の切断に至るまで消滅しない。
通話処理部22は、通話を行う処理部であり、入力装置16の所定のキーが操作された際、及び、アドレス帳(図示せず)に含まれる電話番号が表示され、入力装置16の所定のキーが操作された際に待ち受け処理部21の要求によって生成され、通信部12b、送受信部13及び通話部14cを生成して、発信処理及び通話処理をさせ、所定の画像を表示部15に表示する。
また、通話処理部22は、送受信部13によって通話着信信号が受信されると制御部11によって生成され、通信部12b、送受信部13及び通話部14cを生成して、着信処理及び通話処理をさせ、所定の画像を表示部15に表示する。通話中に入力装置16の所定のキーが操作された際、通話処理部22は、動作を終了し、タスクは消滅される。
エディタ処理部23は、文字列の編集を行う処理部である。そして、処理部からの要求に従って、生成され、入力装置16の文字を示すキーが操作された場合、そのキーによって識別される文字をエディタ処理部23内に記憶して、表示部15に表示する。
エディタ処理部23は、生成を要求した処理部に編集された文字列を通知し、更に、生成を要求した処理部からの要求を受けることによって、また、入力装置16の所定のキーが操作された場合、動作を終了し、タスクは消滅される。
ツール制御部31は、制御部11の下で動作するタスクを生成し、また、そのタスクを消滅させる。ツール制御部31は、タスクを生成する際、新たに生成されたタスクを実行可能状態、または、待ち状態に置く。しかし、制御部11によるタスクの生成と異なり、その生成の前に生成されていたタスクの状態を変更しない。
代行制御部33は、第2の情報処理管理部32内のタスクを制御する。即ち、制御部11からの指示に従って、第2の情報処理管理部32内のタスクを生成し、優先度を制御し、また、タスクを消滅させる。更に、第2の情報処理管理部32内のタスクの実行を中断し、また、再開する。
以下の説明では、代行制御部33は、ダミー処理部34のタスクと、ゲーム部35のタスクを、最多で1個ずつ生成し、即ち、それぞれを複数個生成することはなく、更に、いずれか一方を実行可能状態に置き、他方は、生成されていない、または、サスペンド状態に置く。ここで、サスペンド状態に置かれたタスクは、他方のタスクの優先度より低い優先度のタスクとして記憶され、管理される。なお、実行可能状態に置かれたタスクは、第2の情報処理管理部32が制御部11の制御によって実行状態に置かれることにより、実行状態に置かれる。また、制御部11の制御によって待ち状態に置かれる。
この状況によって、代行制御部33は、優先度が高く、実行可能状態または実行状態に置かれたタスクと、優先度が低く、サスペンド状態に置かれたタスクとに関し、お互いの優先度の高低を逆転させ、任意のタスクを実行可能状態に置き、ひいては実行状態に置かせることができる。なお、優先度が高いタスクはイベントを待って、待ち状態に置かれることがある。
ダミー処理部34は、装置の電源投入に伴って生成され、装置の電源切断に至るまで、終了されることはない。即ち、タスクが消滅されることはない。ダミー処理部34は、実行状態にある場合、即ち、ゲーム部35が生成されていない、または、ゲーム部35より高い優先度が付され、かつ、第2の情報処理管理部32が制御部11の制御によって実行状態にある場合、表示部15への表示リソースが与えられるが、表示部15への表示を行わない。
この表示を行わないことによって、ダミー処理部34が実行状態に置かれる前の表示を表示部15に維持させる。また、ダミー処理部34は、実行状態にある場合、入力装置16のキー操作リソースが与えられるが、このキー操作に依存した動作を行わない。
ゲーム部35は、入力装置16の所定のキー操作によって、制御部11から代行制御部33を介して生成され、実行状態に置かれる。そして、ゲーム部35内に含まれる複数のゲームの一覧を表示部15に表示する。表示されたゲームの中で、入力装置16の所定のキー操作によって選択されたゲームを実行する。ゲーム部35は、その動作の一環として、所定のイベントを待ち、即ち、待ち状態に置かれる。そして、その所定のイベントが与えられると、実行可能状態に置かれる。
この、待ち状態を経て実行可能状態に戻る一例は、ゲーム部35がエディタ処理部23を介した文字入力を行う場合である。更に、ゲーム部35は、入力装置16の所定のキー操作によって、動作を終了し、タスクは消滅される。
以下、本実施形態に係る移動通信装置における処理部の制御処理、特に、制御部11によって制御されるタスクと、代行制御部33によって制御されるタスクとの協調動作の制御を説明する。
図3は、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aの第1の例を示す。アプリ階層11−1aは、制御部11によって生成されたタスクが順序付けられたタスクグループからなる。共通アプリ11−1bは、ツール制御部31によって生成されたタスクからなる。また、第2のアプリ階層33−1aは、制御部11によって代行制御部33を介して生成されたタスクが順序付けられたタスクグループからなる。
なお、ツール制御部31及び代行制御部33は、制御部11の制御により装置の電源投入と共に生成され、装置の電源切断まで消滅されないタスクであるが、デーモン(Daemon)であり、アプリ階層11−1a、共通アプリ11−1b、及び第2のアプリ階層33−1aのいずれにも記憶されない。なお、ツール制御部31及び代行制御部33はデーモンであると限るものではなく、タスクでない、即ち、主記憶装置に常駐するプログラムによっても良い。
図3に示すアプリ階層11−1aは、待ち受け処理部21が生成されていることを示す。また、図3に示す第2のアプリ階層33−1aは、ダミー処理部34が生成されていることを示す。更に、共通アプリ11−1bは、生成されていないことを示す。即ち、これらは、装置は待ち受け状態にあり、ゲーム部35は動作していないことを示している。
図4は、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aの第2の例を示す。
図4に示すアプリ階層11−1aは、待ち受け処理部21と、第2の情報処理管理部32とが生成されていることを示す。また、第2のアプリ階層33−1aは、ダミー処理部34と、ゲーム部35とが生成されていることを示す。ここで、アプリ階層11−1aで、上に記載された処理部ほど後に生成された、優先度が高いタスクを示す。また、第2のアプリ階層33−1aで、上に記載された処理部ほど優先度が高いタスクを示す。
アプリ階層11−1aにおいて最も優先度が高いことは、実行状態、または、実行可能状態に置かれているタスクであることを意味する。また、第2のアプリ階層33−1aにおいて最も優先度が高いことは、実行状態、または、実行可能状態に置かれているタスクであることを意味する。
即ち、図4に示すアプリ階層11−1a及び第2のアプリ階層33−1aは、例えば、待ち受け処理部21の生成の後に第2の情報処理管理部32が生成され、ゲーム部35が生成されていることを示す。更に、共通アプリ11−1bは、生成されていないことを示す。これらは、例えば、装置が待ち受け状態にある際に、ゲーム部35が生成され、動作中である場合の情況を示す。
図5は、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aの第3の例を示す。
図5に示すアプリ階層11−1aは、待ち受け処理部21と、第2の情報処理管理部32とが生成されていることを示す。また、共通アプリ11−1bは、エディタ処理部23が生成されていることを示す。更に、第2のアプリ階層33−1aは、ダミー処理部34と、ゲーム部35とが生成されていることを示す。
即ち、図5に示すアプリ階層11−1a、共通アプリ11−1b、及び第2のアプリ階層33−1aは、例えば、装置が待ち受け状態にある際に、ゲーム部35が生成され、そのゲーム部35によってエディタ処理部23が生成されている場合の情況を示す。
図6は、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aの第4の例を示す。
図6に示すアプリ階層11−1aは、待ち受け処理部21と、通話処理部22とが生成されていることを示す。また、第2のアプリ階層33−1aは、ゲーム部35と、ダミー処理部34とが生成されていることを示す。更に、共通アプリ11−1bは、生成されていないことを示す。
即ち、図6に示すアプリ階層11−1a、共通アプリ11−1b、及び第2のアプリ階層33−1aは、例えば、装置が待ち受け状態にある際に、ゲーム部35が生成され、動作中に通話着信があり、ゲーム部35がサスペンド状態に置かれ、通話処理部22が生成されている場合の情況を示す。
次に、代行制御部33によって制御されるタスク(一例としてゲーム部35。)と、制御部11によって制御されるタスク(一例としてエディタ処理部23。)との協調動作を説明する。
まず、制御部11によるCPUリソース割り当て動作を説明する。制御部11は、アプリ階層11−1aに最も優先度が高いと記憶されているタスクと、共通アプリ11−1bに記憶されている全タスクとを対象に、1つのタスクを選択してCPUリソースを割り当てる。なお、共通アプリ11−1bに記憶されているタスクは、0個の場合、1つの場合、更に、複数の場合がある。
なお、アプリ階層11−1aに第2の情報処理管理部32が最も優先度が高いと記憶されている場合に限り、制御部11は、第2のアプリ階層33−1aに優先度が最も高いと記憶されているタスクと、共通アプリ11−1bに記憶されている全タスクとを対象に、1つのタスクを選択してCPUリソースを割り当てる。
なぜなら、第2のアプリ階層33−1aに記憶される処理部は、代行制御部33によって制御される子タスクに対応する。子タスクは、第2の情報処理管理部32が実行状態にある場合に限り、CPUリソースを割り当ての対象とされるからである。
次に、ゲーム部35と、エディタ処理部23とが協調して動作する一例として、ゲーム部35が、エディタ処理部23を生成して、生成されたエディタ処理部23を介して文字を入力する動作を説明する。図7は、上記動作におけるゲーム部35の動作のフローチャートを示す。
ゲーム部35は、その動作の一環として、例えば、実行中のプログラムの記載に従って、エディタ処理部23を介した文字入力動作を開始する(ステップS35a)。続いて、ゲーム部35は、エディタ処理部23を生成して、文字入力させることを代行制御部33に要求する(ステップS35b)。この要求の後、ゲーム部35は、エディタ処理部23によって入力された文字を要する処理を直ちに行うことはできず、エディタ処理部23による文字入力を待って、長短の相違はあるものの待ち状態に置かれる。
しかし、その文字を要する以外の処理がある場合、例えば、送受信部13を介して行う対戦型ゲームの相手方の通信装置(図示せず)との通信処理や、表示部15に表示すべき動画像の表示処理がある場合、ゲーム部35は、実行可能であり、エディタ処理部23が実行状態に置かれていない場合、実行状態に置かれて、これらの処理を実行する。
なお、表示部15に表示すべき動画像の表示処理は、表示部15の全画面の表示リソースがエディタ処理部23に割り当てられる場合であっても、ゲーム部35は実行し、エディタ処理部23の動作終了、即ち、エディタ処理部23のタスクの消滅の際、適切な画像を表示部15に表示させる。また、表示部15の表示リソースが、マルチウィンドウシステムを介して、ゲーム部35と、エディタ処理部23とに割り当てられる場合、ゲーム部35は、当然上記動画像の表示処理を実行する。
次に、ゲーム部35は、代行制御部33からエディタ処理部23によって入力された文字を受信して(ステップS35c)、文字入力動作を終了して、エディタ処理部23のタスクを消滅させる(ステップS35d)。ここで、入力された文字の数を問わない。なお、複数回に渡って入力された文字を受信する場合、ゲーム部35は、ステップS35cの文字受信の動作を繰り返す。また、代行制御部33から入力された文字を受信する方法は、例えば、文字入力の終了をタスク間通信によって、または、共用メモリを介して通知され、入力された文字は、共用メモリを介して受信する。
また、共用メモリへのアクセスは、例えば、実装API(Application Programming Interface)を介して行なう。実装APIを用いることにより、代行制御部33の動作のタイミングと、ゲーム部35の動作のタイミングが一致しないことによって文字送受信が正常に行なわれない可能性がない。また、代行制御部33及びゲーム部35は、共用メモリの記憶構造を認識せずに文字送受信を行なうことができる。
図8は、ゲーム部35が、エディタ処理部23を生成して、生成されたエディタ処理部23を介して文字を入力する際の、代行制御部33の動作のフローチャートを示す。代行制御部33は、ゲーム部35の要求を受信して文字入力動作を開始する(ステップS33a)。この動作開始の前に、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図4に示す通りである。
続いて、代行制御部33は、ツール制御部31に要求して、エディタ処理部23を生成させる(ステップS33b)。エディタ処理部23が生成された後、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図5に示す通りである。
次に、代行制御部33は、エディタ処理部23によって入力された文字をエディタ処理部23から受信して(ステップS33c)、その文字をゲーム部35に送信して(ステップS33d)、文字入力動作を終了する(ステップS33e)。文字入力動作の終了に伴い、代行制御部33は、ツール制御部31に要求して、エディタ処理部23を消滅させる。なお、複数回に渡って入力された文字を送受信する場合、代行制御部33は、ステップS33cの文字受信の動作及びステップS33dの文字送信の動作を繰り返す。
なお、代行制御部33は、エディタ処理部23によって入力された文字をゲーム部35に送信する中継を行なうにあたり、その文字に所定の変形を行なっても良い。その変形の一例は、文字コードの変更である。また、別の一例は、文字の大きさ、書体(フォント)の種類、下線などの文字修飾などの追加、削除、または変更である。これらの変形は、エディタ処理部23と、ゲーム部35とが異なる経緯を経て開発されたプログラムを用いるタスクである場合、特に有効である。
次に、ゲーム部35が、エディタ処理部23と協調して動作する際に各部の間で行われる通信シーケンスのいくつかの例を制御部11の制御動作及び代行制御部33の制御動作を交えて説明する。図9は、ゲーム部35が、エディタ処理部23を生成して、エディタ処理部23を介して文字を入力する際のシーケンスの一例を示し、縦軸は時刻であり、上が遅い時刻、下が早い時刻である。
この例は、図7及び図8を参照して説明した、ゲーム部35の動作及び代行制御部33の動作によって、ゲーム部35がエディタ処理部23を介して文字を入力する際のシーケンスを示す。
即ち、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図4に示す通りであって、ゲーム部35が実行状態に置かれ、エディタ処理部23が生成されていない際に、ゲーム部35がエディタ処理部23の生成を代行制御部33に要求する(ステップT11)。
この要求に対して、代行制御部33は、エディタ処理部23の生成を要求する(ステップT12)。なお、代行制御部33がエディタ処理部23を制御する際、全てツール制御部31を介するが、ツール制御部31を介することを省略して、簡明な説明とする。エディタ処理部23が生成された後、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図5に示す通りである。
即ち、ゲーム部35は、上述したように実行状態または待ち状態に置かれる。また、エディタ処理部23は、実行状態または待ち状態に置かれる。即ち、入力装置16のキー操作がされている場合、実行状態に置かれ、その操作がされていない場合、待ち状態に置かれる。このように、ゲーム部35と、エディタ処理部23とが交互に実行状態に置かれることによって、CPUリソースを有効に用いた動作が行われる。
エディタ処理部23による文字入力が終了すると、エディタ処理部23は、入力された文字列と共に、文字入力の終了を代行制御部33に通知して(ステップT13)、自タスクは消滅される。
代行制御部33は、エディタ処理部23から通知された文字列をゲーム部35に送信する(ステップT14)。この時、エディタ処理部23のタスクは消滅しているので、ゲーム部35のタスクは実行状態に置かれ、上記文字列を受信することができる。そして、引き続き、ゲーム部35のタスクは実行状態に置かれる。
なお、以上の説明は、文字列をエディタ処理部23からゲーム部35へ1回送信するものとしたが、これに限るものではない。任意長の文字列、例えば、1文字の文字列毎に送信するとしても良い。この場合、ステップT13の通信の中で、文字列の通知のみと、ステップT14の文字列の送信とを任意回数繰り返した後、ステップT13の通信の中で、文字入力の終了の通知が行なわれるとすれば良い。
図10は、ゲーム部35が、エディタ処理部23を生成して、エディタ処理部23を介して文字を入力中に、通話着信があった結果、ゲーム部35の動作が中断される、即ち、ゲーム部35がサスペンド状態に置かれる際のシーケンスの一例を示し、縦軸は時刻であり、上が遅い時刻、下が早い時刻である。
この例は、ゲーム部35の要求を契機としてエディタ処理部23が文字入力中に、制御部11の制御によって、ゲーム部35をバックグラウンド状態とする、即ち、第2の情報処理管理部32及びゲーム部35によって、制御部11によるアプリ階層11−1aを用いたタスク管理、表示部15への表示制御、及び、入力装置16のキー操作による入力制御に影響が及ぶことのないように制御する際のシーケンスを示す。
即ち、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図5に示す通りであり、ゲーム部35及びエディタ処理部23は、それぞれ実行状態または待ち状態に置かれる際、制御部11に、例えば通話着信の割り込みが発生した(ステップT21)。
制御部11は、第2の情報処理管理部32の下の動作、即ち、ゲーム部35の動作より通話処理部22の動作を優先し、代行制御部33にゲーム部35をバックグラウンド状態とするように指示する(ステップT22)。
代行制御部33は、エディタ処理部23に動作終了、即ち、タスクの消滅を指示する(ステップT23)。この指示に応じて、エディタ処理部23は、入力された文字列と、終了とを代行制御部33に通知して(ステップT24)、自タスクは消滅される。このステップT24の通信は、図9のステップT13の通信と同じである。
代行制御部33は、通知された文字列をゲーム部35に送信する(ステップT25)。このステップT25の通信は、図9のステップT14の通信と同じである。続いて、代行制御部33は、ゲーム部35をサスペンド状態に置き(ステップT26)、制御部11に、ゲーム部35をバックグラウンド状態とする動作を完了したことを通知する(ステップT27)。制御部11は、上記通知に応じて、通話処理部22を生成して、通話着信割り込みへの対応をさせる(ステップT28)。
ステップT24で説明したエディタ処理部23のタスクの消滅によって、動作状況記憶部11−1に記憶される共通アプリ11−1bのエディタ処理部23は、消去される。また、ステップT26で説明したゲーム部35がサスペンド状態に置かれることに伴い、第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aで、ダミー処理部34が、ゲーム部35より高い優先度で記憶される。
更に、ステップT26で説明したゲーム部35がサスペンド状態に置かれることに伴い、動作状況記憶部11−1に記憶されるアプリ階層11−1aの第2の情報処理管理部32は、消去される。また、ステップT28で、通話処理部22が生成されることにより、アプリ階層11−1aに通話処理部22が最も高い優先度として追加される。
これらの結果、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図6に示す通りとなる。ここで、ゲーム部35なる第2のアプリ階層33−1aは記憶されているものの、ダミー処理部34が、ゲーム部35より高い優先度で記憶されるため、ゲーム部35は、実行状態に置かれることはなく、また、ゲーム部35によって表示部15への表示への影響、及び、入力装置16のキー操作による入力への影響が生じることはない。
なお、以上の説明で、ゲーム部35をバックグラウンド状態とすることにより、動作状況記憶部11−1に記憶されるアプリ階層11−1aの第2の情報処理管理部32は、消去されるとしたが、これに限るものではない。通話処理部22の優先度より低い優先度として、記憶され続けるとしても良い。
また、エディタ処理部23のタスクは消滅され、動作状況記憶部11−1に記憶される共通アプリ11−1bのエディタ処理部23は、消去されるとしたが、これに限るものではない。エディタ処理部23のタスクは消滅されず、動作状況記憶部11−1に記憶される共通アプリ11−1bのエディタ処理部23は、消去されないとしても良い。この場合、制御部11は、エディタ処理部23をサスペンド状態に置き、実行状態に置かないことにより、エディタ処理部23による通話処理部22への影響を防ぐ。
このように、タスクを消滅させず、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bに変更を加えないことによれば、後述する、通話が終了し、ゲーム部35及びエディタ処理部23の動作を再開させる際の処理の減少の効果が得られる。
いずれにしても、制御部11は、通話動作を優先して、CPUリソース、表示部15への表示リソース、及び入力装置16からのキー操作リソースを通話処理部22へ割り当て、エディタ処理部23をサスペンド状態に置くので、ゲーム部35及びエディタ処理部23の動作は中断される。
この後、通話が終了した、即ち、通話処理部22の動作が終了し、通話処理部22のタスクが消滅した場合、制御部11は、入力装置16の所定のキー操作に従って、または、そのキー操作を待たずに、第2の情報処理管理部32を生成し、代行制御部33を介してゲーム部35の優先度をダミー処理部34の優先度より高くさる。そして、代行制御部33は、エディタ処理部23の生成を要求する(図9のステップT12を参照のこと。)ことによって、ゲーム部35の動作及びエディタ処理部23の動作が再開される(図示せず)。
図11は、ゲーム部35が、エディタ処理部23を生成して、エディタ処理部23を介して文字を入力中に、制御部11からの指示により、ゲーム部35が動作を終了、即ちタスクを消滅させる際のシーケンスの一例を示し、縦軸は時刻であり、上が遅い時刻、下が早い時刻である。
この例は、例えば、エディタ処理部23が文字入力中に、入力装置16の所定のキー操作を契機とした制御部11の制御によって、ゲーム部35の動作が終了される際のシーケンスを示す。
即ち、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図5に示す通りであり、ゲーム部35及びエディタ処理部23は、それぞれ実行状態または待ち状態に置かれている際、制御部11に、例えば入力装置16のキー操作が入力された。そして、そのキー操作は、ゲーム部35の動作終了、即ち、タスクの消滅を指示するものである(ステップT31)。
制御部11は、代行制御部33にゲーム部35の動作終了、即ち、タスクの消滅を指示する(ステップT32)。この指示に応じて、代行制御部33は、エディタ処理部23に動作終了、即ち、タスクの消滅を指示する(ステップT33)。この指示の際、代行制御部33は、入力された文字の通知を指示しない。エディタ処理部23は、動作終了、即ち、タスクの消滅を代行制御部33に通知して(ステップT34)、自タスクは消滅される。
続いて、代行制御部33は、ゲーム部35に動作終了、即ち、タスクの消滅を指示し(ステップT35)、制御部11に、ゲーム部35の動作終了、即ち、タスクの消滅を通知する(ステップT36)。ステップT35の動作終了、即ち、タスクの消滅の指示に従い、ゲーム部35は動作を終了し、自タスクは消滅される。
ステップT34で説明したエディタ処理部23のタスクの消滅によって、動作状況記憶部11−1に記憶される共通アプリ11−1bのエディタ処理部23は、消去される。また、ステップT35で説明したゲーム部35のタスクの消滅によって、第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aのゲーム部35は、消去される。更に、動作状況記憶部11−1に記憶されるアプリ階層11−1aの第2の情報処理管理部32は、制御部11によってステップT36で消去される。
これらの結果、動作状況記憶部11−1に記憶されるアプリ階層11−1a及び共通アプリ11−1bならびに第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、図3に示す通りとなる。
以上の説明では、動作状況記憶部11−1に記憶される共通アプリ11−1bは、エディタ処理部23であるとしたが、これに限るものではない。例えば、音楽再生部(図示せず)であっても良い。これによれば、ゲーム部35は、動作を続けつつ、ゲームの進行に応じた音声を音楽再生部に再生させ、再生された音声を再生音声発生用の第2のスピーカ(図示せず)から発生させることができる。
また、第2の動作状況記憶部33−1に記憶される第2のアプリ階層33−1aは、ダミー処理部34及びゲーム部35であるとしたが、これに限るものではない。任意の処理部であって良い。特に、本発明は、装置の使用者との対話型で動作する処理部を代行制御部33の下で動作させることに好適である。即ち、リアルタイム型のOSである制御部11の制御に拘らない動作をさせることに好適である。
以上の説明は、本発明を移動通信装置に適用した形態を例にとって行ったが、これに限るものではない。本発明は、あらゆる情報処理装置に適用することが当然に可能である。本発明は以上の構成に限定されるものではなく、種々の変形が可能である。