(57)【特許請求の範囲】
【請求項１】
マルチ起動システムでのアドレスリマッピング（remapping）を遂行する方法において，
基本オペレーティングシステム（default operating system）及び非基本オペレーティングシステム（non-default OS）を前記マルチ起動システムのメモリー媒体（medium）の一番目及び二番目アドレス（address）領域（region）にそれぞれ保存する段階と；
前記マルチ起動システムのBasic Input / Output System (ＢＩＯＳ)の、ＢＩＯＳセットアップメニューを介して、ユーザから前記非基本オペレーティングシステムを駆動するための選択を受信する段階と；
前記基本オペレーティングシステムに関連した前記一番目アドレス領域範囲内の目的アドレス（intended address）でデータにアクセスする段階と；
前記選択に基づき、前記非基本オペレーティングシステムに関連した二番目アドレス領域内のリマッピングされたアドレス（remapped address）を、リマッピング具現のためのプログラムにより計算する段階と；
前記リマッピング具現のためのプログラムにより、前記基本オペレーティングシステムに関連した前記一番目アドレス領域範囲内の前記目的アドレスのデータを、前記非基本オペレーティングシステムに関連した前記二番目アドレス領域内のリマッピングされたアドレスのデータに、変更する段階と；
前記非基本オペレーティングシステムに関連した前記一番目アドレス領域範囲内の目的アドレス（intended address）でデータにアクセスする段階とを含み、
前記リマッピングされたアドレスは、アドレス・スワッピング（Address Swapping）を通じて、前記非基本オペレーティングシステムに関連した情報およびデータを読み込むために得られることを特徴とするシステム作動制御方法。
【請求項２】
前記目的アドレス及び前記一番目アドレス領域の始めのアドレス（starting address）と前記二番目アドレス領域の始めのアドレス（starting address）間のオフセットに基づき、前記リマッピングされたアドレスを計算することを特徴とする請求項１に記載のシステム作動制御方法。
【請求項３】
前記一番目アドレス領域に対するスワッピングされたアドレスは、下記の数式（１）により計算され、
New Address = Address - ADD_A + ADD_B…（１）
（ただし、Addressは前記一番目アドレス領域のアドレスを示し，ADD_Aは前記一番目アドレス領域の始めのアドレスを示し、ADD_Bは前記二番目アドレス領域の始めのアドレスを示す。）
前記二番目アドレス領域に対するスワッピングされたアドレスは、下記の数式（２）により計算されることを特徴とする請求項１に記載のシステム作動制御方法。
New Address = Address + ADD_A - ADD_B…（２）
（ただし、Addressは前記二番目アドレス領域のアドレスを示し，ADD_Aは前記一番目アドレス領域の始めのアドレスを示し、ADD_Bは前記二番目アドレス領域の始めのアドレスを示す。）
【請求項４】
前記メモリー媒体の三番目アドレス領域に代替オペレーティングシステム（alternate OS）を保存する段階を更に含むことを特徴とする請求項１に記載のシステム作動制御方法。
【請求項５】
前記選択は制御やメニュー選択又はキーパッド押さえを含むことを特徴とする請求項１に記載のシステム作動制御方法。
【請求項６】
一つのＢＩＯＳを利用して、前記基本オペレーティングシステムおよび前記非基本オペレーティングシステムを起動する段階を更に含むことを特徴とする請求項１に記載のシステム作動制御方法。
【請求項７】
アドレスリマッピング（remapping）を遂行するためのマルチ起動システムであって、
前記マルチ起動システムは、
一つ以上のコンピュータと、
前記一つ以上のコンピュータと結合され、前記一つ以上のコンピュータにより実行された場合に、前記一つ以上のコンピュータに以下の動作を遂行させる命令を有するコンピュータ読み取り可能な媒体と、
を備え、
前記動作は、
基本オペレーティングシステム（default operating system）及び非基本オペレーティングシステム（non-default OS）を前記マルチ起動システムのメモリー媒体（medium）の一番目及び二番目アドレス（address）領域（region）にそれぞれ保存する段階と；
前記マルチ起動システムのBasic Input / Output System (ＢＩＯＳ)の、ＢＩＯＳセットアップメニューを介して、ユーザから前記非基本オペレーティングシステムを駆動するための選択を受信する段階と；
前記基本オペレーティングシステムに関連した前記一番目アドレス領域範囲内の目的アドレス（intended address）でデータにアクセスする段階と；
前記選択に基づき、前記非基本オペレーティングシステムに関連した二番目アドレス領域内のリマッピングされたアドレス（remapped address）を、リマッピング具現のためのプログラムにより計算する段階と；
前記リマッピング具現のためのプログラムにより、前記基本オペレーティングシステムに関連した前記一番目アドレス領域範囲内の前記目的アドレスのデータを、前記非基本オペレーティングシステムに関連した前記二番目アドレス領域内のリマッピングされたアドレスのデータに、変更する段階と；
前記非基本オペレーティングシステムに関連した前記一番目アドレス領域範囲内の目的アドレス（intended address）でデータにアクセスする段階とを含み、
前記リマッピングされたアドレスは、アドレス・スワッピング（Address Swapping）を通じて、前記非基本オペレーティングシステムに関連した情報およびデータを読み込むために得られることを特徴とするマルチ起動システム。
【発明の詳細な説明】
【発明の分野】
【０００１】
本発明は複数のオペレーティングシステムを選択的にアクセスできるシステムの起動制御装置と方法に関する。
【従来技術の説明】
【０００２】
一般的なコンピューターを含んだシステムでは，使用者がシステム電源をオン（ON）させる場合，一連のシステム起動作動を遂行するようになる。
【０００３】
この時システムバイオス（ＢＩＯＳ）では，コンピューターシステムが正常に作動するように，ハードディスクの一番目セクターに保存されるマスターブートレコード（Master Boot Recorder）（ＭＢＲ）を読んで，これを基礎にオペレーティングシステムが保存されているパーティション（Partition）のブートセクターレコードを読んでシステム起動作動を遂行する。
【０００４】
前記マスターブートレコード（ＭＢＲ）は，オペレーティングシステムがどこに，どう位置しているかどうかを識別してコンピューターの主記憶装置に積載するようにするための情報で，ハードディスクの一番目セクターに位置する。
【０００５】
また，マストブートレコード（ＭＢＲ）は"パーティションセクター（Partition Sector）"又は"マスターパーティションテーブル（Master Partition Table）"と呼ばれるが，これはハードディスクがフォーマットされる時分けられる各パーティション領域の形態，大きさ，位置に関する情報を持っているためである。
【０００６】
その外にもマスターブートレコード（ＭＢＲ）はメモリーに積載するオペレーティングシステムが保存されているパーティションのブートセクターレコードを読めるプログラムを含んでいるが，ブートセクターレコードにはまたオペレーティングシステムの残り部分をメモリーに積載するプログラムが盛られている。
【０００７】
より詳細に調べてみれば，マスターブートレコード（ＭＢＲ）は普通1個のセクター（Sector）で構成されるが，大きさは通常512bytesである。そして，512bytesで初めの446bytesはオペレーティングシステムを読み入れるための準備段階コードが入っていて，残り64bytesがパーティションに関する情報を入れておくテーブルである。そして，残り2bytesはＭＢＲが合うか確認するための予約値で記録される。パーティション１個を明示するには16bytesが必要となるので，ハードディスクには４個の主パーティションが指定されることができる。
【０００８】
各パーティションに関する情報が保存されるテーブルには，該当のパーティションが起動パーティションなのかを示すブート・インジケータ（Boot Indicator），該当のパーティションの始めのセクターのヘッダー及びシリンダー位置，該当のパーティションの終りのセクターのヘッダー及びシリンダー位置，該当のパーティションの全体セクター数などが記録される。マスターブートレコード（ＭＢＲ）に記録された各パーティションに関する情報の中で，ブート・インジケータは一つのパーティションに対してだけアクティブ（active）又はブート可能（bootable）で表示されて，他のパーティションなどに対してはインアクティブ（inactive）又はブート不能（notbootable）で表示される。
【０００９】
ブート・インジケータがアクティブであるパーティションが起動パーティションになって，該当のパーティションに記録されたオペレーティングシステムを基礎にシステムが起動される。
【００１０】
すなわち前記で説明したところのように，従来のそれぞれのハードディスクに保存されているそれぞれのオペレーティングシステム（Operating System）（ＯＳ）はそれに対応されるそれぞれのＭＢＲを保存しているし，現在作動するＯＳと他のＯＳが作動するようにするためには，該当のＯＳのＭＢＲを読むように別途作動，例えば該当のフォルダを捜して選択を通じてシステム起動をしなければならない。
【００１１】
また一つのハードディスクからマルチ起動（Multi Booting）を具現しようと思う場合，ＭＢＲの情報を変更しなければならない。
【００１２】
しかし，前記ＭＢＲの情報を変更する場合不意の事故でこれを復旧することができなくなる場合が発生する。
【発明の要約】
【００１３】
本発明は一つのハードディスクに二つ以上のプログラム，例えばＯＳを搭載してマルチ起動を具現することを提案する。
【００１４】
本発明は一つのディスクに保存されているお互いに異なるＯＳに関連する情報などが保存されるそれぞれのアドレス（住所：address）をリマッピング（Remapping）を通じてマルチ起動を具現するようにする。
【００１５】
本発明のシステムに基本作動に設定されたＯＳと他のＯＳでシステム作動具現のため，システムが基本的に読み込む（Reading）アドレスで目的とするＯＳの関連情報が移動される結果になるようにすることを提案する。
【００１６】
本発明での各ＯＳ関連情報の各アドレス情報移動はアドレス・スワッピング（Address Swapping）又はアドレス・オーバーライディング（AddressOverriding）を通したアドレス・リマッピング（address Remapping）を通じて具現することを提案する。
【００１７】
本発明によるシステム作動制御装置は，マルチ起動が可能なシステムにおいて，入力手段；お互いに異なるオペレーティングシステムが保存されるメモリー手段；システムから起動作動になるように基本設定されたオペレーティングシステムと異なるオペレーティングシステムの使用のための命令及び制御を少なくても一つ以上遂行する制御部；で，前記制御部の判断によって各オペレーティングシステムのアドレスをリマッピングを通じて具現される。
【００１８】
また本発明によるシステム作動制御方法は，複数のオペレーティングシステムがメモリーのお互いに異なるアドレスにローディングされる段階；システムで作動されるオペレーティングシステムを判断する段階；前記判断結果によるアドレス・リマッピングを遂行する段階；及び前記リマッピングされたアドレスのオペレーティングシステムを利用してシステムを作動する段階；を含んで作動される。
【００１９】
また本発明のアドレス・リマッピングはＯＳだけでなくシステムで作動される他のプログラムの場合にも適用可能である。
【００２０】
したがって本発明によれば，一つのハードディスクでマルチ起動（Multi booting）を具現しようとする場合，各ＯＳのＭＢＲ情報を変更する必要なく，アドレス・リマッピングを通じてシステム作動を目的とするＯＳに関連する情報が使用者が設定した読み始めアドレス位置に移動させることで，ＭＢＲ情報の安全と一緒にシステム起動のエラーを防止することができる。
【発明の詳細な説明】
【００２１】
本発明のマルチ起動（Multi Booting）のためのシステム作動制御装置及び方法に対して詳細に説明しようとして，これはＯＳだけでなく一つのシステムにお互いに異なる目的で保存されたプログラムなどを選択的にアクセスする場合にも適用可能になるはずである。
【００２２】
先ず，本発明の概括的な作動を説明する。
【００２３】
二つ以上のオペレーティングシステム（Operation System）（ＯＳ），例えばＤＯＳ，ＷＩＮＤＯＷＳが1個のハードディスクドライブ（ＨＤＤ）に保存されている。ここで前記二つ以上のＯＳがパーティション（Partition）に区分されて保存されるかどうかの可否は本発明の要旨とは関係がない。
【００２４】
前記で各ＯＳに関連する情報であるＭＢＲ（Master BootRecoder）など及びデータは予め定められたアドレスにそれぞれ保存される。例えば0番地から999番地までは第１ＯＳであるＤＯＳ情報及びデータが保存されて，1000番地から1099番地までは第２ＯＳであるＷＩＮＤＯＷに関連した情報が保存される。
【００２５】
一般的にシステムの基本作動は第１ＯＳに設定されている。したがって第１ＯＳであるＤＯＳで使用又は作成されたデータで作動しようとする場合はすぐO番地から読んでシステムを作動すれば良い。
【００２６】
一方使用者がシステムの基本作動の時使われるように設定されたＯＳと他のＯＳ，例えばＷｉｎｄｏｗに関連したことを作動しようとする場合，システムはいつも0番地から読んでスタートすることに設定されたので，スワッピング（Swapping）又はオーバーライディング（Overriding）を通したアドレス・リマッピングを通じて，前記第２ＯＳに関連した情報及びデータが読み込まれ（Readingされて）作動されるようにしなければならない。
【００２７】
前記でアドレス・スワッピングの場合，システムのアクセス面で見た時，アドレス1000-1099に保存されている第２ＯＳに関する内容は，システムに基本リーディング（Reading）で設定されたアドレス（0番地-99番地）に移動される結果になって，アドレス0-99番地に保存されている第１ＯＳに関する内容はアドレス1000-1099に移動される結果になる。
【００２８】
したがってシステム作動の時基本リーディングアドレスに設定されたアドレス（0番地-99番地）をリーディングするようになる。
【００２９】
すなわち，システムは設定されたアドレス（0番地-99番地）を読むと言っても，実質的には第２ＯＳに関連するアドレス（1000番地-1099番地）情報を読むようになって，使用者の望むＯＳが作動されるのである。
【００３０】
またアドレス・オーバーライディングの場合，作動目的ＯＳがアドレス1000-1099に保存されている第２ＯＳである場合，前記第２ＯＳに関する内容を，第１ＯＳアドレス及び第２ＯＳアドレスにそれぞれ保存される結果になって，システム作動の時基本リーディングアドレスに設定されたアドレス（0番地-99番地）をリーディングするようになる。
【００３１】
すなわち，システムは設定されたアドレス（0番地-99番地）を読むと言っても，実質的には第２ＯＳに関連するアドレス（1000番地-1099番地）情報を読むようになって，使用者の望むＯＳが作動されるのである。 
【００３２】
一方，第１ＯＳが作動の中で又はシステムを起動の時に使用者がシステムに基本ＯＳで設定された第１ＯＳと異なる第２ＯＳを使おうとするかどうかの判断は，ＢＩＯＳ Ｐｏｓｔ作動の中でファンクションキー（FunctionKey）などで第２ＯＳ起動（Booting）を知らせることもできて， ＢＩＯＳセットアップメニュー（setup menu）にアドレスをスワッピング（Swapping）するのか，オーバーライディング（Overriding）するのかなどの選択を通じて可能である。
【００３３】
またアドレス・リマッピングは図８及びそれに関連する内容によって遂行される。
【００３４】
例えば，リマッピングする命令語が追加されたファ−ムウェア（firmware）をフラッシュメモリーに追加するとか，システムＢＩＯＳのINT13Handlerの変更又は別途のオプションＲＯＭを追加，又はWindows ＯＳ上のフィルタードライバ（Filter Driver）作成等が具現可能である。
【００３５】
以下，本発明によるシステムの起動制御装置及び方法に対する望ましい実施形態に対して，添付された図面を参照して詳細に説明する。
【００３６】
図１は本発明によってシステムの起動を制御する方法が適用される一般的なシステムの構成を図示したこととして，ノートブックコンピューターの構成を例で説明する。 
【００３７】
しかし現在発明はノートブック（Note book）コンピューターに限定しないで，お互いに異なるプログラムを選択的にアクセスできるすべてのシステムに適用可能である。図１に示したところのように，コンピューターの全体的な作動を制御する制御部（101）と，フロッピーディスク／光学ディスクドライブ（floppydisc/a optical disc drive）（102），ＲＡＭ（103），モニターなどのような表示ユニット（display unit）（104），本発明のリマッピング具現のためのプログラムが保存されるフラッシュメモリ（flash memory）（105），キーボード/マウスなどのような入力ユニット（inputunits）の使用者入力手段（106），リマッピング命令などが遂行されるためのネットワークインターフェース（network interface）（107），２個以上のオペレーティングシステム（OperatingSystem（ＯＳ））が保存されるハードディスクドライブ（Hard Disk Drive（ＨＤＤ））（109）を含んで構成される。 
【００３８】
図１のように構成された本発明のノートブックコンピューターはリード／ライト（read/write）作動をして，電源がオフになる場合にも情報を保存するようになる。
【００３９】
前記フラッシュメモリ（105）には本発明のアドレス・リマッピングのためのプログラム及びデータなどが保存（Storing）される。
【００４０】
例えば図８のようなアドレス・スワッピング／オーバーライディング（Address Swapping/Overriding）のための命令語が追加されたファ−ムウェア，システムＢＩＯＳのINT13xHandlerの変更されたプログラム，オプションＲＯＭファームウェア，Ｗｉｎｄｏｗｓ ＯＳ上のフィルタードライバ又はリマッピングするアドレス及びサイズ（Size）をプログラムするコマンドインターフェース（Command Interface）などが保存される。
【００４１】
また前記メモリー（105）にはＢＩＯＳ（Basic Input/Output System）（108）を含む。
【００４２】
前記ＢＩＯＳ ＲＯＭは別に構成されることもできる。
【００４３】
前記ＢＩＯＳ ＲＯＭに保存されたＲＯＭＢＩＯＳはシステムを作動するオペレーティングシステム（ＯＳ）がシステムを制御するように，使用者命令によりシステム作動のための必要な初期環境を設定する。すなわちＲＯＭ ＢＩＯＳはシステムがターンオン（Turn on）以後に起動作動のためのプロセス（Process）を遂行する。
【００４４】
本発明での前記リマッピングは， ＢＩＯＳ ＰＯＳｔ作動の中でファンクションキーなどで第２ＯＳブート起動を知らせることもできて，ＢＩＯＳセットアップミニューにアドレスをスワッピングをするか，オーバーライディングをするかなどの選択を通じて可能である。 
【００４５】
図２はＯＳ及びデータが保存されるハードディスクの内部構造を示した図面である。
【００４６】
図面で見るところのように，１個のＨＤＤ（210）には複数個のシステムオペレーティングシステム（ＯＳ）（201）（202）が保存されている。
【００４７】
前記複数個のオペレーティングシステムはお互いに異なるが，基本構造は同じである。したがって第１ＯＳ（201）の構造のみを利用して説明する。
【００４８】
ＭＢＲ（master boot record）（201a）：パーティション情報と起動ファイルなどのアドレスがある。システム電源をつければこちらで起動ファイルアドレスを読んで，その場所に行って起動ファイルを読んで来てメモリーに登録させる。
【００４９】
一般的に現在システムは起動ファイル読むアドレスが始めのアドレスでセッティングされてい電源をつける場合前記始めのアドレスの起動ファイルを読んでシステムを起動させる。
【００５０】
したがって前記のような起動アドレスを読むプロセスが本発明のアドレス・リマッピングをする理由でもある。すなわち，アドレス・リマッピングを通じてシステムを作動させるための目標ＯＳ，例えば第２ＯＳ（202）の関連情報及びデータを始めのアドレス，例えば第１ＯＳ（201）位置に移動させる結果を持つようにできる。
【００５１】
ブートレコーダ（201b）：起動ファイルなどが保存されている。
【００５２】
ＦＡＴ（File Allocation Table）１又はＮＴＦＳ １（new technology file system）（201c）：データを保存するクラスタ番号が書かれている。
【００５３】
ＦＡＴ ２（201d）：ＦＡＴ １又はＮＴＦＳ １の複写本である。
【００５４】
ルートディレクトリ（201e）：ファイルの名前，大きさ，スタートセクター，ファイル属性などファイルに対する情報が入っている。スタートクラスター番号も保存された。
【００５５】
データ保存空間（201f）：実際にデータが保存された。
【００５６】
図３の（ａ），（ｂ）は発明のアドレス・リマッピング具現の一つの例として，アドレス・スワッピングを示した図面である。
【００５７】
図３の（ａ）で見るところのように，１個のＨＤＤ Diskのアドレス（住所）には二つの領域（Ａ領域（301），Ｂ領域（303））が存在して，各領域にはそれぞれお互いに異なるシステムオペレーティングシステム（ＯＳ），例えばＡ領域にはＤＯＳ，Ｂ領域にはＷｉｎｄｏｗｓが保存されている。
【００５８】
またＡ領域の大きさ（Size）は100で，スタートアドレスは０である。したがってＡ領域は0-99 アドレスである。またＢ領域の大きさ（Size）は100で，スタートアドレスは1000である。したがってB領域は1000-1099アドレスである。
【００５９】
前記アドレスの大きさは任意に設定したことで任意的な値である。前記のように構成され保存されたＯＳ状態で，システム起動中又はＯＳ作動中に使用者がアドレス・リマッピングのための制御命令，例えば予め定められたキー（ファンクションキーなど）入力又はセットアップミニューでの選択，によるスワッピングが遂行される。 
【００６０】
図３の（ｂ）は図３の（ａ）のアドレス（住所）がスワッピングになった状態を示した図面である。
【００６１】
アドレス・スワッピングを通じて図３（ａ）のＢ領域1000-1099 アドレスに保存されている第２ＯＳの情報及びデータは，図３（ｂ）のＢ領域0-99 アドレスに移動になる結果になる。すなわちシステムのアクセス（Access）側面で判断した時保存位置がかわった状態になるのである。
【００６２】
一方，図３（ａ）のＡ領域0-99 アドレスに保存されている第１ＯＳの情報及びデータは，図３（ｂ）のＢ領域1000-1099 アドレスに移動される結果になる。
【００６３】
前記のようなアドレス・スワッピングを通じて，アクセス側面で各ＯＳのアドレス情報がお互いに変えて保存される形態になる。したがってスタートアドレスからリーディング（読み込み：Reading）できるように設定されたシステムにより使用者が目的とするＯＳを駆動させることができる。
【００６４】
図４の（ａ），（ｂ）は本発明のアドレス・リマッピング具現の一つの例として，アドレス・オーバーライディングを示した図面である。 
【００６５】
図４の（ａ）で見るところのように，１個のＨＤＤＤｉｓｋのアドレスには二つの領域（Ａ領域（401），Ｂ領域（403））が存在して，各領域にはそれぞれお互いに異なるシステムオペレーティングシステム（ＯＳ），例えばＡ領域にはＤＯＳ，Ｂ領域にはＷｉｎｄｏｗｓが保存されている。
【００６６】
またＡ領域の大きさ（Size）は100で，スタートアドレスは０である。
【００６７】
したがってＡ領域は0-99 アドレスである。またB領域の大きさ（Size）は100で，スタートアドレスは1000である。したがってB領域は1000-1099アドレスである。
【００６８】
前記アドレスの大きさは任意に設定したことで任意的なものである。前記のように構成されて保存されたＯＳ状態で，システム起動中又はＯＳ作動中に使用者がアドレス・リマッピングのための制御命令，例えば予め定められたキー（ファンクションキーなど）入力又はセットアップミニューでの選択によるオーバーライディングが遂行される。
【００６９】
図４の（ｂ）は図４の（ａ）のアドレスがオーバーライディングになった状態を示した図面である。
【００７０】
アドレス・オーバーライディングを通じて図４の（ａ）のＢ領域1000-1099 アドレスに保存されている第２ＯＳの情報及びデータは，図４（ｂ）の第１Ｂ領域0-99 アドレス及び第２Ｂ領域1000-1099 アドレスに保存される。
【００７１】
前記のようなアドレス・オーバーライディングを通じて作動しようとするＯＳの情報及びデータがそれぞれのアドレスに等しく保存されるようになる。したがってスタートアドレスからリーディング（Reading）できるように設定されたシステムにより使用者が目的とするＯＳを駆動させることができる。 
【００７２】
前記で言及された第１ＯＳであるＤＯＳ，第２ＯＳであるＷｉｎｄｏｗｓは一つの例として示したことであり，これを他のプログラムに変更して使うことは当然のことである。
【００７３】
図５は本発明によるリマッピングが遂行されることを示した第１フロー図である。
【００７４】
一つのハードディスク内のお互いに異なるアドレス（Address）にお互いに異なるオペレーティングシステム（ＯＳ）をそれぞれローディング（loading）する（S 501）。この時第１ＯＳはスタートアドレスを始まりにして保存されている。したがってシステムは前記第１ＯＳをリーディングして作動される（S 503）。
【００７５】
前記第１ＯＳによりシステムが作動中に，第２ＯＳにより作動されるようにするために使用者の制御命令などが入力される場合（S 505），制御部の制御により作動されるＯＳ情報がスタートアドレス位置に移動される結果になるようにアドレス・リマッピングを遂行する（S 507）。
【００７６】
前記作動されるＯＳのアドレス情報位置変更はアドレス・スワッピング又はアドレス・オーバーライディングを通じて行われる。以後システムに基本作動に設定されたスタートアドレスをリーディングして（S 509），第２ＯＳによりシステムを作動させる（S 511）。
【００７７】
図６は本発明によるリマッピングが遂行されることを示した第２フロー図である。
【００７８】
一つのハードディスク内のお互いに異なるアドレス（Address）にお互いに異なるオペレーティングシステム（ＯＳ）をそれぞれローディングする（S 601）。この時第１ＯＳはスタートアドレスを始まりにして保存されている。したがってシステムは前記第１ＯＳをリーディングして作動されるはずである。
【００７９】
前記のように設定された状態で，第２ＯＳにより作動されるようにするために使用者の制御命令などが入力される場合（S 603），制御部の制御により作動されるＯＳ情報がスタートアドレス位置に移動される結果になるようにアドレス・リマッピングを遂行する（S 605）。
【００８０】
前記作動になるＯＳのアドレス位置変更はアドレス・スワッピング又はアドレス・オーバーライディングを通じて行われる。以後システムに基本作動に設定されたスタートアドレスをリーディングして，第２ＯＳによりシステムを作動させる（S 607）。
【００８１】
一方，第１ＯＳがスタートアドレスを始まりにして保存されている状態で，使用者の制御命令などが入力されない場合，システムは前記第１ＯＳをリーディングして作動される（S 609）。
【００８２】
前記の本発明を説明するのにおいてお互いに異なるＯＳ使用の例を挙げ説明したが，ＯＳ以外他のプログラム使用にも適用可能で，また等しいプログラムを互いに異なるアドレスに保存して必要時，例えばシステム復旧時，アドレスリマッピングを通じて正常なプログラムをアクセス（Access）することもできるはずである。
【００８３】
図７はアドレス・リマッピングのためのスワッピング及びオーバーライディングを示すフローチャートである。
【００８４】
先に，互いに異なるアドレスに保存されたそれぞれのＯＳをスワッピングするのかどうかを判断して（S 701），スワッピングのための使用者制御命令などが入力される場合，Ａ領域とＢ領域のアドレス・スワッピングを遂行する。
【００８５】
先に，Ａ領域に対するアドレスをスワッピングする場合，新しいアドレス（New Address）は次の数式により算出される。 
［数式１］
New Address=Address - ADD_A + ADD_B
（Address：Ａ領域のアドレス（0-99），ADD_A：Ａ領域のスタートアドレスである０，ADD_B：Ｂ領域のスタートアドレスである1000）。
【００８６】
したがって前記数式１によりＡ領域の０番地（Address）のスワッピングに対応される新しいアドレス（New Address）はＢ領域の1000番地（Address）になることであり，Ａ領域の1O番地（Address）のスワッピングに対応される新しいアドレス（New Address）はＢ領域の1010番地（Address）になるはずである（S703，S 705）。
【００８７】
一方，Ｂ領域に対するアドレスをスワッピングすれば，新しいアドレス（New address）は次の数式により算出される。 
［数式２］
New Address = Address + ADD_A - ADD_B 
【００８８】
したがって前記数式２により，Ｂ領域の100O番地（Address）のスワッピングに対応される新しいアドレス（New Address）はＡ領域の0番地（Address）になることであり，Ｂ領域の101O番地（Address）のスワッピングに対応される新しい（New Address）はＡ領域の10番地（Address）になるはずである（S 707，S 709）。
【００８９】
一方，アドレスをオーバーライディングする場合，Ｂ領域でオーバーライディングする場合には次の数式により新しいアドレス（NewAddress）が導出される。
［数式３］
New Address = Address + ADD_A - ADD_B 
【００９０】
したがって前記数式３により，Ｂ領域の100O番地（Address）のオーバーライディングに対応される新しいアドレス（New Address）はＡ領域の0番地（Address）になることであり，Ｂ領域の101O番地（Address）のオーバーライディングに対応される新しいアドレス（NewAddress）はＡ領域の10番地（Address）になるはずである（S 713，S 717）。
【００９１】
前記数式の結果により導出された新しいアドレスを読んでシステムを起動させるようになる。
【００９２】
図８，９及び１０は本発明によるハードディスクをリマッピングするのに使われる命令語及び実行過程を示したファームウェアである。
【００９３】
図面に示されたところのように，基本的に次の命令などの具現が必要である。
【００９４】
SET PHYSICAL ADDRESS SWAP（Non Volatile：非揮発性）：指定した二つのアドレス領域の接近（アクセス）を変える。ハードディスクドライブ・リセット（HDD Reset）あるいはプラットホーム（Platform）がかかった後，本設定は維持される。
【００９５】
SET PHYSICAL ADDRESS SWAP-V（Volatile：揮発性）：指定した二つのアドレス領域の接近を変える。HDD ResetあるいはPlatformにも本設定が保存されない。
【００９６】
SET PHYSICAL ADDRESS Overriding（Non Volatile）：特定領域の接近（アクセス）しようとする時，他の領域に接近するように再指向する。HDDResetあるいはPlatformがかかった後本設定は維持される。
【００９７】
SET PHYSICAL ADDRESS Overriding-V（Volatile）：特定領域の接近しようとする時，HDD ResetあるいはPlatformにも本設定が維持されない。
【００９８】
先ず，図８ａ，８ｂ，８ｃ及び８ｄのスワッピング及びオーバーライディングを遂行するために設定された定数値である。
【００９９】
図９はスワッピング及びオーバーライディングを遂行するための命令を非揮発性メモリーに初期化及びＢＩＯＳを呼び出す過程を示す。
【０１００】
図面で見るところのように，次のようなスワッピング／オーバーライディング（SWAP/OVERRIDE）を遂行時，使われるパラメータ（PARAMETER）をＮｖＲＡＭに初期化できて，ＢＩＯＳを呼び出すことで次の番起動に適用される。
【０１０１】
ＢＩＯＳの呼び出しはいろいろな方法が可能である。例えば使われないソフトウェアインターラプト（Software Interrupt）（例えばINT15 ）を割り当てて使うとか，SMI Trap Serviceなどを登録して使うことができる。
【０１０２】
図１０はＢＩＯＳのポスト過程又は起動過程で条件によってスワッピング及びオーバーライディングが遂行される過程を示す。
【０１０３】
またＯｐＲＯＭ及びフィルタードライバ（Filter Driver）コードも前記のような構造を持つことで作成することができるはずである。
【０１０４】
図面で見るところのように，下記はシステムＢＩＯＳのポスト及びブート起動過程である。
【０１０５】
NvCondion及びNvEngagementが全て0ではない場合だけ，スワッピング及びオーバーライディングが発生して，それ以外の場合はノーマル（NORMAL）である。
【０１０６】
前記したところのように本発明は，お互いに異なる作動プログラムが搭載されたシステムでアドレス・リマッピングを通じて選択的にアクセスできるシステム作動制御装置及び方法に関することである。
【０１０７】
前記のように本発明で使われる用語は出来る限り現在広く使われる一般的な用語を選択したが，特定の場合は出願入が任意に選定した用語もありこれは該当する発明の説明部分で詳細にその意味を記載したので，単純な用語の名称ではない用語が持つ意味として本発明を把握しなければならないことを明らかにしておく。
【０１０８】
したがって本発明によれば，一つのハードディスク（Hard disk）でマルチブート起動（Multibooting）を具現しようとする場合，各ＯＳのＭＢＲ情報を変更する必要なく，アドレス・リマッピングを通じてシステム作動を目的とするＯＳに関連する情報が使用者が設定した読み取りスタートアドレス位置に移動させることで，ＭＢＲ情報の安全と一緒にシステム起動のエラーを防止することができる。
【０１０９】
また前述した本発明の望ましい実施形態は，例示の目的のために開示されたことで，当業者なら以下添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で，また他の多様な実施形態などを改良，変更，代替又は付加などが可能なはずである。
【図面の簡単な説明】
【０１１０】
【図１】本発明によってシステムの起動を制御する方法が適用される一般的なシステムの構成図である。
【図２】ＯＳ及びデータが保存されるハードディスクの内部構造を示した図である。
【図３】本発明のアドレス・リマッピングのアドレス・スワッピングされた状態を示した図である。
【図４】本発明のアドレス・リマッピングのアドレス・オーバーライディングされた状態を示した図である。
【図５】本発明によるリマッピングが遂行されることを示した第１フロー図である。
【図６】本発明によるリマッピングが遂行されることを示した第２フロー図である。
【図７】アドレス・リマッピングのためのスワッピング及びオーバーライディングを示したフロー図である。
【図８ａ】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図８ｂ】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図８ｃ】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図８ｄ】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図９】スワッピング及びオーバーライディングを遂行するための命令を非揮発性メモリーに初期化及びＢＩＯＳを呼び出す過程を示す図である。
【図１０】ＢＩＯＳのポスト過程又は起動過程で条件によってスワッピング及びオーバーライディングが遂行される過程を示す図である。
【符号の説明】
【０１１１】
１０１…制御部、１０２…フロッピーディスク／光学ディスクドライブ１０３…ＲＡＭ、１０４…表示ユニット、１０５…フラッシュメモリ，１０６…入力ユニット１０７…ネットワークインターフェース、１０９…ハードディスクドライブ。
【図１】
0005826985.tif 000002
【図２】
0005826985.tif 000003
【図３】
0005826985.tif 000004
【図４】
0005826985.tif 000005
【図５】
0005826985.tif 000006
【図６】
0005826985.tif 000007
【図７】
0005826985.tif 000008
【図８ａ】
0005826985.tif 000009
【図８ｂ】
0005826985.tif 000010
【図８ｃ】
0005826985.tif 000011
【図８ｄ】
0005826985.tif 000012
【図９】
0005826985.tif 000013
【図１０】
0005826985.tif 000014