(57)【特許請求の範囲】
【請求項１】
優先度が設定された複数のタスクを優先度順に実行する第１のＯＳ（オペレーティングシステム）と、前記第１のＯＳと異なる第２のＯＳとを動作ＯＳとして交互に動作させるマルチオペレーティングシステム計算機において、
前記第１のＯＳが動作ＯＳとして動作しているときに前記複数のタスクのうち所定の優先度が設定された所定のタスクであって動作ＯＳの切替え契機を特定するための切替え契機タスクとして用いられるタスクが実行された場合に、動作ＯＳを前記第１のＯＳから前記第２のＯＳに切り替えるＯＳ切替え部と、
所定の状態変更周期毎に前記状態変更周期の開始時から前記状態変更周期より短い所定の第１ＯＳ割当時間が経過した場合に、前記切替え契機タスクの状態を待機状態から実行可能状態に変更するタスク状態変更部とを備え、
前記ＯＳ切替え部は、実行可能状態になった前記切替え契機タスクが前記第１のＯＳにより実行された場合に、動作ＯＳを前記第１のＯＳから前記第２のＯＳに切り替える
ことを特徴とするマルチオペレーティングシステム計算機。
【請求項２】
前記切替え契機タスクは、高い優先度が設定される高優先度タスクの優先度よりも低い優先度であって低い優先度が設定される低優先度タスクよりも高い優先度が設定される所定の中優先度タスクである
ことを特徴とする請求項１記載のマルチオペレーティングシステム計算機。
【請求項３】
前記タスク状態変更部は、前記状態変更周期の終了時に前記切替え契機タスクの状態を待機状態に変更する
ことを特徴とする請求項１または請求項２記載のマルチオペレーティングシステム計算機。
【請求項４】
前記マルチオペレーティングシステム計算機は、さらに、
状態変更周期毎に前記第１のＯＳが動作ＯＳとして動作した時間を第１ＯＳ動作時間として特定する動作時間特定部を備え、
前記タスク状態変更部は、今回の状態変更周期で前記動作時間特定部により特定された今回の第１ＯＳ動作時間が今回の状態変更周期で使用された今回の第１ＯＳ割当時間を超えた場合、次回の状態変更周期で使用する次回の第１ＯＳ割当時間に今回の第１ＯＳ割当時間より短い時間を設定する
ことを特徴とする請求項３記載のマルチオペレーティングシステム計算機。
【請求項５】
前記タスク状態変更部は、今回の第１ＯＳ動作時間と今回の第１ＯＳ割当時間との差分の時間だけ今回の第１ＯＳ割当時間より短い時間を次回の第１ＯＳ割当時間に設定する
ことを特徴とする請求項４記載のマルチオペレーティングシステム計算機。
【請求項６】
前記マルチオペレーティングシステム計算機は、さらに、
今回の第１ＯＳ動作時間が今回の第１ＯＳ割当時間を超えた超過回数を特定する超過回数特定部と、
前記超過回数特定部により特定された超過回数が所定の優先度変更回数以上である場合、前記切替え契機タスクの優先度を上げる優先度変更部とを備える
ことを特徴とする請求項５記載のマルチオペレーティングシステム計算機。
【請求項７】
優先度が設定された複数のタスクを優先度順に実行する第１のＯＳ（オペレーティングシステム）と、前記第１のＯＳと異なる第２のＯＳとを動作ＯＳとして交互に動作させるコンピュータによって実行されるマルチオペレーティングシステム管理方法において、
タスク状態変更部が、所定の状態変更周期毎に前記状態変更周期の開始時から前記状態変更周期より短い所定の第１ＯＳ割当時間が経過した場合に、動作ＯＳの切替え契機を特定するための切替え契機タスクの状態を待機状態から実行可能状態に変更し、
ＯＳ切替え部が、前記第１のＯＳが動作ＯＳとして動作しているときに前記複数のタスクのうち所定の優先度が設定されて実行可能状態になった前記切替え契機タスクが前記第１のＯＳにより実行された場合に、動作ＯＳを前記第１のＯＳから前記第２のＯＳに切り替えることを特徴とするマルチオペレーティングシステム管理方法。
【請求項８】
優先度が設定された複数のタスクを優先度順に実行する第１のＯＳ（オペレーティングシステム）と、前記第１のＯＳと異なる第２のＯＳとを動作ＯＳとして交互に動作させるマルチオペレーティングシステム管理プログラムであって、
所定の状態変更周期毎に前記状態変更周期の開始時から前記状態変更周期より短い所定の第１ＯＳ割当時間が経過した場合に、動作ＯＳの切替え契機を特定するための切替え契機タスクの状態を待機状態から実行可能状態に変更するタスク状態変更処理と、
前記第１のＯＳが動作ＯＳとして動作しているときに前記複数のタスクのうち所定の優先度が設定されて実行可能状態になった前記切替え契機タスクが前記第１のＯＳにより実行された場合に、動作ＯＳを前記第１のＯＳから前記第２のＯＳに切り替えるＯＳ切替え処理と
をコンピュータに実行させるためのマルチオペレーティングシステム管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＯＳ（オペレーティングシステム）を管理するマルチオペレーティングシステム計算機、マルチオペレーティングシステム管理方法およびマルチオペレーティングシステム管理プログラムに関するものである。
【背景技術】
【０００２】
一般に、１つの計算機において１つのＯＳが動作する。ＯＳは、プロセッサ、主記憶、２次記憶、デバイスなどの計算機資源（ハードウェア）を管理し、計算機を効率良く動作させるためにタスクのスケジューリングを行う。
ＯＳには多機能で豊富な資産を持つ事務処理ＯＳやリアルタイム処理機能に特化したリアルタイムＯＳなどの種類があり、各ＯＳは種類毎に異なる特長を有している。パーソナルコンピュータで使用されているＷｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）は事務処理ＯＳの代表例である。
【０００３】
一方で、１つの計算機において複数のＯＳ（例えば、リアルタイムＯＳと事務処理ＯＳ）を動作させる方式をマルチＯＳまたはハイブリッドＯＳと呼ぶ。これらの方式において、計算機は単一または複数のプロセッサを備える。
特許文献１〜３はマルチＯＳに関する技術を開示し、特許文献４はハイブリッドＯＳに関する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４９３８５号公報
【特許文献２】特開２００１−２２９０３８号公報
【特許文献３】特開２００９−１７６１３９号公報
【特許文献４】特開２００５−７１１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のマルチＯＳまたはハイブリッドＯＳは、リアルタイムＯＳがアイドル状態になった場合に事務処理ＯＳへ動作を切り替える。つまり、リアルタイムＯＳがアイドル状態に遷移しない場合、事務処理ＯＳは動作しない。このため、「画面が更新されない」「キーボードやマウスからの入力が受け付けられない」などの事務処理の不具合が生じる。
特許文献４の技術は、ある一定のタイミングで事務処理ＯＳを動作すべきか判断し、事務処理ＯＳを動作すべきと判断した場合に事務処理ＯＳを優先的に動作させることにより、上記の不具合に対処している。
しかし、特許文献４の技術では、割込みハンドラやＴＣＢ（タスクコントロールブロック）などの事務処理ＯＳの構成を変更する必要がある。
【０００６】
本発明は、例えば、リアルタイムＯＳと事務処理ＯＳとを動作させるマルチＯＳにおいて、事務処理ＯＳへ動作が切り替わらないという不具合を事務処理ＯＳの構成を変更せずに抑止できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明のマルチオペレーティングシステム計算機は、
優先度が設定された複数のタスクを優先度順に実行する第１のＯＳ（オペレーティングシステム）と、前記第１のＯＳと異なる第２のＯＳとを動作ＯＳとして交互に動作させるマルチオペレーティングシステム計算機であって、
前記第１のＯＳが動作ＯＳとして動作しているときに前記複数のタスクのうち所定の優先度が設定された所定のタスクであって動作ＯＳの切替え契機を特定するための切替え契機タスクとして用いられるタスクが実行された場合に、動作ＯＳを前記第１のＯＳから前記第２のＯＳに切り替えるＯＳ切替え部を備える。
【発明の効果】
【０００８】
本発明によれば、例えば、リアルタイムＯＳと事務処理ＯＳとを動作させるマルチＯＳにおいて、事務処理ＯＳへ動作が切り替わらないという不具合を事務処理ＯＳの構成を変更せずに抑止することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１におけるマルチＯＳ計算機１００の機能構成図。
【図２】実施の形態１における予約時間管理テーブル２４１を示す図。
【図３】実施の形態１におけるマルチＯＳ管理方法を示すフローチャート。
【図４】実施の形態１における切替え契機タスク４２１の状態変更方法を示すフローチャート。
【図５】実施の形態１におけるリアルタイムタスクと周期時間との関係図。
【図６】実施の形態１における予約時間設定処理を示すフローチャート。
【図７】実施の形態１における予約時間管理テーブル２４１の別例を示す図。
【図８】実施の形態１におけるマルチＯＳ計算機１００のハードウェア資源の一例を示す図。
【図９】実施の形態２におけるマルチＯＳ計算機１００の機能構成図。
【図１０】実施の形態２における周期割込み処理を示すフローチャート。
【図１１】実施の形態３における予約時間管理テーブル２４１を示す図。
【図１２】実施の形態３における周期割込み処理を示すフローチャート。
【図１３】実施の形態４における予約時間管理テーブル２４１を示す図。
【図１４】実施の形態４における周期割込み処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
実施の形態１．
リアルタイムＯＳと事務処理ＯＳ（汎用ＯＳともいう）とを交互に動作させるマルチＯＳ計算機、マルチＯＳ管理方法およびマルチＯＳ管理プログラムについて説明する。
【００１１】
図１は、実施の形態１におけるマルチＯＳ計算機１００の機能構成図である。
実施の形態１におけるマルチＯＳ計算機１００の機能構成について、図１に基づいて説明する。
【００１２】
マルチＯＳ計算機１００は、ＲＴＯＳ４００（リアルタイムＯＳ）と事務処理ＯＳ３００とを備える（インストールされる）。
ＲＴＯＳ４００はリアルタイム処理用の機能に特化したオペレーティングシステムであり、事務処理ＯＳ３００は事務処理（文書編集、表計算など）用の機能を有する汎用のオペレーティングシステムである。
【００１３】
マルチＯＳ計算機１００は、ＲＴＯＳ４００と事務処理ＯＳ３００とを交互に切り替えて動作させる。
但し、マルチＯＳ計算機１００は、ＲＴＯＳ４００を事務処理ＯＳ３００より優先して動作させる。また、ＲＴＯＳ４００が動作し続けてしまうことにより事務処理ＯＳ３００が動作しなくなってしまう不具合を抑止する。
【００１４】
ＲＴＯＳ４００は、優先度が設定された複数のタスク（プロセス、プログラムともいう）をＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて優先度順に実行する。
以下、ＲＴＯＳ４００により実行されるタスクを「リアルタイムタスク」という。
【００１５】
ＲＴＯＳ４００は、リアルタイムタスクとして一般タスク４２０と切替え契機タスク４２１とアイドルタスク４２２とを実行する。
一般タスク４２０は、特定のリアルタイム処理を行うためのリアルタイムタスクである。一般タスク４２０は複数有り、複数の一般タスク４２０にはそれぞれに高い優先度から低い優先度までリアルタイム処理の内容に応じた優先度を設定する。
切替え契機タスク４２１は、動作するＯＳをＲＴＯＳ４００から事務処理ＯＳ３００に切り替えるためのリアルタイムタスクである。切替え契機タスク４２１には中程度の優先度を設定する。
アイドルタスク４２２は、リアルタイムタスク群の中で優先度が最も低いタスクである。つまり、アイドルタスク４２２は、他に実行可能なリアルタイムタスクがない場合にのみ動作する。
【００１６】
ＲＴＯＳ４００は、ハードウェア１０１からの割込み（通常割込み）を処理する割込みハンドラ４１０やリアルタイムタスクを管理（ディスパッチ、スケジューリングなど）するタスク管理部４１１などの機能部を有する。
【００１７】
事務処理ＯＳ３００は、ワープロソフトや表計算ソフトなどのアプリケーションプログラム（以下、アプリ３２０という）を実行する。
事務処理ＯＳ３００は、ハードウェア１０１からの割込み（通常割込み）を処理する割込みハンドラ３１０やアプリ３２０を管理するタスク管理部（図示省略）などの機能部を有する。
【００１８】
マルチＯＳ計算機１００は、ＲＴＯＳ４００と事務処理ＯＳ３００とを管理するＯＳ管理機構２００を備える。
ＯＳ管理機構２００は、ＯＳ切替え部２１０、割込み割付部２２０、予約時間通知部２３０および予約時間設定部２４０を備える。
【００１９】
ＯＳ切替え部２１０は、ＲＴＯＳ４００（第１のＯＳの一例）が動作ＯＳとして動作しているときに切替え契機タスク４２１が実行された場合に、動作ＯＳをＲＴＯＳ４００から事務処理ＯＳ３００（第２のＯＳの一例）に切り替える。
前述の通り、切替え契機タスク４２１は、複数のリアルタイムタスクのうち所定の優先度が設定された所定のタスクであって動作ＯＳの切替え契機を特定するためのタスクである。
具体的に、切替え契機タスク４２１は、高い優先度が設定される高優先度タスク（一般タスク４２０）の優先度よりも低い優先度であって低い優先度が設定される低優先度タスク（一般タスク４２０）よりも高い優先度が設定される所定の中優先度タスクである。
【００２０】
割込み割付部２２０は、ハードウェア１０１に所定の割込み設定を行う。所定の割込み設定とは、ハードウェア１０１から割込み（通常割込み）が発生した場合に割込み要因（割込み番号）に応じてＲＴＯＳ４００の割込みハンドラ４１０、事務処理ＯＳ３００の割込みハンドラ３１０またはＯＳ管理機構２００のＯＳ切替え部２１０を呼び出すための設定である。
【００２１】
予約時間通知部２３０（タスク状態変更部の一例）は、所定の状態変更周期（後述する周期時間）毎に周期割込みと経過割込みとをハードウェア１０１のタイマデバイスに設定する。
予約時間通知部２３０は、経過割込みが発生したときに切替え契機タスク４２１の状態を待機状態から実行可能状態に変更し、周期割込みが発生したときに切替え契機タスク４２１の状態を待機状態に変更する。
周期割込みは、状態変更周期（後述する周期時間）の終了時に発生し、経過割込みは、状態変更周期の開始時から状態変更周期より短い所定の第１ＯＳ割当時間（後述するＲＴＯＳ動作割合時間）が経過した場合に発生する。
実施の形態において、周期割込みおよび経過割込み以外の割込みを「通常割込み」という。
【００２２】
予約時間設定部２４０は、ユーザ、アプリ３２０またはリアルタイムタスクから指定されるマルチＯＳ管理用の定義値（後述する周期時間やＲＴＯＳ動作割合など）をメモリに設定する。
例えば、予約時間設定部２４０は、以下に説明するような予約時間管理テーブル２４１にマルチＯＳ管理用の定義値を設定する。
【００２３】
図２は、実施の形態１における予約時間管理テーブル２４１を示す図である。
実施の形態１における予約時間管理テーブル２４１について、図２に基づいて説明する。
【００２４】
予約時間設定部２４０は、予約時間管理テーブル２４１にマルチＯＳ管理用の定義値を設定する。予約時間管理テーブル２４１はメモリに記憶され、ＯＳ管理機構２００の各部によって参照または更新される。
【００２５】
予約時間管理テーブル２４１には「周期時間」と「ＲＴＯＳ動作割合」とが設定される。
周期時間は、切替え契機タスク４２１の状態を変更する周期を示す。
ＲＴＯＳ動作割合は、周期時間内でＲＴＯＳ４００を事務処理ＯＳ３００より優先して動作させる時間の割合を示す。
以下、周期時間とＲＴＯＳ動作割合とによって特定される時間を「ＲＴＯＳ動作割合時間」という。
【００２６】
例えば、周期時間が「１０ミリ秒（ｍｓ）」であり、ＲＴＯＳ動作割合が「７０％」である場合、ＲＴＯＳ動作割合時間は「７ミリ秒（＝１０ミリ秒×０．７）」である。
【００２７】
ＲＴＯＳ動作割合の代わりに、又は、ＲＴＯＳ動作割合と共にＲＴＯＳ動作割合時間を予約時間管理テーブル２４１に設定しても構わない。
【００２８】
周期時間は周期割込みの設定時間として使用され、ＲＴＯＳ動作割合時間は経過割込みの設定時間として使用される。
【００２９】
図３は、実施の形態１におけるマルチＯＳ管理方法を示すフローチャートである。
マルチＯＳ計算機１００のマルチＯＳ管理方法の処理の流れについて、図３に基づいて説明する。
【００３０】
ＲＴＯＳ４００が動作ＯＳとして動作しているものとする。
【００３１】
また、リアルタイムタスクの優先度および状態情報は、ＲＴＯＳ用に割り当てられたメモリ内の記憶領域に記憶されているものとする。
リアルタイムタスクの状態には、実行状態、実行可能状態および待機状態がある。
実行状態とは実行中を示す状態である。
実行可能状態とはＣＰＵの割り当てを待っている状態であり、実行可能状態のタスクは、当該タスクより優先度が高い実行可能状態のタスクがない場合に実行される。
待機状態とはハードウェア１０１の割込み待ちなどの状態であり、待機状態のタスクは、当該タスクより優先度が高い実行可能状態のタスクがない場合であっても実行されない。
【００３２】
Ｓ１１０において、ＲＴＯＳ４００のタスク管理部４１１は、実行可能状態のリアルタイムタスクを特定する。
以下、切替え契機タスク４２１より高い優先度が設定された一般タスク４２０を「高優先度タスク」といい、切替え契機タスク４２１より低い優先度が設定された一般タスク４２０を「低優先度タスク」という。
少なくともいずれかの高優先度タスクの状態が実行可能状態である場合（ＹＥＳ）、Ｓ１１１に進む。
全ての高優先度タスクの状態が待機状態である場合（ＮＯ）、Ｓ１２０に進む。
【００３３】
Ｓ１１１において、ＲＴＯＳ４００のタスク管理部４１１は、実行可能状態の高優先度タスクのうち最も優先度が高いタスクにＣＰＵ（の使用権）を割り当てる。
ＣＰＵを割り当てられた高優先度タスクはＣＰＵを用いて動作する。
所定の割り当て時間が経過した場合や動作した高優先度タスクが割り込み待ち（待機状態）になった場合、Ｓ１１０に戻る。
【００３４】
Ｓ１２０において、切替え契機タスク４２１の状態が実行可能状態である場合（ＹＥＳ）、Ｓ１２１に進む。
切替え契機タスク４２１の状態が待機状態である場合（ＮＯ）、Ｓ１３０に進む。
【００３５】
Ｓ１２１において、ＲＴＯＳ４００のタスク管理部４１１は、切替え契機タスク４２１にＣＰＵを割り当てる。
ＣＰＵを割り当てられた切替え契機タスク４２１はＣＰＵを用いて動作を開始し、ＯＳ管理機構２００のＯＳ切替え部２１０を呼び出す。
Ｓ１２１の後、Ｓ１２２に進む。
【００３６】
Ｓ１２２において、ＯＳ切替え部２１０は、動作ＯＳをＲＴＯＳ４００から事務処理ＯＳ３００に切り替える。
動作ＯＳを切り替える際、ＯＳ切替え部２１０は、動作しているＯＳ（ＲＴＯＳ４００）の状態情報を所定の記憶領域に保存し、前回保存した動作していないＯＳ（事務処理ＯＳ３００）の状態情報をＣＰＵやチップセットのレジストリに設定する。ＯＳの状態情報とは、ＣＰＵやチップセットのレジストリに設定されたデータである。ＯＳの状態情報をＣＰＵやチップセットのレジストリに設定することにより、前回動作していたときのＯＳの状態を復元することができる。
動作ＯＳがＲＴＯＳ４００から事務処理ＯＳ３００に切り替わると事務処理ＯＳ３００が動作し、アプリ３２０が実行される。
Ｓ１２２の後、Ｓ１４０に進む。
【００３７】
Ｓ１４０において、ＲＴＯＳ４００に対する割込みが発生した場合、ハードウェア１０１からＯＳ切替え部２１０に割込みが通知される。
割込みを通知されたＯＳ切替え部２１０は、動作ＯＳを事務処理ＯＳ３００からＲＴＯＳ４００に切り替え、ＲＴＯＳ４００の割込みハンドラ４１０を呼び出す。
ＲＴＯＳ４００の割込みハンドラ４１０は、発生した割込みに応じて所定の割込み処理を実行する。
Ｓ１４０の後、Ｓ１１０に戻る。
【００３８】
Ｓ１３０において、少なくともいずれかの低優先度タスクの状態が実行可能状態である場合（ＹＥＳ）、Ｓ１３１に進む。
全ての低優先度タスクの状態が待機状態である場合（ＮＯ）、Ｓ１３２に進む。
【００３９】
Ｓ１３１において、ＲＴＯＳ４００のタスク管理部４１１は、実行可能状態の低優先度タスクのうち最も優先度が高いタスクにＣＰＵを割り当てる。
ＣＰＵを割り当てられた低優先度タスクはＣＰＵを用いて動作する。
所定の割り当て時間が経過した場合や動作した低優先度タスクが割り込み待ち（待機状態）になった場合、Ｓ１１０に戻る。
【００４０】
Ｓ１３２において、ＲＴＯＳ４００のタスク管理部４１１は、アイドルタスク４２２にＣＰＵを割り当てる。
ＣＰＵを割り当てられたアイドルタスク４２２はＣＰＵを用いて動作を開始し、ＯＳ管理機構２００のＯＳ切替え部２１０を呼び出す。
Ｓ１３２の後、Ｓ１３３に進む。
【００４１】
Ｓ１３３において、ＯＳ切替え部２１０は、動作ＯＳをＲＴＯＳ４００から事務処理ＯＳ３００に切り替える。
動作ＯＳが事務処理ＯＳ３００に切り替わった後、前述したＳ１４０に進む。
【００４２】
図４は、実施の形態１における切替え契機タスク４２１の状態変更方法を示すフローチャートである。
切替え契機タスク４２１の状態変更方法の処理の流れについて、図４に基づいて説明する。
【００４３】
予約時間設定部２４０は、予約時間管理テーブル２４１（図２参照）に基づいて周期割込みと経過割込みとをハードウェア１０１に予め設定する。
周期割込みまたは経過割込みが発生した場合、ハードウェア１０１から予約時間通知部２３０に割込みが通知される。
【００４４】
以下、周期割込みの発生時に行う処理を「周期割込み処理」といい、経過割込みの発生時に行う処理を「経過割込み処理」という。
【００４５】
周期割込みが通知された場合、予約時間通知部２３０は以下のように動作する。
【００４６】
Ｓ２１０において、予約時間通知部２３０はＲＴＯＳ４００のタスク管理部４１１に停止通知を行い、停止通知を受けたタスク管理部４１１は切替え契機タスク４２１の状態情報を「待機状態」に変更する。
Ｓ２１０の後、Ｓ２２０に進む。
【００４７】
Ｓ２２０において、予約時間通知部２３０は、予約時間管理テーブル２４１の周期時間（例えば、１０ミリ秒）をハードウェア１０１のタイマデバイスに設定することにより、周期割込みを設定する。
Ｓ２２０の後、Ｓ２３０に進む。
【００４８】
Ｓ２３０において、予約時間通知部２３０は、予約時間管理テーブル２４１の周期時間およびＲＴＯＳ動作割合に基づいてＲＴＯＳ動作割合時間を算出する。
そして、予約時間通知部２３０は、算出したＲＴＯＳ動作割合時間をハードウェア１０１のタイマデバイスに設定することにより、経過割込みを設定する。
例えば、周期時間が「１０ミリ秒」であり、ＲＴＯＳ動作割合が「７０％」である場合、ＲＴＯＳ動作割合時間は「７ミリ秒（＝１０ミリ秒×０．７）」である。
但し、ＲＴＯＳ動作割合時間を予約時間管理テーブル２４１に予め設定しておいても構わない。
【００４９】
経過割込み（Ｓ２３０）を設定した後、ＲＴＯＳ動作割合時間が経過すると経過割込みが発生し、ハードウェア１０１から予約時間通知部２３０に経過割込みが通知される。
予約時間通知部２３０に経過割込みが通知された場合、Ｓ２４０に進む。
【００５０】
Ｓ２４０において、予約時間通知部２３０はＲＴＯＳ４００のタスク管理部４１１に動作通知を行い、動作通知を受けたタスク管理部４１１は切替え契機タスク４２１の状態情報を「実行可能状態」に変更する。
【００５１】
実行可能状態になった切替え契機タスク４２１は、マルチＯＳ管理方法（図３）で説明したように、実行可能状態の高優先度タスクがない場合に動作する。
そして、切替え契機タスク４２１が動作した場合（Ｓ１２１）、ＯＳ切替え部２１０が動作ＯＳをＲＴＯＳ４００から事務処理ＯＳ３００に切り替え（Ｓ１２２）、ＲＴＯＳ４００の割込みが発生するまで事務処理ＯＳ３００が動作する（Ｓ１４０）。
【００５２】
周期割込み（Ｓ２２０）を設定した後、周期時間が経過すると周期割込みが発生し、ハードウェア１０１から予約時間通知部２３０に周期割込みが通知される。
予約時間通知部２３０に周期割込みが通知された場合、Ｓ２１０に戻る。
【００５３】
図５は、実施の形態１におけるリアルタイムタスクと周期時間との関係図である。
リアルタイムタスクとリアルタイムタスクが動作する時間帯との関係について、図５に基づいて説明する。
【００５４】
周期時間（例えば、１０ミリ秒）のうちＲＴＯＳ動作割合時間（例えば、７ミリ秒）には、高優先度タスク、低優先度タスクまたはアイドルタスク４２２が動作する。
つまり、ＲＴＯＳ動作割合時間において、実行可能状態の一般タスク４２０が有る場合、ＲＴＯＳ４００が優先され、事務処理ＯＳ３００は動作しない。
【００５５】
周期時間のうちＲＴＯＳ動作割合時間を除いた残り時間（例えば、３ミリ秒）には、高優先度タスクまたは切替え契機タスク４２１が動作する。
つまり、ＲＴＯＳ動作割合時間を除いた残り時間において、実行可能状態の高優先度タスクが無ければ、実行可能状態の低優先度タスクが有っても、事務処理ＯＳ３００が優先して動作する。
【００５６】
図６は、実施の形態１における予約時間設定処理を示すフローチャートである。
実施の形態１における予約時間設定処理の流れについて、図６に基づいて説明する。
【００５７】
ユーザ、アプリ３２０またはリアルタイムタスクからマルチＯＳ計算機用の定義値（周期時間、ＲＴＯＳ動作割合など）が指定された場合、予約時間設定部２４０は、以下のように動作する。
【００５８】
Ｓ３１０において、予約時間設定部２４０はＲＴＯＳ４００のタスク管理部４１１に停止通知を行い、停止通知を受けたタスク管理部４１１は切替え契機タスク４２１の状態情報に「待機状態」を設定する。
Ｓ３１０の後、Ｓ３２０に進む。
【００５９】
Ｓ３２０において、予約時間設定部２４０は、指定された定義値（周期時間、ＲＴＯＳ動作割合など）を予約時間管理テーブル２４１に設定する。
さらに、予約時間設定部２４０は、指定された周期時間およびＲＴＯＳ動作割合に基づいてＲＴＯＳ動作割合時間を算出し、算出したＲＴＯＳ動作割合時間を予約時間管理テーブル２４１に設定してもよい。
Ｓ３２０の後、Ｓ３３０に進む。
【００６０】
Ｓ３３０において、予約時間設定部２４０は、予約時間管理テーブル２４１の周期時間をハードウェア１０１のタイマデバイスに設定することにより、周期割込みを設定する。
Ｓ３３０の後、Ｓ３４０に進む。
【００６１】
Ｓ３４０において、予約時間設定部２４０は、予約時間管理テーブル２４１の周期時間およびＲＴＯＳ動作割合に基づいてＲＴＯＳ動作割合時間をハードウェア１０１のタイマデバイスに設定することにより、経過割込みを設定する。
Ｓ３４０により、予約時間設定処理は終了する。
【００６２】
切替え契機タスク４２１の状態を待機状態にし（Ｓ３１０）、周期割込みおよび経過割込みを設定（Ｓ３３０、Ｓ３４０）することにより、予約時間管理テーブル２４１の設定直後からＲＴＯＳ４００と事務処理ＯＳ３００とを新たな定義値に基づいて管理することができる。
【００６３】
設定された割込みを繰り返し実行するタイマデバイスを使用する場合、切替え契機タスク４２１の状態変更方法（図４参照）において周期割込み（Ｓ２２０）および経過割込み（Ｓ２３０）を設定しなくて構わない。また、割込みの設定時間（周期時間、ＲＴＯＳ動作割合時間）が予約時間管理テーブル２４１の設定値に対して正しいか否かを判定し、正しくない場合に周期割込みおよび経過割込みを設定しても構わない。
【００６４】
動作通知（図４のＳ２４０）や停止通知（図４のＳ２１０、図６のＳ３１０）は、予約時間通知部２３０または予約時間設定部２４０による状態情報（例えば、フラグ）の設定動作や、資源待ち機能（例えば、セマフォ）を使用した管理動作に置き換えても構わない。
【００６５】
図７は、実施の形態１における予約時間管理テーブル２４１の別例を示す図である。
図７に示すように、予約時間管理テーブル２４１に「切替え契機タスク優先度」を設定してもよい。
切替え契機タスク優先度は、切替え契機タスク４２１に設定する優先度を示す。
予約時間設定部２４０は、切替え契機タスク優先度が指定された場合、指定された切替え契機タスク優先度を予約時間管理テーブル２４１に設定し、指定された切替え契機タスク優先度を切替え契機タスク４２１に設定する。
これにより、切替え契機タスク４２１の優先度を必要に応じて変更することができる。
【００６６】
図８は、実施の形態１におけるマルチＯＳ計算機１００のハードウェア資源の一例を示す図である。
図８において、マルチＯＳ計算機１００は、ＣＰＵ９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ドライブ装置９０４、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。ドライブ装置９０４は、ＦＤ（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
【００６７】
通信ボード９１５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【００６８】
磁気ディスク装置９２０には、ＲＴＯＳ４００、事務処理ＯＳ３００、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
【００６９】
プログラム群９２３には、実施の形態において「〜部」として説明する機能を実行するマルチＯＳ管理プログラムが含まれる。マルチＯＳ管理プログラムは、ＣＰＵ９１１により読み出され実行される。すなわち、マルチＯＳ管理プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【００７０】
ファイル群９２４には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【００７１】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【００７２】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【００７３】
実施の形態１で説明したマルチＯＳ計算機１００、マルチＯＳ管理方法およびマルチＯＳ管理プログラムにより、事務処理ＯＳ３００に変更を加えずに、以下の効果を奏することができる（図５参照）。
（１）切替え契機タスク４２１より優先度が高い一般タスク４２０（高優先度タスク）を優先して実行することができる。
（２）ＲＴＯＳ４００が動作し続けて事務処理ＯＳ３００が動作しなくなってしまう不具合を抑止することができる。
【００７４】
実施の形態２．
ＲＴＯＳ動作割合時間を調整することにより、事務処理ＯＳ３００が動作しなくなってしまう不具合を抑止する形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明を省略する事項は実施の形態１と同様である。
【００７５】
図９は、実施の形態２におけるマルチＯＳ計算機１００の機能構成図である。
実施の形態２におけるマルチＯＳ計算機１００の機能構成について、図９に基づいて説明する。
【００７６】
マルチＯＳ計算機１００のＯＳ管理機構２００は、実施の形態１で説明した機能（図１参照）に加えて、ＯＳ動作時刻記録部２５０とＯＳ動作時間調整部２６０とを備える。
【００７７】
ＯＳ動作時刻記録部２５０は、動作ＯＳの切り替え時に切り替え情報をメモリに記録する。切り替え情報は、切り替え時刻と切り替え前の動作ＯＳと切り替え後の動作ＯＳとを含む。
【００７８】
ＯＳ動作時間調整部２６０（動作時間特定部の一例）は、ＯＳ動作時刻記録部２５０により記録された切り替え情報に基づいて、状態変更周期（周期時間）毎にＲＴＯＳ４００（第１のＯＳの一例）が動作ＯＳとして動作した時間を第１ＯＳ動作時間（後述するＲＴＯＳ実動時間）として特定する。
【００７９】
予約時間通知部２３０（タスク状態変更部の一例）は、今回の第１ＯＳ動作時間が今回の第１ＯＳ割当時間（ＲＴＯＳ動作）を超えた場合、次回の第１ＯＳ割当時間（ＲＴＯＳ動作割合時間）に今回の第１ＯＳ割当時間より短い時間を設定する。
今回の第１ＯＳ動作時間とは、今回の状態変更周期でＯＳ動作時間調整部２６０により特定された第１ＯＳ動作時間のことである。また、今回の第１ＯＳ割当時間とは今回の状態変更周期で使用された第１ＯＳ割当時間のことであり、次回の第１ＯＳ割当時間とは次回の状態変更周期で使用する第１ＯＳ割当時間のことである。
【００８０】
例えば、予約時間通知部２３０は、今回の第１ＯＳ動作時間と今回の第１ＯＳ割当時間との差分の時間だけ今回の第１ＯＳ割当時間より短い時間を次回の第１ＯＳ割当時間に設定する。
【００８１】
マルチＯＳ管理方法は実施の形態１（図３参照）と同じである。
但し、切替え契機タスク４２１の状態変更方法における周期割込み処理は、実施の形態１（図４参照）と異なる。
【００８２】
図１０は、実施の形態２における周期割込み処理を示すフローチャートである。
実施の形態２における周期割込み処理について、図１０に基づいて説明する。
【００８３】
周期割込みが発生した場合、予約時間通知部２３０に周期割込みが通知され、以下の処理が実行される。
【００８４】
Ｓ４１０において、予約時間通知部２３０は、Ｓ２１０（図４参照）と同様に、停止通知により切替え契機タスク４２１の状態情報を「待機状態」に変更する。
Ｓ４１０の後、Ｓ４２０に進む。
【００８５】
Ｓ４２０において、ＯＳ動作時間調整部２６０は、ＯＳ動作時刻記録部２５０により記録された切り替え情報（切り替え時刻、切り替え前の動作ＯＳ、切り替え後の動作ＯＳ）に基づいて、前回の周期時間内でＲＴＯＳ４００が動作した時間を算出する。ＲＴＯＳ４００が動作した時間とは、切り替え後の動作ＯＳが「ＲＴＯＳ４００」である切り替え時刻から切り替え後の動作ＯＳが「事務処理ＯＳ３００」である切り替え時刻までの時間を合計した時間である。
以下、Ｓ４２０で算出した時間を「ＲＴＯＳ実動時間」という。
Ｓ４２０の後、Ｓ４２１に進む。
【００８６】
Ｓ４２１において、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１（図２参照）の周期時間およびＲＴＯＳ動作割合に基づいて、ＲＴＯＳ動作割合時間を算出する。但し、予約時間設定部２４０がＲＴＯＳ動作割合時間を予約時間管理テーブル２４１に予め設定し、ＯＳ動作時間調整部２６０が予約時間管理テーブル２４１からＲＴＯＳ動作割合時間を参照しても構わない。
ＯＳ動作時間調整部２６０は、ＲＴＯＳ実動時間とＲＴＯＳ動作割合時間とを比較する。
ＲＴＯＳ実動時間がＲＴＯＳ動作割合時間以下の時間である場合（ＹＥＳ）、Ｓ４３０に進む。
ＲＴＯＳ実動時間がＲＴＯＳ動作割合時間より長い時間である場合（ＮＯ）、Ｓ４２２に進む。
【００８７】
Ｓ４２２において、ＯＳ動作時間調整部２６０は、ＲＴＯＳ実動時間とＲＴＯＳ動作割合時間との差分時間を算出する。
Ｓ４２２の後、Ｓ４２３に進む。
【００８８】
Ｓ４２３において、ＯＳ動作時間調整部２６０は、Ｓ４２２で算出した差分時間に相当する割合（調整割合）を算出する。
ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１のＲＴＯＳ動作割合から調整割合を差し引いた割合（設定割合）を算出する。但し、ＲＴＯＳ動作割合から所定の変更割合を差し引いた割合を設定割合として算出しても構わない。
ＯＳ動作時間調整部２６０は、算出した設定割合を予約時間管理テーブル２４１に新たなＲＴＯＳ動作割合として設定する。
例えば、ＲＴＯＳ４００の動作時間が「８ミリ秒」であり、ＲＴＯＳ動作割合時間が「７ミリ秒」である場合、差分時間は「１ミリ秒（＝８ミリ秒−７ミリ秒）」である。
また、周期時間が「１０ミリ秒」であり、ＲＴＯＳ動作割合が「７０％」であり、差分時間が「１ミリ秒」である場合、調整割合は「１０％（＝１ミリ秒／１０ミリ秒）」であり、設定割合は「６０％（＝７０％−１０％）」である。
ＲＴＯＳ動作割合を「７０％」から「６０％」に減らすことにより、ＲＴＯＳ動作割合時間を「７ミリ秒」から「６ミリ秒」に減らすことができる。
【００８９】
但し、予約時間設定部２４０がＲＴＯＳ動作割合時間を予約時間管理テーブル２４１に予め設定し、ＯＳ動作時間調整部２６０が予約時間設定部２４０により設定されたＲＴＯＳ動作割合時間から差分時間を差し引いた時間を新たなＲＴＯＳ動作割合時間として予約時間管理テーブル２４１に設定しても構わない。
また、ＯＳ動作時間調整部２６０は、ＲＴＯＳ動作割合の初期値またはＲＴＯＳ動作割合時間の初期値を予約時間管理テーブル２４１に記憶しておく。初期値とは、予約時間設定部２４０により予約時間管理テーブル２４１に設定された値のことである。
Ｓ４２３の後、Ｓ４４０に進む。
【００９０】
Ｓ４３０において、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１のＲＴＯＳ動作割合およびＲＴＯＳ動作割合時間を初期値に戻す。
Ｓ４３０の後、Ｓ４４０に進む。
【００９１】
Ｓ４４０において、予約時間通知部２３０は、Ｓ２２０（図４参照）と同様に、予約時間管理テーブル２４１の周期時間に基づいて周期割込みを設定する。
Ｓ４４０の後、Ｓ４４１に進む。
【００９２】
Ｓ４４１において、予約時間通知部２３０は、Ｓ２３０（図４参照）と同様に、予約時間管理テーブル２４１の周期時間およびＲＴＯＳ動作割合（またはＲＴＯＳ動作割合時間）に基づいて、経過割込みを設定する。
Ｓ４４１により、周期割込み処理は終了する。
【００９３】
実施の形態２により、ＲＴＯＳ４００が動作し続けて事務処理ＯＳ３００が動作しなくなってしまう事象の発生を実施の形態１よりも抑止することができる。
【００９４】
実施の形態３．
ＲＴＯＳ動作割合時間を調整しても事務処理ＯＳ３００を動作できない状況を検出する形態について説明する。
以下、実施の形態１および実施の形態２と異なる事項について主に説明する。説明を省略する事項は実施の形態１または実施の形態２と同様である。
【００９５】
マルチＯＳ計算機１００の機能構成は実施の形態２（図９参照）と同じである。
但し、ＯＳ動作時間調整部２６０（超過回数特定部の一例）は、今回の第１ＯＳ動作時間（ＲＴＯＳ実動時間）が今回の第１ＯＳ割当時間（ＲＴＯＳ動作割合時間）を超えた超過回数（後述する周期オーバ数）を特定する。
ＯＳ動作時間調整部２６０は、超過回数が所定の優先度変更回数（後述する周期オーバ上限値）以上である場合、ＲＴＯＳ４００に周期オーバ通知を出力する。
【００９６】
図１１は、実施の形態３における予約時間管理テーブル２４１を示す図である。
実施の形態３における予約時間管理テーブル２４１について、図１１に基づいて説明する。
【００９７】
予約時間管理テーブル２４１には、実施の形態１（図７参照）で説明した定義値に加えて、「周期オーバ数」と「周期オーバ上限値」とを設定する。
周期オーバ数は、ＲＴＯＳ実動時間がＲＴＯＳ動作割合時間を超えた回数を示す。
周期オーバ上限値は、周期オーバ数と比較する閾値を示す。
【００９８】
図１２は、実施の形態３における周期割込み処理を示すフローチャートである。
実施の形態３における周期割込み処理について、図１２に基づいて説明する。
【００９９】
実施の形態３における周期割込み処理では、実施の形態２で説明した処理（図１０参照）に加えて、Ｓ４２４、Ｓ４３１およびＳ４５０〜Ｓ４５１を実行する。
以下、Ｓ４２４、Ｓ４３１およびＳ４５０〜Ｓ４５１について主に説明する。
【０１００】
ＲＴＯＳ実動時間がＲＴＯＳ動作割合時間より長い時間である場合（Ｓ４２１：ＮＯ）、ＯＳ動作時間調整部２６０は、ＲＴＯＳ実動時間とＲＴＯＳ動作割合時間との差分時間を算出し（Ｓ４２２）、ＲＴＯＳ動作割合時間を差分時間だけ減らす（Ｓ４２３）。
Ｓ４２３の後、Ｓ４２４に進む。
【０１０１】
Ｓ４２４において、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１の周期オーバ数をカウントアップ（インクリメント）する。
Ｓ４２４の後、Ｓ４５０に進む。
【０１０２】
Ｓ４５０において、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１の周期オーバ数と周期オーバ上限値とを比較する。
周期オーバ数が周期オーバ上限値未満である場合（ＹＥＳ）、Ｓ４４０に進む。
周期オーバ数が周期オーバ上限値以上である場合（ＮＯ）、Ｓ４５１に進む。
【０１０３】
Ｓ４５１において、ＯＳ動作時間調整部２６０は、周期オーバ数が周期オーバ上限値に達したことを知らせる周期オーバ通知をＲＴＯＳ４００に送る。
周期オーバ通知を受けたＲＴＯＳ４００は、所定の周期オーバ処理を行う。例えば、ＲＴＯＳ４００は、マルチＯＳ計算機１００を再起動する。
【０１０４】
ＲＴＯＳ実動時間がＲＴＯＳ動作割合時間以下の時間である場合（Ｓ４２１：ＹＥＳ）、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１のＲＴＯＳ動作割合を初期クリアする（Ｓ４３０）。
Ｓ４３０の後、Ｓ４３１に進む。
【０１０５】
Ｓ４３１において、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１の周期オーバ数を「０」にクリアする。
Ｓ４３１の後、Ｓ４４０に進む。
【０１０６】
実施の形態３により、ＲＴＯＳ動作割合時間を調整しても事務処理ＯＳ３００を動作できない状況を検出し、所定の周期オーバ処理によって対処することができる。
【０１０７】
実施の形態４．
ＲＴＯＳ動作割合時間を調整しても事務処理ＯＳ３００を動作できない場合に切替え契機タスク４２１の優先度を高くする形態について説明する。
以下、実施の形態１〜３と異なる事項について主に説明する。説明を省略する事項は実施の形態１〜３と同様である。
【０１０８】
マルチＯＳ計算機１００の機能構成は実施の形態２（図９参照）と同じである。
但し、ＯＳ動作時間調整部２６０（優先度変更部の一例）は、超過回数（周期オーバ数）が所定の優先度変更回数（周期オーバ上限値）以上である場合、切替え契機タスク４２１の優先度を上げる。
【０１０９】
図１３は、実施の形態４における予約時間管理テーブル２４１を示す図である。
実施の形態４における予約時間管理テーブル２４１について、図１３に基づいて説明する。
【０１１０】
予約時間管理テーブル２４１には、実施の形態３で説明した定義値（図１１参照）に加えて、「優先度変更値」を設定する。
優先度変更値は、切替え契機タスク４２１の優先度を変更する大きさを示す。
【０１１１】
図１４は、実施の形態４における周期割込み処理を示すフローチャートである。
実施の形態４における周期割込み処理について、図１４に基づいて説明する。
【０１１２】
実施の形態４における周期割込み処理では、実施の形態３で説明したＳ４５１の代わりにＳ４５２を実行する。但し、Ｓ４５１とＳ４５２との両方を実行してもよい。
さらに、実施の形態４における周期割込み処理ではＳ４３２を実行する。
以下、Ｓ４５２およびＳ４３２について主に説明する。
【０１１３】
周期オーバ数が周期オーバ上限値以上である場合（Ｓ４５０：ＮＯ）、Ｓ４５２に進む。
【０１１４】
Ｓ４５２において、ＯＳ動作時間調整部２６０は、切替え契機タスク４２１の優先度を予約時間管理テーブル２４１に設定されている優先度変更値だけ高い優先度に変更する。
Ｓ４５２により、周期割込み処理は終了する。
【０１１５】
ＲＴＯＳ実動時間がＲＴＯＳ動作割合時間以下の時間である場合（Ｓ４２１：ＹＥＳ）、ＯＳ動作時間調整部２６０は、予約時間管理テーブル２４１のＲＴＯＳ動作割合および周期オーバ数を初期クリアする（Ｓ４３０、Ｓ４３１）。
Ｓ４３１の後、Ｓ４３２に進む。
【０１１６】
Ｓ４３２において、ＯＳ動作時間調整部２６０は、切替え契機タスク４２１の優先度を予約時間管理テーブル２４１に設定されている切替え契機タスク優先度（初期値）に変更する。
Ｓ４３２の後、Ｓ４４０に進む。
【０１１７】
実施の形態４により、ＲＴＯＳ動作割合時間を調整しても事務処理ＯＳ３００を動作できない場合に切替え契機タスク４２１の優先度を高くすることができる。
これにより、ＲＴＯＳ４００が動作し続けて事務処理ＯＳ３００が動作しなくなってしまう不具合を実施の形態１〜３よりも抑止することができる。
【符号の説明】
【０１１８】
１００  マルチＯＳ計算機、１０１  ハードウェア、２００  ＯＳ管理機構、２１０  ＯＳ切替え部、２２０  割込み割付部、２３０  予約時間通知部、２４０  予約時間設定部、２４１  予約時間管理テーブル、２５０  ＯＳ動作時刻記録部、２６０  ＯＳ動作時間調整部、３００  事務処理ＯＳ、３１０  割込みハンドラ、３２０  アプリ、４００  ＲＴＯＳ、４１０  割込みハンドラ、４１１  タスク管理部、４２０  一般タスク、４２１  切替え契機タスク、４２２  アイドルタスク、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ドライブ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
0005452427.tif 000002
【図２】
0005452427.tif 000003
【図３】
0005452427.tif 000004
【図４】
0005452427.tif 000005
【図５】
0005452427.tif 000006
【図６】
0005452427.tif 000007
【図７】
0005452427.tif 000008
【図８】
0005452427.tif 000009
【図９】
0005452427.tif 000010
【図１０】
0005452427.tif 000011
【図１１】
0005452427.tif 000012
【図１２】
0005452427.tif 000013
【図１３】
0005452427.tif 000014
【図１４】
0005452427.tif 000015