(57)【要約】  【課題】通常、ＯＳが起動する前はＢＩＯＳがリアルモードで動作するようになっている。また、ＢＩＯＳがＯＳ起動ドライブとして認識可能なドライブはＦＤＤ、ＩＤＥ接続のＨＤＤ等であり、他のドライブを起動ドライブとする場合には、ドライバをメインメモリにロードして実行する必要がある。しかしながら、ドライバが１Ｍバイト以上のメモリ領域を必要とする等の理由により、ドライバを１Ｍバイト以下のメモリ領域に直接ロードすることができない場合がある。  【解決手段】ＣＰＵの動作モードをリアルモードとプロテクトモードとに切り換えて、プロテクトモード又は、リアルモードにて利用可能なメモリ領域にロードされている情報と、プロテクトモードにて利用可能なメモリ領域にロードされている情報とを交換しながら実行する。【選択図】            図１
2006285798.tif 000002
【特許請求の範囲】
【請求項１】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、
プロテクトモードにて利用可能な第二主記憶領域と、
容量がオーバするために第一主記憶領域に同時に展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、両者の連携により一体の処理を行なう第一情報と、第二情報と、を第二主記憶領域に配置するための第一情報配置部と、
を有する計算機であって、
第二主記憶領域に展開された第一情報と、第二情報のいずれか一方をプロテクトモードで第一主記憶領域に展開し、リアルモードに切り換えて第一主記憶領域にて実行し、その後第一主記憶領域に展開された情報と、第二主記憶領域に展開されている他方の情報とをプロテクトモードに切り換えて交換し、その後リアルモードにて他方の情報を実行し、これを必要に応じて繰り返すことで前記一体の処理を行なう計算機。
【請求項２】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、
プロテクトモードにて利用可能な第二主記憶領域と、
利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための第二情報配置部と、
を有する計算機であって、
第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーし、
第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開し、リアルモードに切り換えて第一主記憶領域にて実行し、その後第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをプロテクトモードに切り換えて交換し、その後リアルモードにて他の情報の全部又は一部を実行し、その後、展開、実行、交換、実行を必要に応じて繰り返すことで前記一体の処理を行なう計算機。
【請求項３】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、
プロテクトモードにて利用可能な第二主記憶領域と、
利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための第二情報配置部と、
を有する計算機であって、
第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーし、
第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開し、リアルモードに切り換えて第一主記憶領域にて実行し、その後第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをプロテクトモードに切り換えて交換し、その後リアルモードにて他の情報の全部又は一部を実行し、その後、展開、実行、交換、実行を必要に応じて繰り返すことで前記一体の処理を行なうｘ８６系ＣＰＵを用いる計算機。
【請求項４】
前記交換を実行する交換プログラムを第二主記憶領域に配置する交換プログラム配置部を有し、プロテクトモードにてこの交換プログラムを実行することで前記交換を行う請求項１から３のいずれか一に記載の計算機。
【請求項５】
前記第二情報は、ＯＳ起動のための命令である請求項１又は４に記載の計算機。
【請求項６】
前記他の情報は、ＯＳ起動のための命令である請求項２から４のいずれか一に記載の計算機。
【請求項７】
前記第一情報は、ＵＳＢドライバの全部又は一部である請求項１から６のいずれか一に記載の計算機。
【請求項８】
前記第一情報は、ＩＥＥＥドライバの全部又は一部である請求項１から６のいずれか一に記載の計算機。
【請求項９】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、を有する計算機の制御方法であって、
容量がオーバするために第一主記憶領域に同時に展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、両者の連携により一体の処理を行なう第一情報と、第二情報と、を第二主記憶領域に配置するための情報配置ステップと、
第二主記憶領域に展開された第一情報と、第二情報のいずれか一方をプロテクトモードで第一主記憶領域に展開する展開ステップと、
前記展開ステップの後に、ＣＰＵをリアルモードに切り換えて展開ステップにて展開された情報を第一主記憶領域にて実行する実行ステップと、
前記実行ステップの後に、第一主記憶領域に展開された情報と、第二主記憶領域に展開されている他方の情報とをＣＰＵをプロテクトモードに切り換えて交換する交換ステップと、
前記交換ステップの後に、ＣＰＵをリアルモードにして第一主記憶領域に展開された他方の情報を実行する他情報実行ステップと、
からなり、前記展開ステップから前記他情報実行ステップまでを必要に応じて繰り返すことで前記一体の処理を行なう計算機の制御方法。
【請求項１０】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、を有する計算機の制御方法であって、
利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための情報配置ステップと、
第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーする他情報コピーステップと、
第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開する展開ステップと、
前記展開ステップの後に、ＣＰＵをリアルモードに切り換えて展開ステップにて展開された他の情報の全部又は一部を第一主記憶領域にて実行する実行ステップと、
前記実行ステップの後に、第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをＣＰＵをプロテクトモードに切り換えて交換する交換ステップと、
前記交換ステップの後に、ＣＰＵをリアルモードにて第一主記憶領域に展開された他の情報の全部又は一部を実行する他情報実行ステップと、
からなり、前記展開ステップから前記他情報実行ステップまでを必要に応じて繰り返すことで前記一体の処理を行なう計算機の制御方法。
【請求項１１】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、を有する計算機の制御方法であって、
利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための情報配置ステップと、
第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーする他情報コピーステップと、
第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開する展開ステップと、
前記展開ステップの後に、ＣＰＵをリアルモードに切り換えて展開ステップにて展開された他の情報の全部又は一部を第一主記憶領域にて実行する実行ステップと、
前記実行ステップの後に、第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをＣＰＵをプロテクトモードに切り換えて交換する交換ステップと、
前記交換ステップの後に、ＣＰＵをリアルモードにて第一主記憶領域に展開された他の情報の全部又は一部を実行する他情報実行ステップと、
からなり、前記展開ステップから前記他情報実行ステップまでを必要に応じて繰り返すことで前記一体の処理を行なうｘ８６系ＣＰＵを用いる計算機の制御方法。
【請求項１２】
前記第二情報は、ＯＳ起動のための命令である請求項９に記載の計算機の制御方法。
【請求項１３】
前記他の情報は、ＯＳ起動のための命令である請求項１０又は１１に記載の計算機の制御方法。
【請求項１４】
前記第一情報は、ＵＳＢドライバの全部又は一部である請求項９から１３のいずれか一に記載の計算機の制御方法。
【請求項１５】
前記第一情報は、ＩＥＥＥドライバの全部又は一部である請求項９から１３のいずれか一に記載の計算機の制御方法。
【請求項１６】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、を有する計算機の制御プログラムであって、
容量がオーバするために第一主記憶領域に同時に展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、両者の連携により一体の処理を行なう第一情報と、第二情報と、を第二主記憶領域に配置するための情報配置ステップと、
第二主記憶領域に展開された第一情報と、第二情報のいずれか一方をプロテクトモードで第一主記憶領域に展開する展開ステップと、
前記展開ステップの後に、ＣＰＵをリアルモードに切り換えて展開ステップにて展開された情報を第一主記憶領域にて実行する実行ステップと、
前記実行ステップの後に、第一主記憶領域に展開された情報と、第二主記憶領域に展開されている他方の情報とをＣＰＵをプロテクトモードに切り換えて交換する交換ステップと、
前記交換ステップの後に、ＣＰＵをリアルモードにして第一主記憶領域に展開された他方の情報を実行する他情報実行ステップと、
からなり、前記展開ステップから前記他情報実行ステップまでを必要に応じて繰り返すことで前記一体の処理を行なう計算機が読取可能なプログラムを記録した記録媒体。
【請求項１７】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、を有する計算機の制御方法であって、
利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための情報配置ステップと、
第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーする他情報コピーステップと、
第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開する展開ステップと、
前記展開ステップの後に、ＣＰＵをリアルモードに切り換えて展開ステップにて展開された他の情報の全部又は一部を第一主記憶領域にて実行する実行ステップと、
前記実行ステップの後に、第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをＣＰＵをプロテクトモードに切り換えて交換する交換ステップと、
前記交換ステップの後に、ＣＰＵをリアルモードにて第一主記憶領域に展開された他の情報の全部又は一部を実行する他情報実行ステップと、
からなり、前記展開ステップから前記他情報実行ステップまでを必要に応じて繰り返すことで前記一体の処理を行なう計算機が読取可能なプログラムを記録した記録媒体。
【請求項１８】
プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、を有する計算機の制御方法であって、
利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための情報配置ステップと、
第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーする他情報コピーステップと、
第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開する展開ステップと、
前記展開ステップの後に、ＣＰＵをリアルモードに切り換えて展開ステップにて展開された他の情報の全部又は一部を第一主記憶領域にて実行する実行ステップと、
前記実行ステップの後に、第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをＣＰＵをプロテクトモードに切り換えて交換する交換ステップと、
前記交換ステップの後に、ＣＰＵをリアルモードにて第一主記憶領域に展開された他の情報の全部又は一部を実行する他情報実行ステップと、
からなり、前記展開ステップから前記他情報実行ステップまでを必要に応じて繰り返すことで前記一体の処理を行なうｘ８６系ＣＰＵを用いる計算機が読取可能なプログラムを記録した記録媒体。
【請求項１９】
前記第二情報は、ＯＳ起動のための命令である請求項１６に記載の記録媒体。
【請求項２０】
前記他の情報は、ＯＳ起動のための命令である請求項１７又は１８に記載の記録媒体。
【請求項２１】
前記第一情報は、ＵＳＢドライバの全部又は一部である請求項１６から２０のいずれか一に記載の記録媒体。
【請求項２２】
前記第一情報は、ＩＥＥＥドライバの全部又は一部である請求項１６から２０のいずれか一に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルモードにて１Ｍ以上のメインメモリを利用するｘ８６系計算機に関する。
【背景技術】
【０００２】
従来のｘ８６系計算機等において使用されているＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の動作モードには、リアルモードとプロテクトモードの２つのモードがある。リアルモードでアクセス可能なメモリ領域は０〜１Ｍ（メガ）バイトであるが、プロテクトモードでは１Ｍバイトを超えるメモリ領域にアクセスが可能である。また、計算機の電源がＯＮとなってからＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が立ち上がるまでの処理は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）によって行なわれるが、ＢＩＯＳはリアルモードで動作するようになっているのが通常である。
【０００３】
ところで、計算機の電源がＯＮとなると、ＢＩＯＳはＣＰＵ等の動作チェックや初期化、計算機に接続されている各ハードウェアのチェックや初期化等を行ない、その後ＯＳを起動するための起動ドライブの検出を行なう。この時検出できるドライブは、フロッピー（登録商標）ディスクドライブ、ＩＤＥ接続のハードディスクドライブ（以下、「ＩＤＥ接続ＨＤＤ」と記述）等である。従来の技術では、ＢＩＯＳがこれら以外のドライブを直接に認識して制御することはできない場合もある。また、認識できたとしても従来のように、そのドライブからＯＳを起動することができない場合もあるため、例えば、ＵＳＢ接続のハードディスクドライブ（以下、「ＵＳＢ接続ＨＤＤ」と記述）等の他のドライブを起動ドライブとしたい場合には、ＵＳＢドライバ等のドライバを利用してアクセスする必要がある。このような場合、ＢＩＯＳがドライバを利用するためには、当然のことながらドライバをメインメモリにロードして実行する必要がある。
【非特許文献１】藤広哲也著、「その時、パソコンはどう動いているのか」、株式会社日本実業出版社、２００３年１１月１日、ｐ．６４−７５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、ドライバが１Ｍバイト以上のメモリ領域を必要とする場合があり、このような場合には、１Ｍバイト以下のメモリ領域にしかアクセスができないリアルモードのままでは、サイズが１Ｍバイト以上のドライバを利用することができない。また、ドライバのサイズが１Ｍバイト以下であったとしても、通常、ＯＳが起動する際には起動用プログラムが１Ｍバイト以下のメモリ領域にロードされる。このため、１Ｍバイト以下の領域にドライバをロードしてしまうと、起動用プログラムをロードしようとした場合に、目的のメモリ領域をすでにドライバが使用していたり、空きメモリ領域が足らない等の理由により、上書きしてしまう、ロードできない等の事態が発生することが予測される。このような場合においても、ドライバを１Ｍバイト以下のメモリ領域に直接ロードすることはできない。
【課題を解決するための手段】
【０００５】
本発明では、この課題を解決するために、ＣＰＵの動作モードをリアルモードとプロテクトモードとに適宜切り換えて、１Ｍバイト以上のメモリ領域にロードしたデータと１Ｍバイト以下のメモリ領域にロードされているデータとを交換しながら実行することを繰り返すことが可能な計算機を提案する。
【０００６】
図１は、本発明に係る計算機の主な機能に関して、その動作の概要を例示したものである。メインメモリにおいて、プロテクトモード又はリアルモードにて利用可能であるメモリ領域を「第一主記憶領域」（０１１０）、プロテクトモードにて利用可能であるメモリ領域を「第二主記憶領域」（０１２０）とする。現状の計算機においては、「第一主記憶領域」（０１１０）は１Ｍバイト以下のメモリ領域が該当し、「第二主記憶領域」（０１２０）は１Ｍバイト以上のメモリ領域が該当する。ただし、６４０Ｋ（キロ）バイトから１Ｍバイトのメモリ領域（塗りつぶし部分）は、通常、他の機能にて使用されるため、実際には使用しないことを想定している。まず、（ａ）のように、第二主記憶領域（０１２０）に「第一の情報」（０１３０）と、「第二の情報」（０１４０）がロードされているとする。「第一の情報」（０１３０）と「第二の情報」（０１４０）は、連携によって一体の処理を行なう情報であり、例えば、それぞれがＵＳＢドライバの一部であるような情報である。また、「第一の情報」（０１３０）と「第二の情報」（０１４０）は、リアルモードで第一主記憶領域（０１１０）にロードされている場合にのみ実行可能な情報である。ここで、まずＣＰＵの動作モードをプロテクトモードにして第一の情報（０１３０）を第一主記憶領域（０１１０）にロードする。すると、（ｂ）のような状態になるので、ここでＣＰＵの動作モードをリアルモードに切り換えると、第一の情報（０１３０）が実行される。第一の情報（０１３０）を実行し終えたら、ＣＰＵの動作モードをプロテクトモードに切り換えて、第一の情報（０１３０）と第二の情報（０１４０）を交換する。すると、（ｃ）のような状態になるので、ここでＣＰＵの動作モードをリアルモードに切り換えると、第二の情報（０１４０）が実行される。必要に応じて、上記の処理を繰り返す。また、第一の情報と第二の情報の内容は、処理の進行によって変化していく可能性があることを想定している。
【０００７】
また、上記のような手段以外に、第一情報を第二主記憶領域（０１２０）にロードし、第一主記憶領域（０１１０）に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域（０１２０）にコピーし、第二主記憶領域（０１２０）に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域（０１１０）に展開し、リアルモードに切り換えて第一主記憶領域（０１１０）にて実行し、その後第一主記憶領域（０１１０）に展開されている第一情報の全部又は一部と、第二主記憶領域（０１２０）に展開されている他の情報の全部又は一部とをプロテクトモードに切り換えて交換し、その後リアルモードにて他の情報の全部又は一部を実行し、その後、展開、実行、交換、実行を必要に応じて繰り返すというような手段もある。
【発明の効果】
【０００８】
以上のように、本発明に係る計算機においては、ＯＳ起動前の状態において、ＣＰＵの動作モードをリアルモードとプロテクトモードとに適宜、切り換えることで、リアルモードで利用できるメモリ領域と、プロテクトモードでしか利用できないメモリ領域にロードされている情報を交換しながら実行することを繰り返す機能を有する。これにより、容量がオーバする等の理由により１Ｍバイト以下のメモリ領域に直接ロードすることができないプログラムであっても、実行することが可能である。さらに、このようなプログラムを利用して、ＢＩＯＳが直接認識することができないドライブを起動ドライブにすること等が可能となる。
【発明を実施するための最良の形態】
【０００９】
本発明を実施するための最良の形態について図面を用いて詳細に説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。なお、以下の実施形態と請求項の関係は次の通りである。
【００１０】
実施形態１は、主に請求項１、４、５、７、８、９、１２、１４、１５、１６、１９、２１、２２などについて説明する。
【００１１】
実施形態２は、主に請求項２、３、４、６、７、８、１０、１１、１３、１４、１５、１７、１８、２０、２１、２２などについて説明する。
（実施形態１）
【００１２】
（実施形態１：概要）
【００１３】
本実施形態は、容量がオーバするために第一主記憶領域に同時に展開不能である第一情報と第二情報を、ＣＰＵの動作モードをリアルモードとプロテクトモードとに切り換えて交換しながら実行していく機能を有する計算機に関する。
【００１４】
（実施形態１：構成）
【００１５】
本実施形態に係る計算機の機能ブロックを図２に例示する。計算機（０２００）は、「第一主記憶領域」（０２１０）と、「第二主記憶領域」（０２２０）と、「第一情報配置部」（０２３０）と、「交換プログラム配置部」（０２４０）とを有する。前記計算機（０２００）は、ｘ８６系ＣＰＵを搭載した計算機であってもよい。
【００１６】
「第一主記憶領域」（０２１０）は、プロテクトモード又は、リアルモードにて利用可能なメインメモリ上の領域である。具体的には、図１に示すように、メインメモリの０〜１Ｍバイトの領域であるが、６４０Ｋバイトから１Ｍバイトのメモリ領域は、通常、他の機能にて使用されるため、実際には使用しないことを想定している。
【００１７】
「第二主記憶領域」（０２２０）は、プロテクトモードにて利用可能なメインメモリ上の領域である。具体的には、図１に示すように、メインメモリの１Ｍバイト以上の領域である。
【００１８】
「第一情報配置部」（０２３０）は、容量がオーバするために前記第一主記憶領域（０２１０）に同時に展開不能であり、かつ、リアルモードで前記第一主記憶領域（０２１０）に展開されている場合にのみ実行可能で、両者の連携により一体の処理を行なう第一情報と、第二情報とを前記第二主記憶領域（０２２０）に配置するための機能を有する。第一情報配置部は、具体的には、プログラムがＣＰＵによって実行されることによって実現される。また、第一情報配置部を実現するためのプログラムは、ＢＩＯＳ等が認識可能な記憶装置に記憶されていることが想定される。また、第一情報と第二情報は、リアルモードで第一主記憶領域（０２１０）にロードされている場合にのみ実行可能な情報である。「プログラム」とは、ＣＰＵで実行する命令又は命令を間接的に示す一又は複数のコードからなるものであり、一又は複数の命令によって実現される一又は複数の機能が含まれる。よって、一つのプログラムは複数のプログラムによって構成させることが可能な場合があり、複数のプログラムを一つのプログラムによって構成することが可能な場合がある。「配置する」とは、具体的には、メモリ領域にロードすることを意味する。「展開」とは、具体的には、メモリ領域にロードすること、又はロードされていることを意味する。「リアルモードで前記第一主記憶領域に展開されている場合にのみ実行可能」とは、即ち、ＢＩＯＳはリアルモードで動作するのが通常であるので、前記第一主記憶領域（０２１０）にロードされている場合にのみＢＩＯＳによって実行されることを指している。「両者の連携により一体の処理を行なう第一情報と、第二情報」とは、第一情報と第二情報がそれぞれ一つのプログラムの一部であることにより、第一情報と第二情報が実行されて一つの処理が行なわれる場合と、第一情報と第二情報が別々のプログラムであるが、順次、実行されることにより、ある目的の処理が行なわれる場合の両方を意味する。例えば、前者の場合には、第一情報と第二情報がＵＳＢドライバの一部であるような場合であり、この場合における一つの処理とはＵＳＢドライバの実行が該当する。また、後者の場合には、第一情報がＵＳＢドライバの一部であり、第二情報がＯＳを起動するためのＯＳ起動プログラムであるような場合であり、この場合におけるある目的の処理とは、ＵＳＢドライバを実行しながらＵＳＢ接続ＨＤＤにアクセスをして、ＵＳＢ接続ＨＤＤに保存されているＯＳ起動プログラムを実行してＯＳを起動することが該当する。また、第一情報と第二情報の内容は、処理の進行によって変化していく場合がある。また、第一情報配置部により第一情報と第二情報を前記第二主記憶領域（０２２０）に配置する際には、ＣＰＵの動作モードはプロテクトモードとなっていることが前提である。
【００１９】
図３は、第一情報配置部の具体例を示す。まず、（１）第一情報配置部を実現するためのプログラム（第一情報配置部ＰＲＧ）がＩＤＥ接続ＨＤＤに記録されているとする。また、第一情報と第二情報も、それぞれＩＤＥ接続ＨＤＤに記録されているとする。（２）第一情報配置部を実現するためのプログラム（第一情報配置部ＰＲＧ）が第一主記憶領域に読み込まれ、これによって第一情報配置部が具現化し、第一情報配置部が有する配置機能が実行可能な状態となる。次に、（３）ＣＰＵの動作モードをプロテクトモードに切り換え、（４）第一情報と第二情報を第二主記憶領域にロードする。
【００２０】
なお、「情報」とは、メインメモリに展開されることによりＣＰＵが利用可能な信号列をいい、プログラムや、プログラムの一部、データなどが該当する。
【００２１】
「交換プログラム配置部」（０２４０）は、交換プログラムを前記第二主記憶領域（０２２０）に配置する機能を有する。交換プログラム配置部は、具体的には、プログラムがＣＰＵによって実行されることによって実現される。また、前記計算機（０２００）は、前記第二主記憶領域（０２２０）に展開された第一情報と、第二情報のいずれか一方をプロテクトモードで前記第一主記憶領域（０２１０）に展開し、リアルモードに切り換えて前記第一主記憶領域（０２１０）にて実行し、その後前記第一主記憶領域（０２１０）に展開された情報と、前記第二主記憶領域（０２２０）に展開されている他方の情報とをプロテクトモードに切り換えて交換し、その後リアルモードにて他方の情報を実行し、これを必要に応じて繰り返す機能を有するが、「交換プログラム」は前記交換を実行するためのプログラムである。また、交換プログラムは、ＢＩＯＳ等が認識可能な記憶装置に記憶されていることが想定される。「必要に応じて」とは、第一情報と第二情報の連携により行なわれる一体の処理が終了するまで等を想定している。例えば、ＯＳの起動を行なう場合であれば、ＯＳが起動するまでである。また、交換プログラム配置部により交換プログラムを前記第二主記憶領域（０２２０）に配置する際には、ＣＰＵの動作モードはプロテクトモードとなっていることが前提である。
【００２２】
図４は、交換プログラム配置部の具体例を示す。まず、図３と同様に、（１）交換プログラム配置部を実現するためのプログラム（交換プログラム配置部ＰＲＧ）がＩＤＥ接続ＨＤＤに記録されているとする。また、交換プログラムも、ＩＤＥ接続ＨＤＤに記録されているとする。（２）交換プログラム配置部を実現するためのプログラム（交換プログラム配置部ＰＲＧ）が第一主記憶領域に読み込まれ、これによって交換プログラム配置部が具現化し、交換プログラム配置部が有する配置機能が実行可能な状態となる。次に、（３）ＣＰＵの動作モードをプロテクトモードに切り換え、（４）交換プログラムを第二主記憶領域にロードする。
【００２３】
図５は、本実施形態に係る交換プログラムの動作に関する具体例を示す。まず、図３で説明のように、第一情報と第二情報は、前記第一情報配置部（０２３０）により第二主記憶領域に既にロードされており、図４で説明のように、交換プログラムも、前記交換プログラム配置部（０２４０）により第二主記憶領域に既にロードされている。さらに、交換プログラムは、実行されるためにＣＰＵの動作モードをプロテクトモードに切り換えて、第一主記憶領域にロードされているとする。最初に、（１）ＣＰＵの動作モードをプロテクトモードに切り換え、（２）第一情報、又は第二情報のいずれか一方を第一主記憶領域にロードする。ここでは、第一情報をロードしたとする。次に、（３）ＣＰＵの動作モードをリアルモードに切り換えると、（４）第一主記憶領域にロードされた第一情報が実行される。第一情報を実行し終わると、（５）交換プログラムが実行され、交換プログラムによって（６）ＣＰＵの動作モードをプロテクトモードに切り換えて、（７）第二主記憶領域にロードされている第二情報と、第一情報とが交換される。その後、（８）ＣＰＵの動作モードをリアルモードに切り換えると、（９）第一主記憶領域にロードされた第二情報が実行される。必要であれば、再度、第一情報と第二情報とを交換して実行することを繰り返す。また、実施形態２で詳述するように、交換プログラムは第二主記憶領域において実行可能なプログラムとなっていてもよい。その場合には、図５のように第一主記憶領域にロードして実行する必要はなく、第二主記憶領域にロードされたまま実行されればよい。
【００２４】
また、本実施形態に係る計算機の構成をより具体的に示すと、プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、容量がオーバするために第一主記憶領域に同時に展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、両者の連携により一体の処理を行なう第一情報と、第二情報と、を第二主記憶領域に配置するための第一情報配置部と、第二主記憶領域に展開された第一情報と、第二情報のいずれか一方をプロテクトモードで第一主記憶領域に展開する第一展開部と、第一展開部により第一主記憶領域に展開された情報をリアルモードに切り換えて第一主記憶領域にて実行した場合には、その後第一主記憶領域に展開された情報と、第二主記憶領域に展開されている他方の情報とをプロテクトモードに切り換えて交換する第一交換部と、有し、その後リアルモードにて他方の情報を実行し、これを必要に応じて繰り返すことで前記一体の処理を行なう計算機であるということができる。「第一展開部」と「第一交換部」は具体的には、プログラムがＣＰＵによって実行されることによって実現される。「第一交換部」は前記交換プログラムがＣＰＵによって実行されることで実現される。また、これらのプログラムは、ＢＩＯＳ等が認識可能な記憶装置に記憶されていることが想定される。
【００２５】
（実施形態１：処理の流れ）
【００２６】
図７は、本実施形態に係る計算機の特徴である交換プログラムの処理の流れを説明するフロー図を例示する。図７では、第一情報と第二情報が第二主記憶領域にロードされていることを前提に説明する。また、最初に第一情報が第一主記憶領域にロードされる場合を一例として説明する。
【００２７】
最初に、ＣＰＵの動作モードをプロテクトモードに切り換える（第一ＣＰＵプロテクトモード切換ステップ  Ｓ０７１０）。次に、第一情報を第一主記憶領域にロードする（第一情報ロードステップ  Ｓ０７２０）。次に、ＣＰＵの動作モードをリアルモードに切り換える（第一ＣＰＵリアルモード切換ステップ  Ｓ０７３０）。次に、前記第一情報ロードステップ（Ｓ０７２０）にてロードされた第一情報が実行される（第一情報実行ステップ  Ｓ０７４０）。次に、前記第一ＣＰＵプロテクトモード切換ステップ（Ｓ０７１０）同様に、ＣＰＵの動作モードをプロテクトモードに切り換える（第二ＣＰＵプロテクトモード切換ステップ  Ｓ０７５０）。次に、第一主記憶領域にロードされている第一情報と、第二主記憶領域にロードされている第二情報を交換し、第二情報を第一主記憶領域にロードする（交換ステップ  Ｓ０７６０）。次に、前記第一ＣＰＵリアルモード切換ステップ（Ｓ０７３０）同様に、ＣＰＵの動作モードをリアルモードに切り換える（第二ＣＰＵリアルモード切換ステップ  Ｓ０７７０）。最後に、前記交換ステップ（Ｓ０７６０）にてロードされた第二情報が実行される（第二情報実行ステップ  Ｓ０７８０）。以上の処理を、処理が終了するまで繰り返す（終了判断ステップ  Ｓ０７９０）。処理が終了する条件は、例えば、図６で説明のようにＯＳが起動して独自のドライバによってＵＳＢ接続ＨＤＤにアクセスするまでである。
【００２８】
図８は、本実施形態に係る計算機の処理の流れを説明するフロー図を例示する。図８は、図７で説明した処理の流れに、後述の第一情報配置ステップを追加したものである。また、最初に第一情報が第一主記憶領域にロードされる場合を一例として説明する。
【００２９】
最初に、第一情報と第二情報を第二主記憶領域にロードする（第一情報配置ステップ  Ｓ０８００）。次に、ＣＰＵの動作モードをプロテクトモードに切り換える（第一ＣＰＵプロテクトモード切換ステップ  Ｓ０８１０）。次に、前記第一情報配置ステップ（Ｓ０８００）でロードされた第一情報と、第二情報のうち、第一情報を第一主記憶領域にロードする（第一情報ロードステップ  Ｓ０８２０）。次に、ＣＰＵの動作モードをリアルモードに切り換える（第一ＣＰＵリアルモード切換ステップ  Ｓ０８３０）。次に、前記第一情報ロードステップ（Ｓ０８２０）にてロードされた第一情報が実行される（第一情報実行ステップ  Ｓ０８４０）。次に、前記第一ＣＰＵプロテクトモード切換ステップ（Ｓ０８１０）同様に、ＣＰＵの動作モードをプロテクトモードに切り換える（第二ＣＰＵプロテクトモード切換ステップ  Ｓ０８５０）。次に、第一主記憶領域にロードされている第一情報と、第二主記憶領域にロードされている第二情報を交換し、第二情報を第一主記憶領域にロードする（交換ステップ  Ｓ０８６０）。次に、前記第一ＣＰＵリアルモード切換ステップ（Ｓ０８３０）同様に、ＣＰＵの動作モードをリアルモードに切り換える（第二ＣＰＵリアルモード切換ステップ  Ｓ０８７０）。最後に、前記交換ステップ（Ｓ０８６０）にてロードされた第二情報が実行される（第二情報実行ステップ  Ｓ０８８０）。前記第一ＣＰＵプロテクトモード切換ステップ（Ｓ０８１０）から第二情報実行ステップ（Ｓ０８８０）までの処理を、処理が終了するまで繰り返す（終了判断ステップ  Ｓ０８９０）。処理が終了する条件は、例えば、図６で説明のようにＯＳが起動して独自のドライバによってＵＳＢ接続ＨＤＤにアクセスするまでである。
【００３０】
なお、以上の処理は、計算機に実行させるためのプログラムで実行することができ、また、このプログラムを計算機によって読み取り可能な記録媒体に記録することができる。（本明細書の全体を通じて同様である。）
【００３１】
（実施形態１：効果）
【００３２】
本実施形態に係る計算機によれば、容量がオーバするために第一主記憶領域に同時に展開不能である第一情報と第二情報を、ＯＳの起動前など、通常リアルモードでしか動作しなかったＣＰＵの動作モードを交換プログラムによってリアルモードとプロテクトモードに相互に切り換えて、第一情報と第二情報とを交換しながら実行する機能を有する。これにより、例えば、１Ｍ以上のメモリ領域を使用しなければロードできないようなドライバを使用して、ＢＩＯＳから直接認識できないドライブを起動ドライブとしてＯＳを起動する等が可能となる。
（実施形態２）
【００３３】
（実施形態２：概要）
【００３４】
本実施形態は、利用可能領域情報を使用できないため第一主記憶領域に直接展開不能である第一情報を、ＣＰＵの動作モードをリアルモードとプロテクトモードとに切り換えて、第一主記憶領域に展開されている他の情報の全部又は一部と交換しながら実行していく機能を有する計算機に関する。
【００３５】
（実施形態２：構成）
【００３６】
本実施形態に係る計算機の機能ブロックを図９に例示する。計算機（０９００）は、「第一主記憶領域」（０９１０）と、「第二主記憶領域」（０９２０）と、「第二情報配置部」（０９３０）と、「交換プログラム配置部」（０９４０）とを有する。前記計算機（０９００）は、ｘ８６系ＣＰＵを搭載した計算機であってもよい。前記第一主記憶領域（０９１０）と、前記第二主記憶領域（０９２０）と、前記交換プログラム配置部（０９４０）の機能については、実施形態１と同様であるのでここでの説明は省略する。また、前記計算機（０９００）は、前記第一主記憶領域（０９１０）に展開されている他の情報の全部又は一部をプロテクトモードで前記第二主記憶領域（０９２０）にコピーし、前記第二主記憶領域（０９２０）に展開されていた第一情報の全部又は一部をプロテクトモードで他の情報の全部又は一部が展開されていた前記第一主記憶領域（０９１０）に展開し、リアルモードに切り換えて前記第一主記憶領域（０９１０）にて実行し、その後前記第一主記憶領域（０９１０）に展開されている第一情報の全部又は一部と、前記第二主記憶領域（０９２０）に展開されている他の情報の全部又は一部とをプロテクトモードに切り換えて交換し、その後リアルモードにて他の情報の全部又は一部を実行し、その後、展開、実行、交換、実行を必要に応じて繰り返す機能を有するが、本実施形態に係る「交換プログラム」は前記交換を実行するためのプログラムである。交換プログラムは、ＢＩＯＳ等が認識可能な記憶装置に記憶されていることが想定される。また、図５に示すように前記第一主記憶領域（０９１０）に直接ロードして実行することができないため、前記第二主記憶領域（０９２０）にロードされたまま動作するようになっていることが前提である。
【００３７】
「第二情報配置部」（０９３０）は、利用可能領域情報を使用できないため前記第一主記憶領域（０９１０）に直接展開不能であり、かつ、リアルモードで前記第一主記憶領域（０９１０）に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を前記第二主記憶領域（０９２０）に配置するための機能を有する。第二情報配置部は、具体的には、プログラムがＣＰＵによって実行されることによって実現される。また、第二情報配置部を実現するためのプログラムは、ＢＩＯＳ等が認識可能な記憶装置に記憶されていることが想定される。また、第一情報と他の情報は、リアルモードで第一主記憶領域（０９１０）にロードされている場合にのみ実行可能な情報である。「利用可能領域情報」とは、具体的には、前記第一主記憶領域（０９１０）内のどの領域を利用可能であるかを示す情報である。即ち、「利用可能領域情報を使用できない」とは、前記第一主記憶領域（０９１０）内のどの領域を利用可能であるか判断できない状況を指している。例えば、前述のように、ＯＳの起動用プログラムが前記第一主記憶領域（０９１０）内で使用するメモリ領域が分からないために、ドライバを前記第一主記憶領域（０９１０）に直接ロードできないような場合である。「利用」とは、具体的には、メモリ領域にロードすることを意味する。「直接展開不能」とは、通常、情報はＩＤＥ接続ＨＤＤ等の補助記憶装置等に記憶されているが、補助記憶装置等から直接にロードできないという意味である。「他の情報」とは、ユニークな情報を指すものではなく、その内容は様々に想定される。例えば、ＯＳ起動のための命令などである。「他の情報との連携により一体の処理を行なう情報を含む第一情報」とは、第一情報と他の情報がそれぞれ一つのプログラムの一部であることにより、第一情報と他の情報が実行されて一つの処理が行なわれる場合と、第一情報と他の情報が別々のプログラムであるが、順次、実行されることにより、ある目的の処理が行なわれる場合の両方を意味するが、主に後者の場合となる可能性が高いと思われる。後者の場合には、第一情報がＵＳＢドライバの全部又は一部であり、他の情報がＯＳを起動するためのＯＳ起動プログラムであるような場合であり、この場合におけるある目的の処理とは、ＵＳＢドライバを実行しながらＵＳＢ接続ＨＤＤにアクセスをして、ＵＳＢ接続ＨＤＤに保存されているＯＳ起動プログラムを実行してＯＳを起動することが該当する。また、第一情報と他の情報の内容は、処理の進行によって変化していく場合がある。また、第二情報配置部により第一情報を前記第二主記憶領域（０９２０）に配置する際には、ＣＰＵの動作モードはプロテクトモードとなっていることが前提である。
【００３８】
図１０は、第二情報配置部の具体例を示す。まず、（１）第二情報配置部を実現するためのプログラム（第二情報配置部ＰＲＧ）がＩＤＥ接続ＨＤＤに記録されているとする。また、第一情報もＩＤＥ接続ＨＤＤに記録されているとする。（２）第二情報配置部を実現するためのプログラム（第二情報配置部ＰＲＧ）が第一主記憶領域に読み込まれ、これによって第二情報配置部が具現化し、第二情報配置部が有する配置機能が実行可能な状態となる。次に、（３）ＣＰＵの動作モードをプロテクトモードに切り換え、（４）第一情報を第二主記憶領域にロードする。
【００３９】
図１１は、本実施形態に係る交換プログラムの動作に関する具体例を示す。まず、図１０で説明のように、第一情報は前記第二情報配置部により第二主記憶領域に既にロードされており、図４で説明のように、交換プログラムも、前記交換プログラム配置部により第二主記憶領域に既にロードされているとする。まず、（１）ＣＰＵの動作モードをプロテクトモードに切り換え、（２）第一主記憶領域にロードされている他の情報の全部又は一部を第二主記憶領域にコピーする。このコピーは、プログラムによって行なわれる。また、コピーされる場所は、第一情報を他の場所に退避させることで、第一情報がロードされていた場所と同じ場所にロードされてもよいし、異なる場所にロードされてもよい。その後、（３）交換プログラムが第二主記憶領域にロードされたまま実行される。すると、（４）第二主記憶領域にロードされていた第一情報の全部又は一部が他の情報の全部又は一部がロードされていた第一主記憶領域にロードされる。次に、（５）ＣＰＵの動作モードをリアルモードに切り換えると、（６）第一主記憶領域にロードされた第一情報の全部又は一部が実行される。実行し終わると、（７）ＣＰＵの動作モードをプロテクトモードに切り換えて、（８）第二主記憶領域にロードされている他の情報の全部又は一部と、第一情報の全部又は一部とを交換する。その後、（９）ＣＰＵの動作モードをリアルモードに切り換えると、（１０）第一主記憶領域にロードされた他の情報の全部又は一部が実行される。必要であれば、再度、第一情報と他の情報の全部又は一部とを交換して実行することを繰り返す。なお、図１１は一例であり、交換プログラムの動作はこれに限定されるものではない。
【００４０】
また、本実施形態に係る計算機の構成をより具体的に示すと、プロテクトモード又は、リアルモードにて利用可能な第一主記憶領域と、プロテクトモードにて利用可能な第二主記憶領域と、利用可能領域情報を使用できないため第一主記憶領域に直接展開不能であり、かつ、リアルモードで第一主記憶領域に展開されている場合にのみ実行可能で、他の情報との連携により一体の処理を行なう情報を含む第一情報を第二主記憶領域に配置するための第二情報配置部と、第一主記憶領域に展開されている他の情報の全部又は一部をプロテクトモードで第二主記憶領域にコピーするコピー部と、第二主記憶領域に展開されていた第一情報の全部又は一部をプロテクトモードで前記コピーされた他の情報の全部又は一部が展開されていた第一主記憶領域に展開する第二展開部と、第二展開部が前記展開を実行した後に、リアルモードに切り換えて第一主記憶領域にて展開された他の情報の全部又は一部が実行された場合には、その後第一主記憶領域に展開されている第一情報の全部又は一部と、第二主記憶領域に展開されている他の情報の全部又は一部とをプロテクトモードに切り換えて交換する第二交換部と、を有し、その後リアルモードにて他の情報の全部又は一部を実行し、その後、展開、実行、交換、実行を必要に応じて繰り返すことで前記一体の処理を行なう計算機であるということができる。「コピー部」と、「第二展開部」と「第二交換部」は具体的には、プログラムがＣＰＵによって実行されることによって実現される。「第二交換部」は前記交換プログラムがＣＰＵによって実行されることで実現される。また、これらのプログラムは、ＢＩＯＳ等が認識可能な記憶装置に記憶されていることが想定される。
【００４１】
（実施形態２：具体例）
【００４２】
本実施形態に係る計算機を利用した具体例として、ＵＳＢ接続ＨＤＤをＯＳ起動ドライブにして、ＵＳＢ接続ＨＤＤに保存されているＯＳ起動プログラムを実行してＯＳを起動する場合を、図６を用いて説明する。
【００４３】
計算機の電源がＯＮになると、（１）ＣＰＵは計算機のマザーボード上のＲＯＭに記録されているＢＩＯＳを実行する。ＢＩＯＳは、ＣＰＵ等の動作チェックや初期化、計算機に接続されている各ハードウェアのチェックや初期化等を行ない、その後ＯＳを起動するための起動ドライブを検出する。例えば、この時に起動ドライブとしてＩＤＥ接続ＨＤＤが認識されたとする。通常は、認識したＩＤＥ接続ＨＤＤの先頭セクタであるＭＢＲ（Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）を見に行き、ＭＢＲに記述されているブートストラップローダによりＩＤＥ接続ＨＤＤに記録されているＯＳをロードしてＯＳを起動する。しかしながら、ＵＳＢ接続ＨＤＤからＯＳを起動させるために、（２）ＩＤＥ接続ＨＤＤの通常ブートストラップローダのある位置にＵＳＢドライバ、交換プログラム、ＵＳＢ接続ＨＤＤの先頭セクタを読むためのプログラム等から構成されるプログラム群を記録しておき、（３）ＵＳＢ接続ＨＤＤの先頭セクタにブートストラップローダを用意しておく。また、（４）第二情報配置部に該当するプログラム（第二配置用プログラム）もＩＤＥ接続ＨＤＤに記録しておく。（５）ＣＰＵの動作モードをプロテクトモードに切り換えてから、配置用プログラムによってＵＳＢドライバを含むプログラム群を第二主記憶領域にロードする。これは、図１０で説明したように、実際には配置用プログラムが第一主記憶領域にロードされて実行されることにより、ＵＳＢドライバを含むプログラム群が第二主記憶領域にロードされる。次に、（６）ＣＰＵの動作モードをリアルモードに切り換え、拡張ＩＮＴ１３をフックするため（この場合にはＵＳＢ接続ＨＤＤを読みに行くため）のＩＮＴ１３フックコードを第一主記憶領域にロードする。その後、（７）ＣＰＵの動作モードをプロテクトモードに切り換えて、（８）ＵＳＢ接続ＨＤＤの先頭セクタを読むためのプログラムを第一主記憶領域にロードし、（９）ＣＰＵの動作モードをリアルモードに切り換えると、（１０）第一主記憶領域にロードされたＵＳＢ接続ＨＤＤの先頭セクタを読むためのプログラムが実行される。すると、ＵＳＢ接続ＨＤＤを読みに行くためのＩＮＴ１３が発生するので、（１１）ＩＮＴ１３フックコードが実行される。ここで、ＣＰＵはＵＳＢ接続ＨＤＤの先頭セクタを読む処理を行なうが、この際、ＵＳＢ接続ＨＤＤにアクセスするためにＵＳＢドライバが必要である。よって、（１２）ＣＰＵの動作モードをプロテクトモードに切り換えて、（１３）第一主記憶領域にロードされている他の情報の全部又は一部を第二主記憶領域にコピーし、（１４）ＵＳＢドライバの全部又は一部を第一主記憶領域にロードする。（１５）ＣＰＵの動作モードをリアルモードに切り換えると、（１６）第一主記憶領域にロードされたＵＳＢドライバの全部又は一部が実行される。次に、（１７）ＣＰＵの動作モードをプロテクトモードに切り換えると、（１８）交換プログラムが実行される。交換プログラムによって、（１９）ＵＳＢドライバの全部又は一部と他の情報の全部又は一部を交換し、（２０）ＣＰＵの動作モードをリアルモードに切り換えると、（２１）他の情報の全部又は一部が実行される。このようにＵＳＢドライバを実行するこ��で、ＵＳＢ接続ＨＤＤにアクセスをして、ＵＳＢ接続ＨＤＤの先頭セクタにあるブートストラップローダを第一主記憶領域にロードすることができる。（図６では以下、省略。）ここで、ＣＰＵの動作モードをリアルモードに切り換えると、第一主記憶領域にロードされているブートストラップローダによりＯＳの起動処理が開始される。ＯＳの起動処理においてＯＳからＩＮＴ１３が発行されると、第一主記憶領域にロードされているＩＮＴ１３フックコードによって拡張ＩＮＴ１３がフックされＵＳＢ接続ＨＤＤを読むが、この際、ＵＳＢドライバが必要である。このため、前述のように、交換プログラムを利用して第一主記憶領域にロードされている他の情報の全部又は一部と第二主記憶領域にロードされているＵＳＢドライバの全部又は一部を交換し、ＵＳＢドライバの全部又は一部を第一主記憶領域にロードし実行することで、ＵＳＢ接続ＨＤＤを読むことができる。また、実行し終わったら、ＣＰＵの動作モードをプロテクトモードに切り換えて、交換処理によって他の情報の全部又は一部と交換する。その後、ＣＰＵの動作モードをリアルモードに切り換えることで、ＯＳの起動処理が継続される。以後ＯＳからＩＮＴ１３が発行される度に、以上の処理を繰り返す。この処理は、ＯＳが独自のドライバによってＵＳＢ接続ＨＤＤにアクセスするまで、繰り返される。なお、図６は一例であり、ＵＳＢ接続ＨＤＤに保存されているＯＳ起動プログラムを実行してＯＳを起動する場合の処理方法はこれに限定されるものではない。
【００４４】
（実施形態２：処理の流れ）
【００４５】
図１２は、本実施形態に係る計算機の特徴である交換プログラムの処理の流れを説明するフロー図を例示する。図１２では、第一情報が第二主記憶領域にロードされており、さらに、第一主記憶領域にロードされている他の情報の全部又は一部がプロテクトモードにて第二主記憶領域にコピーされていることを前提に説明する。
【００４６】
最初に、ＣＰＵの動作モードをプロテクトモードに切り換える。ただし、すでにＣＰＵの動作モードがプロテクトモードになっている場合には、この処理は不要である（第一ＣＰＵプロテクトモード切換ステップ  Ｓ１２１０）。次に、第一情報の全部又は一部を他の情報の全部又は一部がロードされていた第一主記憶領域にロードする（第一情報ロードステップ  Ｓ１２２０）。次に、ＣＰＵの動作モードをリアルモードに切り換える（第一ＣＰＵリアルモード切換ステップ  Ｓ１２３０）。次に、前記第一情報ロードステップ（Ｓ１２２０）にてロードされた第一情報の全部又は一部が実行される（第一情報実行ステップ  Ｓ１２４０）。次に、前記第一ＣＰＵプロテクトモード切換ステップ（Ｓ１２１０）同様に、ＣＰＵの動作モードをプロテクトモードに切り換える（第二ＣＰＵプロテクトモード切換ステップ  Ｓ１２５０）。次に、第一主記憶領域にロードされている第一情報の全部又は一部と、第二主記憶領域にロードされている他の情報の全部又は一部を交換し、他の情報の全部又は一部を第一主記憶領域にロードする（交換ステップ  Ｓ１２６０）。次に、前記第一ＣＰＵリアルモード切換ステップ（Ｓ１２３０）同様に、ＣＰＵの動作モードをリアルモードに切り換える（第二ＣＰＵリアルモード切換ステップ  Ｓ１２７０）。最後に、前記交換ステップ（Ｓ１２６０）にてロードされた他の情報の全部又は一部が実行される（他の情報実行ステップ  Ｓ１２８０）。以上の処理を、処理が終了するまで繰り返す（終了判断ステップ  Ｓ１２９０）。処理が終了する条件は、例えば、ＯＳが起動して独自のドライバによってＵＳＢ接続ＨＤＤにアクセスするまでである。
【００４７】
図１３は、本実施形態に係る計算機の処理の流れを説明するフロー図を例示する。図１３は、図１２で説明した処理の流れに、後述の第二情報配置ステップ、第三ＣＰＵプロテクトモード切換ステップ、他の情報配置ステップ、を追加したものである。また、最初に第一情報が第一主記憶領域にロードされる場合を一例として説明する。
【００４８】
最初に、第一情報を第二主記憶領域にロードする（第二情報配置ステップ  Ｓ１３００）。次に、ＣＰＵの動作モードをプロテクトモードに切り換える（第三ＣＰＵプロテクトモード切換ステップ  Ｓ１３０１）。次に、他の情報の全部又は一部を第二主記憶領域にロードする（他の情報配置ステップ  Ｓ１３０２）。次に、ＣＰＵの動作モードをプロテクトモードに切り換える（第一ＣＰＵプロテクトモード切換ステップ  Ｓ１３１０）。次に、前記第二情報配置ステップ（Ｓ１３００）でロードされた第一情報の全部又は一部を第一主記憶領域にロードする（第一情報ロードステップ  Ｓ１３２０）。次に、ＣＰＵの動作モードをリアルモードに切り換える（第一ＣＰＵリアルモード切換ステップ  Ｓ１３３０）。次に、前記第一情報ロードステップ（Ｓ１３２０）にてロードされた第一情報の全部又は一部が実行される（第一情報実行ステップ  Ｓ１３４０）。次に、前記第一ＣＰＵプロテクトモード切換ステップ（Ｓ１３１０）同様に、ＣＰＵの動作モードをプロテクトモードに切り換える（第二ＣＰＵプロテクトモード切換ステップ  Ｓ１３５０）。次に、第一主記憶領域にロードされている第一情報の全部又は一部と、第二主記憶領域にロードされている他の情報の全部又は一部を交換し、他の情報の全部又は一部を第一主記憶領域にロードする（交換ステップ  Ｓ１３６０）。次に、前記第一ＣＰＵリアルモード切換ステップ（Ｓ１３３０）同様に、ＣＰＵの動作モードをリアルモードに切り換える（第二ＣＰＵリアルモード切換ステップ  Ｓ１３７０）。最後に、前記交換ステップ（Ｓ１３６０）にてロードされた他の情報の全部又は一部が実行される（他の情報実行ステップ  Ｓ１３８０）。前記第一ＣＰＵプロテクトモード切換ステップ（Ｓ１３１０）から他の情報実行ステップ（Ｓ１３８０）までの処理を、処理が終了するまで繰り返す（終了判断ステップ  Ｓ１３９０）。処理が終了する条件は、例えば、ＯＳが起動して独自のドライバによってＵＳＢ接続ＨＤＤにアクセスするまでである。
【００４９】
（実施形態２：効果）
【００５０】
本実施形態に係る計算機によれば、利用可能領域情報が使用できないため第一主記憶領域に直接展開不能である第一情報を、ＯＳの起動前など、通常リアルモードでしか動作しなかったＣＰＵの動作モードを交換プログラムによってリアルモードとプロテクトモードに相互に切り換えて、第一情報と第一主記憶領域に展開されている他の情報とを交換しながら実行する機能を有する。これにより、１Ｍ以下のメモリ領域にプログラムを直接ロードできないような状態であっても、プログラムを実行することが可能となる。
【図面の簡単な説明】
【００５１】
【図１】本発明に係る計算機の主な機能に関する動作概要図
【図２】実施形態１に係る計算機の機能ブロック図
【図３】第一情報配置部の具体例
【図４】交換プログラム配置部の具体例
【図５】実施形態１に係る交換プログラムの動作に関する具体例
【図６】実施形態２に係る計算機を利用してＯＳを起動する場合の具体例
【図７】実施形態１に係る交換プログラムの処理の流れを説明するフロー図
【図８】実施形態１に係る計算機の処理の流れを説明するフロー図
【図９】実施形態２に係る計算機の機能ブロック図
【図１０】第二情報配置部の具体例
【図１１】実施形態２に係る交換プログラムの動作に関する具体例
【図１２】実施形態２に係る交換プログラムの処理の流れを説明するフロー図
【図１３】実施形態２に係る計算機の処理の流れを説明するフロー図
【符号の説明】
【００５２】
０１１０    第一主記憶領域
０１２０    第二主記憶領域
０１３０    第一の情報
０１４０    第二の情報
【図１】
2006285798.tif 000003
【図２】
2006285798.tif 000004
【図３】
2006285798.tif 000005
【図４】
2006285798.tif 000006
【図５】
2006285798.tif 000007
【図６】
2006285798.tif 000008
【図７】
2006285798.tif 000009
【図８】
2006285798.tif 000010
【図９】
2006285798.tif 000011
【図１０】
2006285798.tif 000012
【図１１】
2006285798.tif 000013
【図１２】
2006285798.tif 000014
【図１３】
2006285798.tif 000015