システム作動制御装置及び方法
【課題】一つのハードディスクに二つ以上のプログラム,例えばOSを搭載してマルチ起動を具現する。
【解決手段】複数個の作動プログラムがローディングされた一つのシステムで,前記プログラムが保存されたそれぞれのアドレス位置情報をリマッピングを通じて変更して,作動しようとするプログラムにアクセスしてシステムを作動させる。
【解決手段】複数個の作動プログラムがローディングされた一つのシステムで,前記プログラムが保存されたそれぞれのアドレス位置情報をリマッピングを通じて変更して,作動しようとするプログラムにアクセスしてシステムを作動させる。
【発明の詳細な説明】
【発明の分野】
【0001】
本発明は複数のオペレーティングシステムを選択的にアクセスできるシステムの起動制御装置と方法に関する。
【従来技術の説明】
【0002】
一般的なコンピューターを含んだシステムでは,使用者がシステム電源をオン(ON)させる場合,一連のシステム起動作動を遂行するようになる。
【0003】
この時システムバイオス(BIOS)では,コンピューターシステムが正常に作動するように,ハードディスクの一番目セクターに保存されるマスターブートレコード(Master Boot Recorder)(MBR)を読んで,これを基礎にオペレーティングシステムが保存されているパーティション(Partition)のブートセクターレコードを読んでシステム起動作動を遂行する。
【0004】
前記マスターブートレコード(MBR)は,オペレーティングシステムがどこに,どう位置しているかどうかを識別してコンピューターの主記憶装置に積載するようにするための情報で,ハードディスクの一番目セクターに位置する。
【0005】
また,マストブートレコード(MBR)は"パーティションセクター(Partition Sector)"又は"マスターパーティションテーブル(Master Partition Table)"と呼ばれるが,これはハードディスクがフォーマットされる時分けられる各パーティション領域の形態,大きさ,位置に関する情報を持っているためである。
【0006】
その外にもマスターブートレコード(MBR)はメモリーに積載するオペレーティングシステムが保存されているパーティションのブートセクターレコードを読めるプログラムを含んでいるが,ブートセクターレコードにはまたオペレーティングシステムの残り部分をメモリーに積載するプログラムが盛られている。
【0007】
より詳細に調べてみれば,マスターブートレコード(MBR)は普通1個のセクター(Sector)で構成されるが,大きさは通常512bytesである。そして,512bytesで初めの446bytesはオペレーティングシステムを読み入れるための準備段階コードが入っていて,残り64bytesがパーティションに関する情報を入れておくテーブルである。そして,残り2bytesはMBRが合うか確認するための予約値で記録される。パーティション1個を明示するには16bytesが必要となるので,ハードディスクには4個の主パーティションが指定されることができる。
【0008】
各パーティションに関する情報が保存されるテーブルには,該当のパーティションが起動パーティションなのかを示すブート・インジケータ(Boot Indicator),該当のパーティションの始めのセクターのヘッダー及びシリンダー位置,該当のパーティションの終りのセクターのヘッダー及びシリンダー位置,該当のパーティションの全体セクター数などが記録される。マスターブートレコード(MBR)に記録された各パーティションに関する情報の中で,ブート・インジケータは一つのパーティションに対してだけアクティブ(active)又はブート可能(bootable)で表示されて,他のパーティションなどに対してはインアクティブ(inactive)又はブート不能(notbootable)で表示される。
【0009】
ブート・インジケータがアクティブであるパーティションが起動パーティションになって,該当のパーティションに記録されたオペレーティングシステムを基礎にシステムが起動される。
【0010】
すなわち前記で説明したところのように,従来のそれぞれのハードディスクに保存されているそれぞれのオペレーティングシステム(Operating System)(OS)はそれに対応されるそれぞれのMBRを保存しているし,現在作動するOSと他のOSが作動するようにするためには,該当のOSのMBRを読むように別途作動,例えば該当のフォルダを捜して選択を通じてシステム起動をしなければならない。
【0011】
また一つのハードディスクからマルチ起動(Multi Booting)を具現しようと思う場合,MBRの情報を変更しなければならない。
【0012】
しかし,前記MBRの情報を変更する場合不意の事故でこれを復旧することができなくなる場合が発生する。
【発明の要約】
【0013】
本発明は一つのハードディスクに二つ以上のプログラム,例えばOSを搭載してマルチ起動を具現することを提案する。
【0014】
本発明は一つのディスクに保存されているお互いに異なるOSに関連する情報などが保存されるそれぞれのアドレス(住所:address)をリマッピング(Remapping)を通じてマルチ起動を具現するようにする。
【0015】
本発明のシステムに基本作動に設定されたOSと他のOSでシステム作動具現のため,システムが基本的に読み込む(Reading)アドレスで目的とするOSの関連情報が移動される結果になるようにすることを提案する。
【0016】
本発明での各OS関連情報の各アドレス情報移動はアドレス・スワッピング(Address Swapping)又はアドレス・オーバーライディング(AddressOverriding)を通したアドレス・リマッピング(address Remapping)を通じて具現することを提案する。
【0017】
本発明によるシステム作動制御装置は,マルチ起動が可能なシステムにおいて,入力手段;お互いに異なるオペレーティングシステムが保存されるメモリー手段;システムから起動作動になるように基本設定されたオペレーティングシステムと異なるオペレーティングシステムの使用のための命令及び制御を少なくても一つ以上遂行する制御部;で,前記制御部の判断によって各オペレーティングシステムのアドレスをリマッピングを通じて具現される。
【0018】
また本発明によるシステム作動制御方法は,複数のオペレーティングシステムがメモリーのお互いに異なるアドレスにローディングされる段階;システムで作動されるオペレーティングシステムを判断する段階;前記判断結果によるアドレス・リマッピングを遂行する段階;及び前記リマッピングされたアドレスのオペレーティングシステムを利用してシステムを作動する段階;を含んで作動される。
【0019】
また本発明のアドレス・リマッピングはOSだけでなくシステムで作動される他のプログラムの場合にも適用可能である。
【0020】
したがって本発明によれば,一つのハードディスクでマルチ起動(Multi booting)を具現しようとする場合,各OSのMBR情報を変更する必要なく,アドレス・リマッピングを通じてシステム作動を目的とするOSに関連する情報が使用者が設定した読み始めアドレス位置に移動させることで,MBR情報の安全と一緒にシステム起動のエラーを防止することができる。
【発明の詳細な説明】
【0021】
本発明のマルチ起動(Multi Booting)のためのシステム作動制御装置及び方法に対して詳細に説明しようとして,これはOSだけでなく一つのシステムにお互いに異なる目的で保存されたプログラムなどを選択的にアクセスする場合にも適用可能になるはずである。
【0022】
先ず,本発明の概括的な作動を説明する。
【0023】
二つ以上のオペレーティングシステム(Operation System)(OS),例えばDOS,WINDOWSが1個のハードディスクドライブ(HDD)に保存されている。ここで前記二つ以上のOSがパーティション(Partition)に区分されて保存されるかどうかの可否は本発明の要旨とは関係がない。
【0024】
前記で各OSに関連する情報であるMBR(Master BootRecoder)など及びデータは予め定められたアドレスにそれぞれ保存される。例えば0番地から999番地までは第1OSであるDOS情報及びデータが保存されて,1000番地から1099番地までは第2OSであるWINDOWに関連した情報が保存される。
【0025】
一般的にシステムの基本作動は第1OSに設定されている。したがって第1OSであるDOSで使用又は作成されたデータで作動しようとする場合はすぐO番地から読んでシステムを作動すれば良い。
【0026】
一方使用者がシステムの基本作動の時使われるように設定されたOSと他のOS,例えばWindowに関連したことを作動しようとする場合,システムはいつも0番地から読んでスタートすることに設定されたので,スワッピング(Swapping)又はオーバーライディング(Overriding)を通したアドレス・リマッピングを通じて,前記第2OSに関連した情報及びデータが読み込まれ(Readingされて)作動されるようにしなければならない。
【0027】
前記でアドレス・スワッピングの場合,システムのアクセス面で見た時,アドレス1000-1099に保存されている第2OSに関する内容は,システムに基本リーディング(Reading)で設定されたアドレス(0番地-99番地)に移動される結果になって,アドレス0-99番地に保存されている第1OSに関する内容はアドレス1000-1099に移動される結果になる。
【0028】
したがってシステム作動の時基本リーディングアドレスに設定されたアドレス(0番地-99番地)をリーディングするようになる。
【0029】
すなわち,システムは設定されたアドレス(0番地-99番地)を読むと言っても,実質的には第2OSに関連するアドレス(1000番地-1099番地)情報を読むようになって,使用者の望むOSが作動されるのである。
【0030】
またアドレス・オーバーライディングの場合,作動目的OSがアドレス1000-1099に保存されている第2OSである場合,前記第2OSに関する内容を,第1OSアドレス及び第2OSアドレスにそれぞれ保存される結果になって,システム作動の時基本リーディングアドレスに設定されたアドレス(0番地-99番地)をリーディングするようになる。
【0031】
すなわち,システムは設定されたアドレス(0番地-99番地)を読むと言っても,実質的には第2OSに関連するアドレス(1000番地-1099番地)情報を読むようになって,使用者の望むOSが作動されるのである。
【0032】
一方,第1OSが作動の中で又はシステムを起動の時に使用者がシステムに基本OSで設定された第1OSと異なる第2OSを使おうとするかどうかの判断は,BIOS Post作動の中でファンクションキー(FunctionKey)などで第2OS起動(Booting)を知らせることもできて, BIOSセットアップメニュー(setup menu)にアドレスをスワッピング(Swapping)するのか,オーバーライディング(Overriding)するのかなどの選択を通じて可能である。
【0033】
またアドレス・リマッピングは図8及びそれに関連する内容によって遂行される。
【0034】
例えば,リマッピングする命令語が追加されたファ−ムウェア(firmware)をフラッシュメモリーに追加するとか,システムBIOSのINT13Handlerの変更又は別途のオプションROMを追加,又はWindows OS上のフィルタードライバ(Filter Driver)作成等が具現可能である。
【0035】
以下,本発明によるシステムの起動制御装置及び方法に対する望ましい実施形態に対して,添付された図面を参照して詳細に説明する。
【0036】
図1は本発明によってシステムの起動を制御する方法が適用される一般的なシステムの構成を図示したこととして,ノートブックコンピューターの構成を例で説明する。
【0037】
しかし現在発明はノートブック(Note book)コンピューターに限定しないで,お互いに異なるプログラムを選択的にアクセスできるすべてのシステムに適用可能である。図1に示したところのように,コンピューターの全体的な作動を制御する制御部(101)と,フロッピーディスク/光学ディスクドライブ(floppydisc/a optical disc drive)(102),RAM(103),モニターなどのような表示ユニット(display unit)(104),本発明のリマッピング具現のためのプログラムが保存されるフラッシュメモリ(flash memory)(105),キーボード/マウスなどのような入力ユニット(inputunits)の使用者入力手段(106),リマッピング命令などが遂行されるためのネットワークインターフェース(network interface)(107),2個以上のオペレーティングシステム(OperatingSystem(OS))が保存されるハードディスクドライブ(Hard Disk Drive(HDD))(109)を含んで構成される。
【0038】
図1のように構成された本発明のノートブックコンピューターはリード/ライト(read/write)作動をして,電源がオフになる場合にも情報を保存するようになる。
【0039】
前記フラッシュメモリ(105)には本発明のアドレス・リマッピングのためのプログラム及びデータなどが保存(Storing)される。
【0040】
例えば図8のようなアドレス・スワッピング/オーバーライディング(Address Swapping/Overriding)のための命令語が追加されたファ−ムウェア,システムBIOSのINT13xHandlerの変更されたプログラム,オプションROMファームウェア,Windows OS上のフィルタードライバ又はリマッピングするアドレス及びサイズ(Size)をプログラムするコマンドインターフェース(Command Interface)などが保存される。
【0041】
また前記メモリー(105)にはBIOS(Basic Input/Output System)(108)を含む。
【0042】
前記BIOS ROMは別に構成されることもできる。
【0043】
前記BIOS ROMに保存されたROMBIOSはシステムを作動するオペレーティングシステム(OS)がシステムを制御するように,使用者命令によりシステム作動のための必要な初期環境を設定する。すなわちROM BIOSはシステムがターンオン(Turn on)以後に起動作動のためのプロセス(Process)を遂行する。
【0044】
本発明での前記リマッピングは, BIOS POSt作動の中でファンクションキーなどで第2OSブート起動を知らせることもできて,BIOSセットアップミニューにアドレスをスワッピングをするか,オーバーライディングをするかなどの選択を通じて可能である。
【0045】
図2はOS及びデータが保存されるハードディスクの内部構造を示した図面である。
【0046】
図面で見るところのように,1個のHDD(210)には複数個のシステムオペレーティングシステム(OS)(201)(202)が保存されている。
【0047】
前記複数個のオペレーティングシステムはお互いに異なるが,基本構造は同じである。したがって第1OS(201)の構造のみを利用して説明する。
【0048】
MBR(master boot record)(201a):パーティション情報と起動ファイルなどのアドレスがある。システム電源をつければこちらで起動ファイルアドレスを読んで,その場所に行って起動ファイルを読んで来てメモリーに登録させる。
【0049】
一般的に現在システムは起動ファイル読むアドレスが始めのアドレスでセッティングされてい電源をつける場合前記始めのアドレスの起動ファイルを読んでシステムを起動させる。
【0050】
したがって前記のような起動アドレスを読むプロセスが本発明のアドレス・リマッピングをする理由でもある。すなわち,アドレス・リマッピングを通じてシステムを作動させるための目標OS,例えば第2OS(202)の関連情報及びデータを始めのアドレス,例えば第1OS(201)位置に移動させる結果を持つようにできる。
【0051】
ブートレコーダ(201b):起動ファイルなどが保存されている。
【0052】
FAT(File Allocation Table)1又はNTFS 1(new technology file system)(201c):データを保存するクラスタ番号が書かれている。
【0053】
FAT 2(201d):FAT 1又はNTFS 1の複写本である。
【0054】
ルートディレクトリ(201e):ファイルの名前,大きさ,スタートセクター,ファイル属性などファイルに対する情報が入っている。スタートクラスター番号も保存された。
【0055】
データ保存空間(201f):実際にデータが保存された。
【0056】
図3の(a),(b)は発明のアドレス・リマッピング具現の一つの例として,アドレス・スワッピングを示した図面である。
【0057】
図3の(a)で見るところのように,1個のHDD Diskのアドレス(住所)には二つの領域(A領域(301),B領域(303))が存在して,各領域にはそれぞれお互いに異なるシステムオペレーティングシステム(OS),例えばA領域にはDOS,B領域にはWindowsが保存されている。
【0058】
またA領域の大きさ(Size)は100で,スタートアドレスは0である。したがってA領域は0-99 アドレスである。またB領域の大きさ(Size)は100で,スタートアドレスは1000である。したがってB領域は1000-1099アドレスである。
【0059】
前記アドレスの大きさは任意に設定したことで任意的な値である。前記のように構成され保存されたOS状態で,システム起動中又はOS作動中に使用者がアドレス・リマッピングのための制御命令,例えば予め定められたキー(ファンクションキーなど)入力又はセットアップミニューでの選択,によるスワッピングが遂行される。
【0060】
図3の(b)は図3の(a)のアドレス(住所)がスワッピングになった状態を示した図面である。
【0061】
アドレス・スワッピングを通じて図3(a)のB領域1000-1099 アドレスに保存されている第2OSの情報及びデータは,図3(b)のB領域0-99 アドレスに移動になる結果になる。すなわちシステムのアクセス(Access)側面で判断した時保存位置がかわった状態になるのである。
【0062】
一方,図3(a)のA領域0-99 アドレスに保存されている第1OSの情報及びデータは,図3(b)のB領域1000-1099 アドレスに移動される結果になる。
【0063】
前記のようなアドレス・スワッピングを通じて,アクセス側面で各OSのアドレス情報がお互いに変えて保存される形態になる。したがってスタートアドレスからリーディング(読み込み:Reading)できるように設定されたシステムにより使用者が目的とするOSを駆動させることができる。
【0064】
図4の(a),(b)は本発明のアドレス・リマッピング具現の一つの例として,アドレス・オーバーライディングを示した図面である。
【0065】
図4の(a)で見るところのように,1個のHDDDiskのアドレスには二つの領域(A領域(401),B領域(403))が存在して,各領域にはそれぞれお互いに異なるシステムオペレーティングシステム(OS),例えばA領域にはDOS,B領域にはWindowsが保存されている。
【0066】
またA領域の大きさ(Size)は100で,スタートアドレスは0である。
【0067】
したがってA領域は0-99 アドレスである。またB領域の大きさ(Size)は100で,スタートアドレスは1000である。したがってB領域は1000-1099アドレスである。
【0068】
前記アドレスの大きさは任意に設定したことで任意的なものである。前記のように構成されて保存されたOS状態で,システム起動中又はOS作動中に使用者がアドレス・リマッピングのための制御命令,例えば予め定められたキー(ファンクションキーなど)入力又はセットアップミニューでの選択によるオーバーライディングが遂行される。
【0069】
図4の(b)は図4の(a)のアドレスがオーバーライディングになった状態を示した図面である。
【0070】
アドレス・オーバーライディングを通じて図4の(a)のB領域1000-1099 アドレスに保存されている第2OSの情報及びデータは,図4(b)の第1B領域0-99 アドレス及び第2B領域1000-1099 アドレスに保存される。
【0071】
前記のようなアドレス・オーバーライディングを通じて作動しようとするOSの情報及びデータがそれぞれのアドレスに等しく保存されるようになる。したがってスタートアドレスからリーディング(Reading)できるように設定されたシステムにより使用者が目的とするOSを駆動させることができる。
【0072】
前記で言及された第1OSであるDOS,第2OSであるWindowsは一つの例として示したことであり,これを他のプログラムに変更して使うことは当然のことである。
【0073】
図5は本発明によるリマッピングが遂行されることを示した第1フロー図である。
【0074】
一つのハードディスク内のお互いに異なるアドレス(Address)にお互いに異なるオペレーティングシステム(OS)をそれぞれローディング(loading)する(S 501)。この時第1OSはスタートアドレスを始まりにして保存されている。したがってシステムは前記第1OSをリーディングして作動される(S 503)。
【0075】
前記第1OSによりシステムが作動中に,第2OSにより作動されるようにするために使用者の制御命令などが入力される場合(S 505),制御部の制御により作動されるOS情報がスタートアドレス位置に移動される結果になるようにアドレス・リマッピングを遂行する(S 507)。
【0076】
前記作動されるOSのアドレス情報位置変更はアドレス・スワッピング又はアドレス・オーバーライディングを通じて行われる。以後システムに基本作動に設定されたスタートアドレスをリーディングして(S 509),第2OSによりシステムを作動させる(S 511)。
【0077】
図6は本発明によるリマッピングが遂行されることを示した第2フロー図である。
【0078】
一つのハードディスク内のお互いに異なるアドレス(Address)にお互いに異なるオペレーティングシステム(OS)をそれぞれローディングする(S 601)。この時第1OSはスタートアドレスを始まりにして保存されている。したがってシステムは前記第1OSをリーディングして作動されるはずである。
【0079】
前記のように設定された状態で,第2OSにより作動されるようにするために使用者の制御命令などが入力される場合(S 603),制御部の制御により作動されるOS情報がスタートアドレス位置に移動される結果になるようにアドレス・リマッピングを遂行する(S 605)。
【0080】
前記作動になるOSのアドレス位置変更はアドレス・スワッピング又はアドレス・オーバーライディングを通じて行われる。以後システムに基本作動に設定されたスタートアドレスをリーディングして,第2OSによりシステムを作動させる(S 607)。
【0081】
一方,第1OSがスタートアドレスを始まりにして保存されている状態で,使用者の制御命令などが入力されない場合,システムは前記第1OSをリーディングして作動される(S 609)。
【0082】
前記の本発明を説明するのにおいてお互いに異なるOS使用の例を挙げ説明したが,OS以外他のプログラム使用にも適用可能で,また等しいプログラムを互いに異なるアドレスに保存して必要時,例えばシステム復旧時,アドレスリマッピングを通じて正常なプログラムをアクセス(Access)することもできるはずである。
【0083】
図7はアドレス・リマッピングのためのスワッピング及びオーバーライディングを示すフローチャートである。
【0084】
先に,互いに異なるアドレスに保存されたそれぞれのOSをスワッピングするのかどうかを判断して(S 701),スワッピングのための使用者制御命令などが入力される場合,A領域とB領域のアドレス・スワッピングを遂行する。
【0085】
先に,A領域に対するアドレスをスワッピングする場合,新しいアドレス(New Address)は次の数式により算出される。
[数式1]
New Address=Address - ADD_A + ADD_B
(Address:A領域のアドレス(0-99),ADD_A:A領域のスタートアドレスである0,ADD_B:B領域のスタートアドレスである1000)。
【0086】
したがって前記数式1によりA領域の0番地(Address)のスワッピングに対応される新しいアドレス(New Address)はB領域の1000番地(Address)になることであり,A領域の1O番地(Address)のスワッピングに対応される新しいアドレス(New Address)はB領域の1010番地(Address)になるはずである(S703,S 705)。
【0087】
一方,B領域に対するアドレスをスワッピングすれば,新しいアドレス(New address)は次の数式により算出される。
[数式2]
New Address = Address + ADD_A - ADD_B
【0088】
したがって前記数式2により,B領域の100O番地(Address)のスワッピングに対応される新しいアドレス(New Address)はA領域の0番地(Address)になることであり,B領域の101O番地(Address)のスワッピングに対応される新しい(New Address)はA領域の10番地(Address)になるはずである(S 707,S 709)。
【0089】
一方,アドレスをオーバーライディングする場合,B領域でオーバーライディングする場合には次の数式により新しいアドレス(NewAddress)が導出される。
[数式3]
New Address = Address + ADD_A - ADD_B
【0090】
したがって前記数式3により,B領域の100O番地(Address)のオーバーライディングに対応される新しいアドレス(New Address)はA領域の0番地(Address)になることであり,B領域の101O番地(Address)のオーバーライディングに対応される新しいアドレス(NewAddress)はA領域の10番地(Address)になるはずである(S 713,S 717)。
【0091】
前記数式の結果により導出された新しいアドレスを読んでシステムを起動させるようになる。
【0092】
図8,9及び10は本発明によるハードディスクをリマッピングするのに使われる命令語及び実行過程を示したファームウェアである。
【0093】
図面に示されたところのように,基本的に次の命令などの具現が必要である。
【0094】
SET PHYSICAL ADDRESS SWAP(Non Volatile:非揮発性):指定した二つのアドレス領域の接近(アクセス)を変える。ハードディスクドライブ・リセット(HDD Reset)あるいはプラットホーム(Platform)がかかった後,本設定は維持される。
【0095】
SET PHYSICAL ADDRESS SWAP-V(Volatile:揮発性):指定した二つのアドレス領域の接近を変える。HDD ResetあるいはPlatformにも本設定が保存されない。
【0096】
SET PHYSICAL ADDRESS Overriding(Non Volatile):特定領域の接近(アクセス)しようとする時,他の領域に接近するように再指向する。HDDResetあるいはPlatformがかかった後本設定は維持される。
【0097】
SET PHYSICAL ADDRESS Overriding-V(Volatile):特定領域の接近しようとする時,HDD ResetあるいはPlatformにも本設定が維持されない。
【0098】
先ず,図8a,8b,8c及び8dのスワッピング及びオーバーライディングを遂行するために設定された定数値である。
【0099】
図9はスワッピング及びオーバーライディングを遂行するための命令を非揮発性メモリーに初期化及びBIOSを呼び出す過程を示す。
【0100】
図面で見るところのように,次のようなスワッピング/オーバーライディング(SWAP/OVERRIDE)を遂行時,使われるパラメータ(PARAMETER)をNvRAMに初期化できて,BIOSを呼び出すことで次の番起動に適用される。
【0101】
BIOSの呼び出しはいろいろな方法が可能である。例えば使われないソフトウェアインターラプト(Software Interrupt)(例えばINT15 )を割り当てて使うとか,SMI Trap Serviceなどを登録して使うことができる。
【0102】
図10はBIOSのポスト過程又は起動過程で条件によってスワッピング及びオーバーライディングが遂行される過程を示す。
【0103】
またOpROM及びフィルタードライバ(Filter Driver)コードも前記のような構造を持つことで作成することができるはずである。
【0104】
図面で見るところのように,下記はシステムBIOSのポスト及びブート起動過程である。
【0105】
NvCondion及びNvEngagementが全て0ではない場合だけ,スワッピング及びオーバーライディングが発生して,それ以外の場合はノーマル(NORMAL)である。
【0106】
前記したところのように本発明は,お互いに異なる作動プログラムが搭載されたシステムでアドレス・リマッピングを通じて選択的にアクセスできるシステム作動制御装置及び方法に関することである。
【0107】
前記のように本発明で使われる用語は出来る限り現在広く使われる一般的な用語を選択したが,特定の場合は出願入が任意に選定した用語もありこれは該当する発明の説明部分で詳細にその意味を記載したので,単純な用語の名称ではない用語が持つ意味として本発明を把握しなければならないことを明らかにしておく。
【0108】
したがって本発明によれば,一つのハードディスク(Hard disk)でマルチブート起動(Multibooting)を具現しようとする場合,各OSのMBR情報を変更する必要なく,アドレス・リマッピングを通じてシステム作動を目的とするOSに関連する情報が使用者が設定した読み取りスタートアドレス位置に移動させることで,MBR情報の安全と一緒にシステム起動のエラーを防止することができる。
【0109】
また前述した本発明の望ましい実施形態は,例示の目的のために開示されたことで,当業者なら以下添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で,また他の多様な実施形態などを改良,変更,代替又は付加などが可能なはずである。
【図面の簡単な説明】
【0110】
【図1】本発明によってシステムの起動を制御する方法が適用される一般的なシステムの構成図である。
【図2】OS及びデータが保存されるハードディスクの内部構造を示した図である。
【図3】本発明のアドレス・リマッピングのアドレス・スワッピングされた状態を示した図である。
【図4】本発明のアドレス・リマッピングのアドレス・オーバーライディングされた状態を示した図である。
【図5】本発明によるリマッピングが遂行されることを示した第1フロー図である。
【図6】本発明によるリマッピングが遂行されることを示した第2フロー図である。
【図7】アドレス・リマッピングのためのスワッピング及びオーバーライディングを示したフロー図である。
【図8a】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図8b】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図8c】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図8d】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図9】スワッピング及びオーバーライディングを遂行するための命令を非揮発性メモリーに初期化及びBIOSを呼び出す過程を示す図である。
【図10】BIOSのポスト過程又は起動過程で条件によってスワッピング及びオーバーライディングが遂行される過程を示す図である。
【符号の説明】
【0111】
101…制御部、102…フロッピーディスク/光学ディスクドライブ103…RAM、104…表示ユニット、105…フラッシュメモリ,106…入力ユニット107…ネットワークインターフェース、109…ハードディスクドライブ。
【発明の分野】
【0001】
本発明は複数のオペレーティングシステムを選択的にアクセスできるシステムの起動制御装置と方法に関する。
【従来技術の説明】
【0002】
一般的なコンピューターを含んだシステムでは,使用者がシステム電源をオン(ON)させる場合,一連のシステム起動作動を遂行するようになる。
【0003】
この時システムバイオス(BIOS)では,コンピューターシステムが正常に作動するように,ハードディスクの一番目セクターに保存されるマスターブートレコード(Master Boot Recorder)(MBR)を読んで,これを基礎にオペレーティングシステムが保存されているパーティション(Partition)のブートセクターレコードを読んでシステム起動作動を遂行する。
【0004】
前記マスターブートレコード(MBR)は,オペレーティングシステムがどこに,どう位置しているかどうかを識別してコンピューターの主記憶装置に積載するようにするための情報で,ハードディスクの一番目セクターに位置する。
【0005】
また,マストブートレコード(MBR)は"パーティションセクター(Partition Sector)"又は"マスターパーティションテーブル(Master Partition Table)"と呼ばれるが,これはハードディスクがフォーマットされる時分けられる各パーティション領域の形態,大きさ,位置に関する情報を持っているためである。
【0006】
その外にもマスターブートレコード(MBR)はメモリーに積載するオペレーティングシステムが保存されているパーティションのブートセクターレコードを読めるプログラムを含んでいるが,ブートセクターレコードにはまたオペレーティングシステムの残り部分をメモリーに積載するプログラムが盛られている。
【0007】
より詳細に調べてみれば,マスターブートレコード(MBR)は普通1個のセクター(Sector)で構成されるが,大きさは通常512bytesである。そして,512bytesで初めの446bytesはオペレーティングシステムを読み入れるための準備段階コードが入っていて,残り64bytesがパーティションに関する情報を入れておくテーブルである。そして,残り2bytesはMBRが合うか確認するための予約値で記録される。パーティション1個を明示するには16bytesが必要となるので,ハードディスクには4個の主パーティションが指定されることができる。
【0008】
各パーティションに関する情報が保存されるテーブルには,該当のパーティションが起動パーティションなのかを示すブート・インジケータ(Boot Indicator),該当のパーティションの始めのセクターのヘッダー及びシリンダー位置,該当のパーティションの終りのセクターのヘッダー及びシリンダー位置,該当のパーティションの全体セクター数などが記録される。マスターブートレコード(MBR)に記録された各パーティションに関する情報の中で,ブート・インジケータは一つのパーティションに対してだけアクティブ(active)又はブート可能(bootable)で表示されて,他のパーティションなどに対してはインアクティブ(inactive)又はブート不能(notbootable)で表示される。
【0009】
ブート・インジケータがアクティブであるパーティションが起動パーティションになって,該当のパーティションに記録されたオペレーティングシステムを基礎にシステムが起動される。
【0010】
すなわち前記で説明したところのように,従来のそれぞれのハードディスクに保存されているそれぞれのオペレーティングシステム(Operating System)(OS)はそれに対応されるそれぞれのMBRを保存しているし,現在作動するOSと他のOSが作動するようにするためには,該当のOSのMBRを読むように別途作動,例えば該当のフォルダを捜して選択を通じてシステム起動をしなければならない。
【0011】
また一つのハードディスクからマルチ起動(Multi Booting)を具現しようと思う場合,MBRの情報を変更しなければならない。
【0012】
しかし,前記MBRの情報を変更する場合不意の事故でこれを復旧することができなくなる場合が発生する。
【発明の要約】
【0013】
本発明は一つのハードディスクに二つ以上のプログラム,例えばOSを搭載してマルチ起動を具現することを提案する。
【0014】
本発明は一つのディスクに保存されているお互いに異なるOSに関連する情報などが保存されるそれぞれのアドレス(住所:address)をリマッピング(Remapping)を通じてマルチ起動を具現するようにする。
【0015】
本発明のシステムに基本作動に設定されたOSと他のOSでシステム作動具現のため,システムが基本的に読み込む(Reading)アドレスで目的とするOSの関連情報が移動される結果になるようにすることを提案する。
【0016】
本発明での各OS関連情報の各アドレス情報移動はアドレス・スワッピング(Address Swapping)又はアドレス・オーバーライディング(AddressOverriding)を通したアドレス・リマッピング(address Remapping)を通じて具現することを提案する。
【0017】
本発明によるシステム作動制御装置は,マルチ起動が可能なシステムにおいて,入力手段;お互いに異なるオペレーティングシステムが保存されるメモリー手段;システムから起動作動になるように基本設定されたオペレーティングシステムと異なるオペレーティングシステムの使用のための命令及び制御を少なくても一つ以上遂行する制御部;で,前記制御部の判断によって各オペレーティングシステムのアドレスをリマッピングを通じて具現される。
【0018】
また本発明によるシステム作動制御方法は,複数のオペレーティングシステムがメモリーのお互いに異なるアドレスにローディングされる段階;システムで作動されるオペレーティングシステムを判断する段階;前記判断結果によるアドレス・リマッピングを遂行する段階;及び前記リマッピングされたアドレスのオペレーティングシステムを利用してシステムを作動する段階;を含んで作動される。
【0019】
また本発明のアドレス・リマッピングはOSだけでなくシステムで作動される他のプログラムの場合にも適用可能である。
【0020】
したがって本発明によれば,一つのハードディスクでマルチ起動(Multi booting)を具現しようとする場合,各OSのMBR情報を変更する必要なく,アドレス・リマッピングを通じてシステム作動を目的とするOSに関連する情報が使用者が設定した読み始めアドレス位置に移動させることで,MBR情報の安全と一緒にシステム起動のエラーを防止することができる。
【発明の詳細な説明】
【0021】
本発明のマルチ起動(Multi Booting)のためのシステム作動制御装置及び方法に対して詳細に説明しようとして,これはOSだけでなく一つのシステムにお互いに異なる目的で保存されたプログラムなどを選択的にアクセスする場合にも適用可能になるはずである。
【0022】
先ず,本発明の概括的な作動を説明する。
【0023】
二つ以上のオペレーティングシステム(Operation System)(OS),例えばDOS,WINDOWSが1個のハードディスクドライブ(HDD)に保存されている。ここで前記二つ以上のOSがパーティション(Partition)に区分されて保存されるかどうかの可否は本発明の要旨とは関係がない。
【0024】
前記で各OSに関連する情報であるMBR(Master BootRecoder)など及びデータは予め定められたアドレスにそれぞれ保存される。例えば0番地から999番地までは第1OSであるDOS情報及びデータが保存されて,1000番地から1099番地までは第2OSであるWINDOWに関連した情報が保存される。
【0025】
一般的にシステムの基本作動は第1OSに設定されている。したがって第1OSであるDOSで使用又は作成されたデータで作動しようとする場合はすぐO番地から読んでシステムを作動すれば良い。
【0026】
一方使用者がシステムの基本作動の時使われるように設定されたOSと他のOS,例えばWindowに関連したことを作動しようとする場合,システムはいつも0番地から読んでスタートすることに設定されたので,スワッピング(Swapping)又はオーバーライディング(Overriding)を通したアドレス・リマッピングを通じて,前記第2OSに関連した情報及びデータが読み込まれ(Readingされて)作動されるようにしなければならない。
【0027】
前記でアドレス・スワッピングの場合,システムのアクセス面で見た時,アドレス1000-1099に保存されている第2OSに関する内容は,システムに基本リーディング(Reading)で設定されたアドレス(0番地-99番地)に移動される結果になって,アドレス0-99番地に保存されている第1OSに関する内容はアドレス1000-1099に移動される結果になる。
【0028】
したがってシステム作動の時基本リーディングアドレスに設定されたアドレス(0番地-99番地)をリーディングするようになる。
【0029】
すなわち,システムは設定されたアドレス(0番地-99番地)を読むと言っても,実質的には第2OSに関連するアドレス(1000番地-1099番地)情報を読むようになって,使用者の望むOSが作動されるのである。
【0030】
またアドレス・オーバーライディングの場合,作動目的OSがアドレス1000-1099に保存されている第2OSである場合,前記第2OSに関する内容を,第1OSアドレス及び第2OSアドレスにそれぞれ保存される結果になって,システム作動の時基本リーディングアドレスに設定されたアドレス(0番地-99番地)をリーディングするようになる。
【0031】
すなわち,システムは設定されたアドレス(0番地-99番地)を読むと言っても,実質的には第2OSに関連するアドレス(1000番地-1099番地)情報を読むようになって,使用者の望むOSが作動されるのである。
【0032】
一方,第1OSが作動の中で又はシステムを起動の時に使用者がシステムに基本OSで設定された第1OSと異なる第2OSを使おうとするかどうかの判断は,BIOS Post作動の中でファンクションキー(FunctionKey)などで第2OS起動(Booting)を知らせることもできて, BIOSセットアップメニュー(setup menu)にアドレスをスワッピング(Swapping)するのか,オーバーライディング(Overriding)するのかなどの選択を通じて可能である。
【0033】
またアドレス・リマッピングは図8及びそれに関連する内容によって遂行される。
【0034】
例えば,リマッピングする命令語が追加されたファ−ムウェア(firmware)をフラッシュメモリーに追加するとか,システムBIOSのINT13Handlerの変更又は別途のオプションROMを追加,又はWindows OS上のフィルタードライバ(Filter Driver)作成等が具現可能である。
【0035】
以下,本発明によるシステムの起動制御装置及び方法に対する望ましい実施形態に対して,添付された図面を参照して詳細に説明する。
【0036】
図1は本発明によってシステムの起動を制御する方法が適用される一般的なシステムの構成を図示したこととして,ノートブックコンピューターの構成を例で説明する。
【0037】
しかし現在発明はノートブック(Note book)コンピューターに限定しないで,お互いに異なるプログラムを選択的にアクセスできるすべてのシステムに適用可能である。図1に示したところのように,コンピューターの全体的な作動を制御する制御部(101)と,フロッピーディスク/光学ディスクドライブ(floppydisc/a optical disc drive)(102),RAM(103),モニターなどのような表示ユニット(display unit)(104),本発明のリマッピング具現のためのプログラムが保存されるフラッシュメモリ(flash memory)(105),キーボード/マウスなどのような入力ユニット(inputunits)の使用者入力手段(106),リマッピング命令などが遂行されるためのネットワークインターフェース(network interface)(107),2個以上のオペレーティングシステム(OperatingSystem(OS))が保存されるハードディスクドライブ(Hard Disk Drive(HDD))(109)を含んで構成される。
【0038】
図1のように構成された本発明のノートブックコンピューターはリード/ライト(read/write)作動をして,電源がオフになる場合にも情報を保存するようになる。
【0039】
前記フラッシュメモリ(105)には本発明のアドレス・リマッピングのためのプログラム及びデータなどが保存(Storing)される。
【0040】
例えば図8のようなアドレス・スワッピング/オーバーライディング(Address Swapping/Overriding)のための命令語が追加されたファ−ムウェア,システムBIOSのINT13xHandlerの変更されたプログラム,オプションROMファームウェア,Windows OS上のフィルタードライバ又はリマッピングするアドレス及びサイズ(Size)をプログラムするコマンドインターフェース(Command Interface)などが保存される。
【0041】
また前記メモリー(105)にはBIOS(Basic Input/Output System)(108)を含む。
【0042】
前記BIOS ROMは別に構成されることもできる。
【0043】
前記BIOS ROMに保存されたROMBIOSはシステムを作動するオペレーティングシステム(OS)がシステムを制御するように,使用者命令によりシステム作動のための必要な初期環境を設定する。すなわちROM BIOSはシステムがターンオン(Turn on)以後に起動作動のためのプロセス(Process)を遂行する。
【0044】
本発明での前記リマッピングは, BIOS POSt作動の中でファンクションキーなどで第2OSブート起動を知らせることもできて,BIOSセットアップミニューにアドレスをスワッピングをするか,オーバーライディングをするかなどの選択を通じて可能である。
【0045】
図2はOS及びデータが保存されるハードディスクの内部構造を示した図面である。
【0046】
図面で見るところのように,1個のHDD(210)には複数個のシステムオペレーティングシステム(OS)(201)(202)が保存されている。
【0047】
前記複数個のオペレーティングシステムはお互いに異なるが,基本構造は同じである。したがって第1OS(201)の構造のみを利用して説明する。
【0048】
MBR(master boot record)(201a):パーティション情報と起動ファイルなどのアドレスがある。システム電源をつければこちらで起動ファイルアドレスを読んで,その場所に行って起動ファイルを読んで来てメモリーに登録させる。
【0049】
一般的に現在システムは起動ファイル読むアドレスが始めのアドレスでセッティングされてい電源をつける場合前記始めのアドレスの起動ファイルを読んでシステムを起動させる。
【0050】
したがって前記のような起動アドレスを読むプロセスが本発明のアドレス・リマッピングをする理由でもある。すなわち,アドレス・リマッピングを通じてシステムを作動させるための目標OS,例えば第2OS(202)の関連情報及びデータを始めのアドレス,例えば第1OS(201)位置に移動させる結果を持つようにできる。
【0051】
ブートレコーダ(201b):起動ファイルなどが保存されている。
【0052】
FAT(File Allocation Table)1又はNTFS 1(new technology file system)(201c):データを保存するクラスタ番号が書かれている。
【0053】
FAT 2(201d):FAT 1又はNTFS 1の複写本である。
【0054】
ルートディレクトリ(201e):ファイルの名前,大きさ,スタートセクター,ファイル属性などファイルに対する情報が入っている。スタートクラスター番号も保存された。
【0055】
データ保存空間(201f):実際にデータが保存された。
【0056】
図3の(a),(b)は発明のアドレス・リマッピング具現の一つの例として,アドレス・スワッピングを示した図面である。
【0057】
図3の(a)で見るところのように,1個のHDD Diskのアドレス(住所)には二つの領域(A領域(301),B領域(303))が存在して,各領域にはそれぞれお互いに異なるシステムオペレーティングシステム(OS),例えばA領域にはDOS,B領域にはWindowsが保存されている。
【0058】
またA領域の大きさ(Size)は100で,スタートアドレスは0である。したがってA領域は0-99 アドレスである。またB領域の大きさ(Size)は100で,スタートアドレスは1000である。したがってB領域は1000-1099アドレスである。
【0059】
前記アドレスの大きさは任意に設定したことで任意的な値である。前記のように構成され保存されたOS状態で,システム起動中又はOS作動中に使用者がアドレス・リマッピングのための制御命令,例えば予め定められたキー(ファンクションキーなど)入力又はセットアップミニューでの選択,によるスワッピングが遂行される。
【0060】
図3の(b)は図3の(a)のアドレス(住所)がスワッピングになった状態を示した図面である。
【0061】
アドレス・スワッピングを通じて図3(a)のB領域1000-1099 アドレスに保存されている第2OSの情報及びデータは,図3(b)のB領域0-99 アドレスに移動になる結果になる。すなわちシステムのアクセス(Access)側面で判断した時保存位置がかわった状態になるのである。
【0062】
一方,図3(a)のA領域0-99 アドレスに保存されている第1OSの情報及びデータは,図3(b)のB領域1000-1099 アドレスに移動される結果になる。
【0063】
前記のようなアドレス・スワッピングを通じて,アクセス側面で各OSのアドレス情報がお互いに変えて保存される形態になる。したがってスタートアドレスからリーディング(読み込み:Reading)できるように設定されたシステムにより使用者が目的とするOSを駆動させることができる。
【0064】
図4の(a),(b)は本発明のアドレス・リマッピング具現の一つの例として,アドレス・オーバーライディングを示した図面である。
【0065】
図4の(a)で見るところのように,1個のHDDDiskのアドレスには二つの領域(A領域(401),B領域(403))が存在して,各領域にはそれぞれお互いに異なるシステムオペレーティングシステム(OS),例えばA領域にはDOS,B領域にはWindowsが保存されている。
【0066】
またA領域の大きさ(Size)は100で,スタートアドレスは0である。
【0067】
したがってA領域は0-99 アドレスである。またB領域の大きさ(Size)は100で,スタートアドレスは1000である。したがってB領域は1000-1099アドレスである。
【0068】
前記アドレスの大きさは任意に設定したことで任意的なものである。前記のように構成されて保存されたOS状態で,システム起動中又はOS作動中に使用者がアドレス・リマッピングのための制御命令,例えば予め定められたキー(ファンクションキーなど)入力又はセットアップミニューでの選択によるオーバーライディングが遂行される。
【0069】
図4の(b)は図4の(a)のアドレスがオーバーライディングになった状態を示した図面である。
【0070】
アドレス・オーバーライディングを通じて図4の(a)のB領域1000-1099 アドレスに保存されている第2OSの情報及びデータは,図4(b)の第1B領域0-99 アドレス及び第2B領域1000-1099 アドレスに保存される。
【0071】
前記のようなアドレス・オーバーライディングを通じて作動しようとするOSの情報及びデータがそれぞれのアドレスに等しく保存されるようになる。したがってスタートアドレスからリーディング(Reading)できるように設定されたシステムにより使用者が目的とするOSを駆動させることができる。
【0072】
前記で言及された第1OSであるDOS,第2OSであるWindowsは一つの例として示したことであり,これを他のプログラムに変更して使うことは当然のことである。
【0073】
図5は本発明によるリマッピングが遂行されることを示した第1フロー図である。
【0074】
一つのハードディスク内のお互いに異なるアドレス(Address)にお互いに異なるオペレーティングシステム(OS)をそれぞれローディング(loading)する(S 501)。この時第1OSはスタートアドレスを始まりにして保存されている。したがってシステムは前記第1OSをリーディングして作動される(S 503)。
【0075】
前記第1OSによりシステムが作動中に,第2OSにより作動されるようにするために使用者の制御命令などが入力される場合(S 505),制御部の制御により作動されるOS情報がスタートアドレス位置に移動される結果になるようにアドレス・リマッピングを遂行する(S 507)。
【0076】
前記作動されるOSのアドレス情報位置変更はアドレス・スワッピング又はアドレス・オーバーライディングを通じて行われる。以後システムに基本作動に設定されたスタートアドレスをリーディングして(S 509),第2OSによりシステムを作動させる(S 511)。
【0077】
図6は本発明によるリマッピングが遂行されることを示した第2フロー図である。
【0078】
一つのハードディスク内のお互いに異なるアドレス(Address)にお互いに異なるオペレーティングシステム(OS)をそれぞれローディングする(S 601)。この時第1OSはスタートアドレスを始まりにして保存されている。したがってシステムは前記第1OSをリーディングして作動されるはずである。
【0079】
前記のように設定された状態で,第2OSにより作動されるようにするために使用者の制御命令などが入力される場合(S 603),制御部の制御により作動されるOS情報がスタートアドレス位置に移動される結果になるようにアドレス・リマッピングを遂行する(S 605)。
【0080】
前記作動になるOSのアドレス位置変更はアドレス・スワッピング又はアドレス・オーバーライディングを通じて行われる。以後システムに基本作動に設定されたスタートアドレスをリーディングして,第2OSによりシステムを作動させる(S 607)。
【0081】
一方,第1OSがスタートアドレスを始まりにして保存されている状態で,使用者の制御命令などが入力されない場合,システムは前記第1OSをリーディングして作動される(S 609)。
【0082】
前記の本発明を説明するのにおいてお互いに異なるOS使用の例を挙げ説明したが,OS以外他のプログラム使用にも適用可能で,また等しいプログラムを互いに異なるアドレスに保存して必要時,例えばシステム復旧時,アドレスリマッピングを通じて正常なプログラムをアクセス(Access)することもできるはずである。
【0083】
図7はアドレス・リマッピングのためのスワッピング及びオーバーライディングを示すフローチャートである。
【0084】
先に,互いに異なるアドレスに保存されたそれぞれのOSをスワッピングするのかどうかを判断して(S 701),スワッピングのための使用者制御命令などが入力される場合,A領域とB領域のアドレス・スワッピングを遂行する。
【0085】
先に,A領域に対するアドレスをスワッピングする場合,新しいアドレス(New Address)は次の数式により算出される。
[数式1]
New Address=Address - ADD_A + ADD_B
(Address:A領域のアドレス(0-99),ADD_A:A領域のスタートアドレスである0,ADD_B:B領域のスタートアドレスである1000)。
【0086】
したがって前記数式1によりA領域の0番地(Address)のスワッピングに対応される新しいアドレス(New Address)はB領域の1000番地(Address)になることであり,A領域の1O番地(Address)のスワッピングに対応される新しいアドレス(New Address)はB領域の1010番地(Address)になるはずである(S703,S 705)。
【0087】
一方,B領域に対するアドレスをスワッピングすれば,新しいアドレス(New address)は次の数式により算出される。
[数式2]
New Address = Address + ADD_A - ADD_B
【0088】
したがって前記数式2により,B領域の100O番地(Address)のスワッピングに対応される新しいアドレス(New Address)はA領域の0番地(Address)になることであり,B領域の101O番地(Address)のスワッピングに対応される新しい(New Address)はA領域の10番地(Address)になるはずである(S 707,S 709)。
【0089】
一方,アドレスをオーバーライディングする場合,B領域でオーバーライディングする場合には次の数式により新しいアドレス(NewAddress)が導出される。
[数式3]
New Address = Address + ADD_A - ADD_B
【0090】
したがって前記数式3により,B領域の100O番地(Address)のオーバーライディングに対応される新しいアドレス(New Address)はA領域の0番地(Address)になることであり,B領域の101O番地(Address)のオーバーライディングに対応される新しいアドレス(NewAddress)はA領域の10番地(Address)になるはずである(S 713,S 717)。
【0091】
前記数式の結果により導出された新しいアドレスを読んでシステムを起動させるようになる。
【0092】
図8,9及び10は本発明によるハードディスクをリマッピングするのに使われる命令語及び実行過程を示したファームウェアである。
【0093】
図面に示されたところのように,基本的に次の命令などの具現が必要である。
【0094】
SET PHYSICAL ADDRESS SWAP(Non Volatile:非揮発性):指定した二つのアドレス領域の接近(アクセス)を変える。ハードディスクドライブ・リセット(HDD Reset)あるいはプラットホーム(Platform)がかかった後,本設定は維持される。
【0095】
SET PHYSICAL ADDRESS SWAP-V(Volatile:揮発性):指定した二つのアドレス領域の接近を変える。HDD ResetあるいはPlatformにも本設定が保存されない。
【0096】
SET PHYSICAL ADDRESS Overriding(Non Volatile):特定領域の接近(アクセス)しようとする時,他の領域に接近するように再指向する。HDDResetあるいはPlatformがかかった後本設定は維持される。
【0097】
SET PHYSICAL ADDRESS Overriding-V(Volatile):特定領域の接近しようとする時,HDD ResetあるいはPlatformにも本設定が維持されない。
【0098】
先ず,図8a,8b,8c及び8dのスワッピング及びオーバーライディングを遂行するために設定された定数値である。
【0099】
図9はスワッピング及びオーバーライディングを遂行するための命令を非揮発性メモリーに初期化及びBIOSを呼び出す過程を示す。
【0100】
図面で見るところのように,次のようなスワッピング/オーバーライディング(SWAP/OVERRIDE)を遂行時,使われるパラメータ(PARAMETER)をNvRAMに初期化できて,BIOSを呼び出すことで次の番起動に適用される。
【0101】
BIOSの呼び出しはいろいろな方法が可能である。例えば使われないソフトウェアインターラプト(Software Interrupt)(例えばINT15 )を割り当てて使うとか,SMI Trap Serviceなどを登録して使うことができる。
【0102】
図10はBIOSのポスト過程又は起動過程で条件によってスワッピング及びオーバーライディングが遂行される過程を示す。
【0103】
またOpROM及びフィルタードライバ(Filter Driver)コードも前記のような構造を持つことで作成することができるはずである。
【0104】
図面で見るところのように,下記はシステムBIOSのポスト及びブート起動過程である。
【0105】
NvCondion及びNvEngagementが全て0ではない場合だけ,スワッピング及びオーバーライディングが発生して,それ以外の場合はノーマル(NORMAL)である。
【0106】
前記したところのように本発明は,お互いに異なる作動プログラムが搭載されたシステムでアドレス・リマッピングを通じて選択的にアクセスできるシステム作動制御装置及び方法に関することである。
【0107】
前記のように本発明で使われる用語は出来る限り現在広く使われる一般的な用語を選択したが,特定の場合は出願入が任意に選定した用語もありこれは該当する発明の説明部分で詳細にその意味を記載したので,単純な用語の名称ではない用語が持つ意味として本発明を把握しなければならないことを明らかにしておく。
【0108】
したがって本発明によれば,一つのハードディスク(Hard disk)でマルチブート起動(Multibooting)を具現しようとする場合,各OSのMBR情報を変更する必要なく,アドレス・リマッピングを通じてシステム作動を目的とするOSに関連する情報が使用者が設定した読み取りスタートアドレス位置に移動させることで,MBR情報の安全と一緒にシステム起動のエラーを防止することができる。
【0109】
また前述した本発明の望ましい実施形態は,例示の目的のために開示されたことで,当業者なら以下添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で,また他の多様な実施形態などを改良,変更,代替又は付加などが可能なはずである。
【図面の簡単な説明】
【0110】
【図1】本発明によってシステムの起動を制御する方法が適用される一般的なシステムの構成図である。
【図2】OS及びデータが保存されるハードディスクの内部構造を示した図である。
【図3】本発明のアドレス・リマッピングのアドレス・スワッピングされた状態を示した図である。
【図4】本発明のアドレス・リマッピングのアドレス・オーバーライディングされた状態を示した図である。
【図5】本発明によるリマッピングが遂行されることを示した第1フロー図である。
【図6】本発明によるリマッピングが遂行されることを示した第2フロー図である。
【図7】アドレス・リマッピングのためのスワッピング及びオーバーライディングを示したフロー図である。
【図8a】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図8b】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図8c】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図8d】スワッピング及びオーバーライディングを遂行するために設定された定数値を示す図である。
【図9】スワッピング及びオーバーライディングを遂行するための命令を非揮発性メモリーに初期化及びBIOSを呼び出す過程を示す図である。
【図10】BIOSのポスト過程又は起動過程で条件によってスワッピング及びオーバーライディングが遂行される過程を示す図である。
【符号の説明】
【0111】
101…制御部、102…フロッピーディスク/光学ディスクドライブ103…RAM、104…表示ユニット、105…フラッシュメモリ,106…入力ユニット107…ネットワークインターフェース、109…ハードディスクドライブ。
【特許請求の範囲】
【請求項1】
マルチ起動システムでのアドレスリマッピング(remapping)を遂行する方法において,
基本オペレーティングシステム(default operating system)及び非基本オペレーティングシステム(non-default OS)をメモリー媒体(medium)の一番目及び二番目アドレス(address)領域(region)にそれぞれ保存する段階と;
前記非基本オペレーティングシステムを示す選択を受信する段階と;
前記一番目アドレス領域範囲内の目的にされたアドレス(intended address)でデータをアクセスするための要求(request)を受信する段階と;
前記選択により二番目アドレス領域内のリマッピングされたアドレス(remappedaddress)を計算する段階と;
前記目的にされたアドレスでデータをアクセスするための要求をリマッピングアプリケーション(Remapping application)を利用して前記二番目アドレス領域内のリマッピングされたアドレスでデータをアクセスするための要求に変更する段階と
を含むことを特徴とするシステム作動制御方法。
【請求項2】
前記リマッピングされたアドレスでデータをアクセスするための要求を受信する段階と;
前記リマッピングされたアドレスでデータをアクセスするための要求を,前記リマッピングアプリケーションを利用して目的にされたアドレスでデータをアクセスするための要求に変更する段階と;
前記目的にされたアドレスでデータのアクセスを提供する段階と
を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項3】
前記リマッピングされたアドレスでデータをアクセスするための要求を受信する段階と;
前記リマッピングされたアドレスで前記要求されたデータのアクセスを提供する段階と
を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項4】
前記リマッピングされたアドレスは前記目的にされたアドレス及び前記一番目アドレス領域の始めのアドレスと前記二番目アドレス領域の始めのアドレス間のオフセットにより計算されられることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項5】
前記リマッピングアプリケーションはフィルタードライバーであることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項6】
前記選択により前記非基本オペレーティングシステム(non-default OS)を起動する段階を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項7】
前記メモリー媒体の三番目アドレスに代替オペレーティングシステム(alternate OS)を保存する段階を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項8】
前記選択は起動過程中に受信されることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項9】
前記選択は制御やメニュー選択又はキーパッド押さえを含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項10】
バイアス(BIOS)を利用して非基本オペレーティングシステムを起動する段階を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項11】
前記選択は使用者選択であることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項12】
前記選択は自動選択であることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項13】
マルチ起動が可能なシステムにおいて,
入力手段と;
互いに異なるオペレーティングシステムが保存されるメモリー手段と;
当該システムで起動作動になるように基本設定されたオペレーティングシステムと異なるオペレーティングシステムの使用により命令及び制御を少なくても一つ以上遂行する制御部と
で,前記制御部の判断によって各オペレーティングシステムのアドレスをリマッピングすることを特徴とするシステム作動制御装置。
【請求項14】
オペレーティングシステムのアドレスをリマッピングするためのプログラムが保存されるフラッシュメモリーを更に含むことを特徴とする請求項13に記載のシステム作動制御装置。
【請求項15】
互いに異なるオペレーティングシステムは同一メモリー内に保存されることを特徴とする請求項13に記載のシステム作動制御装置。
【請求項16】
互いに異なるオペレーティングシステムは同一メモリー内でお互いに異なるアドレスで各OSに対応されるMBR(Master Boot Recorder)情報を持つことを特徴とする請求項15に記載のシステム作動制御装置。
【請求項17】
アドレス・リマッピング(Address Remapping)はアドレス・スワッピング(Address Swapping)又はアドレス・オーバーライディング(AddressOverriding)を通じて遂行されることを特徴とする請求項13に記載のシステム作動制御装置。
【請求項1】
マルチ起動システムでのアドレスリマッピング(remapping)を遂行する方法において,
基本オペレーティングシステム(default operating system)及び非基本オペレーティングシステム(non-default OS)をメモリー媒体(medium)の一番目及び二番目アドレス(address)領域(region)にそれぞれ保存する段階と;
前記非基本オペレーティングシステムを示す選択を受信する段階と;
前記一番目アドレス領域範囲内の目的にされたアドレス(intended address)でデータをアクセスするための要求(request)を受信する段階と;
前記選択により二番目アドレス領域内のリマッピングされたアドレス(remappedaddress)を計算する段階と;
前記目的にされたアドレスでデータをアクセスするための要求をリマッピングアプリケーション(Remapping application)を利用して前記二番目アドレス領域内のリマッピングされたアドレスでデータをアクセスするための要求に変更する段階と
を含むことを特徴とするシステム作動制御方法。
【請求項2】
前記リマッピングされたアドレスでデータをアクセスするための要求を受信する段階と;
前記リマッピングされたアドレスでデータをアクセスするための要求を,前記リマッピングアプリケーションを利用して目的にされたアドレスでデータをアクセスするための要求に変更する段階と;
前記目的にされたアドレスでデータのアクセスを提供する段階と
を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項3】
前記リマッピングされたアドレスでデータをアクセスするための要求を受信する段階と;
前記リマッピングされたアドレスで前記要求されたデータのアクセスを提供する段階と
を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項4】
前記リマッピングされたアドレスは前記目的にされたアドレス及び前記一番目アドレス領域の始めのアドレスと前記二番目アドレス領域の始めのアドレス間のオフセットにより計算されられることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項5】
前記リマッピングアプリケーションはフィルタードライバーであることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項6】
前記選択により前記非基本オペレーティングシステム(non-default OS)を起動する段階を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項7】
前記メモリー媒体の三番目アドレスに代替オペレーティングシステム(alternate OS)を保存する段階を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項8】
前記選択は起動過程中に受信されることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項9】
前記選択は制御やメニュー選択又はキーパッド押さえを含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項10】
バイアス(BIOS)を利用して非基本オペレーティングシステムを起動する段階を更に含むことを特徴とする請求項1に記載のシステム作動制御方法。
【請求項11】
前記選択は使用者選択であることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項12】
前記選択は自動選択であることを特徴とする請求項1に記載のシステム作動制御方法。
【請求項13】
マルチ起動が可能なシステムにおいて,
入力手段と;
互いに異なるオペレーティングシステムが保存されるメモリー手段と;
当該システムで起動作動になるように基本設定されたオペレーティングシステムと異なるオペレーティングシステムの使用により命令及び制御を少なくても一つ以上遂行する制御部と
で,前記制御部の判断によって各オペレーティングシステムのアドレスをリマッピングすることを特徴とするシステム作動制御装置。
【請求項14】
オペレーティングシステムのアドレスをリマッピングするためのプログラムが保存されるフラッシュメモリーを更に含むことを特徴とする請求項13に記載のシステム作動制御装置。
【請求項15】
互いに異なるオペレーティングシステムは同一メモリー内に保存されることを特徴とする請求項13に記載のシステム作動制御装置。
【請求項16】
互いに異なるオペレーティングシステムは同一メモリー内でお互いに異なるアドレスで各OSに対応されるMBR(Master Boot Recorder)情報を持つことを特徴とする請求項15に記載のシステム作動制御装置。
【請求項17】
アドレス・リマッピング(Address Remapping)はアドレス・スワッピング(Address Swapping)又はアドレス・オーバーライディング(AddressOverriding)を通じて遂行されることを特徴とする請求項13に記載のシステム作動制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8a】
【図8b】
【図8c】
【図8d】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8a】
【図8b】
【図8c】
【図8d】
【図9】
【図10】
【公開番号】特開2008−16030(P2008−16030A)
【公開日】平成20年1月24日(2008.1.24)
【国際特許分類】
【出願番号】特願2007−175445(P2007−175445)
【出願日】平成19年7月3日(2007.7.3)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
【出願人】(502032105)エルジー エレクトロニクス インコーポレイティド (2,269)
【Fターム(参考)】
【公開日】平成20年1月24日(2008.1.24)
【国際特許分類】
【出願日】平成19年7月3日(2007.7.3)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
【出願人】(502032105)エルジー エレクトロニクス インコーポレイティド (2,269)
【Fターム(参考)】
[ Back to top ]