JP3945405B2 - Computer system and computer system boot device initialization method - Google Patents

Computer system and computer system boot device initialization method Download PDF

Info

Publication number
JP3945405B2
JP3945405B2 JP2003007298A JP2003007298A JP3945405B2 JP 3945405 B2 JP3945405 B2 JP 3945405B2 JP 2003007298 A JP2003007298 A JP 2003007298A JP 2003007298 A JP2003007298 A JP 2003007298A JP 3945405 B2 JP3945405 B2 JP 3945405B2
Authority
JP
Japan
Prior art keywords
bios
memory
routine
expansion
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003007298A
Other languages
Japanese (ja)
Other versions
JP2004220345A (en
Inventor
豊 蓑田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003007298A priority Critical patent/JP3945405B2/en
Publication of JP2004220345A publication Critical patent/JP2004220345A/en
Application granted granted Critical
Publication of JP3945405B2 publication Critical patent/JP3945405B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、拡張デバイスコントローラを有するコンピュータシステムにおいて、拡張BIOS(Basic Input Output System)による初期化時及びコンピュータシステムのブート時にメモリ消費量を低減するコンピュータシステム及びコンピュータシステムのブートデバイス初期化方法に関する。
【0002】
【従来の技術】
従来、コンピュータシステムをブートする場合、そのコンピュータシステムのCPUは、システムBIOSにより、コンピュータシステムを診断するとともに、初期設定を実行している。
また、コンピュータシステムが、オプションカードなどを接続するための拡張デバイスコントローラを有している場合、システムBIOSによって、これが認識され、その拡張デバイスコントローラが有する拡張BIOSによる初期化処理が、CPUにより実行される。
これによって、コンピュータシステムにその拡張デバイスコントローラが使用可能なものとして認識される。
【0003】
また、ブート用の拡張BIOSが実装されていない、又は拡張BIOSが実装されていてもブート機能のないボードがコンピュータに接続されていても、そのボードに接続されているデバイスをブートデバイスとして使用可能とするブートROM搭載ボードなどの提案も行われている(例えば、特許文献1参照。)。
【0004】
【特許文献1】
特開2002−149408号公報
【0005】
【発明が解決しようとする課題】
しかしながら、これらのような従来の技術によれば、拡張BIOS自体は、一つのモジュールで構成されているため、コンピュータシステムに複数の拡張デバイスコントローラが接続され、それぞれに拡張BIOSが保有されている場合には、多くのメモリを消費するという問題があった。
すなわち、これらすべての拡張BIOSが実行されるため、拡張デバイスの数が多くなると、コンピュータシステムの初期化時に、すべての拡張デバイスに対して診断・設定ができない場合が生じることがあった。
【0006】
また、無事に初期化を行うことができても、次にブートを実行するのに必要なメモリが不足する場合があった。
すなわち、従来の手段によれば、すべての拡張BIOSが実行されるため、不必要なランタイムルーチンが、メモリにおける拡張BIOSエリアに保有され、多くのメモリを消費していた。
これらの問題は、従来の技術によっては解決することのできないものであった。
【0007】
本発明は、上記の事情にかんがみなされたものであり、拡張BIOSを実行フェーズごとに分割したルーチンにより構成し、それぞれのルーチンをその動作が必要なときのみメモリ上にロードして実行することによって、拡張BIOSによる初期化時及びコンピュータシステムのブート時にメモリ消費量を低減するコンピュータシステム及びコンピュータシステムのブートデバイス初期化方法の提供を目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明の請求項1記載のコンピュータシステムは、CPU及びメモリを備え、ブート時に、システムBIOSが実行されるとともに、拡張BIOSが存在する場合には当該拡張BIOSが実行されるコンピュータシステムにおいて、対応する拡張デバイスをコントロールする一の拡張デバイスコントローラと、この拡張デバイスコントローラに対応して備えられる拡張BIOSと、を有し、拡張BIOSが、各実行フェーズに対応して個別に展開して実行されるルーチンに分割して実装され、当該拡張BIOSの実行時に、各実行フェーズに対応して必要となるルーチンのみがメモリ上の拡張BIOSエリアに展開され、各実行フェーズの終了とともに、展開されたルーチンがメモリ上から破棄され、展開されたルーチンがメモリ上から破棄された後に次に実行するフェーズに対応するルーチンのみがメモリにロードされる構成としてある。
【0009】
コンピュータシステムをこのような構成にすれば、そのブート時に、拡張BIOSを、例えば、初期化フェーズ、ブートフェーズといった実行フェーズごとに、個別にメモリに展開して実行することができる。
このため、動作に不必要なルーチンのコードがメモリを占拠することを防止し、メモリ消費量を低減することが可能となる。
【0010】
なお、コンピュータシステムの診断・設定とは、BIOSにおけるPOST(Power On Self Test)の実行内容を意味しており、具体的な内容は、一般的に、実行フェーズや、デバイスの種類、及びデバイスの状況等によって異なることが多い。
また、本明細書において、コードとは、コンピュータシステムの診断・設定を行うプログラムや各種設定情報等を意味し、ルーチンとは、必要なコードを複数まとめた集合体を意味するものとして用いている。
【0011】
また、コンピュータシステムをこのような構成にすれば、ブート時に、拡張BIOSを実行フェーズごとに個別にメモリに展開して実行することができることに加え、その実行フェーズのごとに使用済みのルーチンのコードをメモリから破棄することができるため、メモリ消費量を低減することが可能となる。
【0012】
本発明の請求項記載のコンピュータシステムは、拡張BIOSが、初期化ルーチン及びランタイムルーチンに、又は、初期化ルーチン、ステータスルーチン及びランタイムルーチンに分割して実装される構成としてある。
コンピュータシステムをこのような構成にすれば、拡張デバイスコントローラが保有する拡張BIOSを上記のような各ルーチンに分割することによって、それぞれ別個にメモリに展開実行することができるため、メモリ消費量を低減することが可能となる。
【0013】
本発明の請求項記載のコンピュータシステムは、拡張デバイスコントローラが複数備えられる場合に、拡張BIOSが、複数の拡張デバイスコントローラに対応して複数備えられ、複数の各拡張BIOSが、それぞれ、複数の実行フェーズに対応する複数のルーチンごとに分割して実装された構成としてある。
【0014】
コンピュータシステムをこのような構成にすれば、コンピュータシステムに複数の拡張デバイスコントローラが備えられ、これらの拡張BIOSが実行されることにより、従来はメモリが不足してすべての拡張デバイスに対する初期化を行うことができなかったような場合についても、拡張BIOSを機能ごとに分割し、それぞれの実行時のメモリ使用量を低減させることによって、その初期化を可能にすることができる。
【0015】
本発明の請求項記載のコンピュータシステムは、拡張デバイスコントローラが複数備えられる場合に、CPUが、ブート時に、システムBIOSの設定情報にもとづいて、ブートを実行するブートデバイスを決定するとともに、このブートデバイスに対応する拡張BIOSのランタイムルーチンをメモリに展開して実行し、他の拡張デバイスに対応する前記拡張BIOSのランタイムルーチンを前記メモリに展開しない構成としてある。
【0016】
コンピュータシステムをこのような構成にすれば、ブート実行時に、そのブートを行うためのブートデバイスを制御するランタイムルーチンのみを実行し、不必要なランタイムルーチンについては、メモリ上に展開して実行することを防止することができる。
このため、特にコンピュータシステムに複数の拡張デバイスコントローラが接続されている場合に、メモリ消費量を大きく低減することが可能となる。
【0017】
本発明の請求項記載のコンピュータシステムのブートデバイス初期化方法は、個別に展開して実行される、実行フェーズごとに分割したルーチンにより構成される拡張BIOSを備えた拡張デバイスコントローラと、システムBIOSと、これらを展開実行するためのエリアを有するメモリとを備えたコンピュータシステムのブートデバイス初期化方法であって、コンピュータシステムのCPUが、システムBIOSによる診断・設定を実行し、拡張BIOSの初期化ルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、この実行フェーズの終了とともに、当該展開したルーチンをメモリ上から破棄し、システムBIOSによる診断・設定を実行し、ブートを実行するためのブートデバイスを決定し、拡張BIOSのランタイムルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、ブートデバイスよりOSブートを行う方法としてある。
【0018】
従来は、ブートデバイスが決定される前に、初期化ルーチンに相当するコードとともに、ランタイムルーチンに相当するコードもメモリ上に展開されていた。
このため、すぐに実行されることのないコードや、あるいは結果的に実行されることのないコードが、メモリ上に保有され、多くのメモリを消費することとなっていた。
しかしながら、コンピュータシステムのブートデバイス初期化方法を上記のような方法にすれば、拡張BIOSを実行フェーズごとに展開し、実行することができるため、必要なルーチンを必要なタイミングで展開実行することが可能となり、メモリ消費量を低減させることが可能となる。
なお、本請求項の初期化ルーチンは、拡張デバイスコントローラの診断・設定機能と、拡張デバイス(ブートデバイス等)のステータスを取得する機能が含まれるものである。
【0019】
本発明の請求項記載のコンピュータシステムのブートデバイス初期化方法は、個別に展開して実行される、実行フェーズごとに分割したルーチンにより構成される拡張BIOSを備えた拡張デバイスコントローラと、システムBIOSと、これらを展開実行するためのエリアを有するメモリとを備えたコンピュータシステムのブートデバイス初期化方法であって、コンピュータシステムのCPUが、システムBIOSによる診断・設定を実行し、拡張BIOSの初期化ルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、この実行フェーズの終了とともに、当該展開したルーチンをメモリ上から破棄し、システムBIOSによる診断・設定を実行し、拡張BIOSのステータスルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、この実行フェーズの終了とともに、当該展開したルーチンをメモリ上から破棄し、システムBIOSによる診断・設定を実行し、ブートを実行するためのブートデバイスを決定し、拡張BIOSのランタイムルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、ブートデバイスよりOSブートを行う方法としてある。
【0020】
コンピュータシステムのブートデバイス初期化方法をこのような方法にすれば、拡張BIOSを、初期化ルーチン、ステータスルーチン、及びランタイムルーチンごとにそれぞれ必要なタイミングで、メモリ上に展開することができる。
このため、メモリの消費量を、各実行フェーズに必要最小限のものとすることができ、低減させることが可能となる。
また、コンピュータシステムが複数の拡張デバイスコントローラを有している場合には、実行されることのないランタイムルーチンをメモリ上に展開することを防止することもできるため、メモリ消費量を低減することが可能となる。
【0021】
【発明の実施の形態】
以下、本発明の実施形態につき、図面を参照して説明する。
[第一実施形態]
まず、本発明の第一実施形態について、図1を参照して説明する。同図は、本実施形態のコンピュータシステム1の構成を示すブロック図である。
【0022】
図1に示すように、本実施形態のコンピュータシステム1は、CPU10、システムBIOS20、メモリ30、拡張デバイスコントローラ40(40−1〜40−n)、ブートデバイス50(50−1〜50−n)、及びバス60を有している。
CPU10は、コンピュータシステムにおける各種装置の制御やデータ処理を実行するコンピュータの中枢であり、メモリ30からプログラムを読み込んで、解釈し、実行する。
【0023】
システムBIOS20は、電源オン時に起動されるハードウェアの初期設定や各ハードウェアの直接的な制御を行うプログラム、例えば、フレキシブルディスクの制御、チップセットのモード制御等を行うプログラムを格納するROMである。
このシステムBIOS20としては、例えば、EEPROMやフラッシュメモリ等を用いることができる。
メモリ30は、コンピュータシステムにおける主記憶装置であり、汎用的に使用されるものである。メモリ30は、その領域上の一部に、システムBIOS20が展開して実行されるシステムBIOSエリア31と、拡張BIOS41の各ルーチンが動作する拡張BIOSエリア32を有している。
【0024】
拡張デバイスコントローラ40は、コンピュータシステム1に拡張機能を付加するオプションカード等の機能を制御するものである。この拡張デバイスコントローラ40は、主としてオプションカード等がブート機能を有する場合に、それぞれ対応する拡張BIOS41(41−1〜41−n)を保有する。
また、この拡張デバイスコントローラ40は、オプションカードの種類に応じて専用のものとすることができる。例えば、オプションカードがSCSI(Small Computer System Interface)カードである場合は、SCSIカード用の拡張デバイスコントローラとすることができる。
拡張BIOS41は、拡張デバイスを制御するためのBIOSとして機能し、システムBIOS20に対して機能を追加する位置づけを有するものである。
【0025】
この拡張BIOS41は、それぞれ対応する初期化ルーチン41a(41a−1〜41a−n)、ステータスルーチン41b(41b−1〜41b−n)、及びランタイムルーチン41c(41c−1〜41c−n)を有している。
初期化ルーチン41aは、拡張デバイスコントローラ40の診断及び初期化(設定)を実行する機能を有する。また、ステータスルーチン41bのロード機能を有する。
【0026】
ステータスルーチン41bは、拡張デバイスコントローラ40に接続するブートデバイス50のステータスを診断し、必要な設定を行う。
このステータスとは、例えば、ブートデバイス50が拡張デバイスコントローラ40に接続されているかどうか、ブートデバイス50がブート機能を持っているかどうか、ブートデバイス50が有するデータのうち、どの部分からブートを実行するのか等を挙げることができる。
また、必要な設定とは、例えば、ブートデバイスを使用可能とする設定や、システムBIOS20側で管理するデータの設定等を意味する。
さらに、ステータスルーチン41bは、ランタイムルーチン41cのロード機能を有している。
【0027】
ランタイムルーチン41cは、拡張デバイスコントローラ40を制御するとともに、この拡張デバイスコントローラ40に接続されているデバイスを制御する。
さらに、ランタイムルーチン41cは、ブートデバイス50からシステムをブートするのに必要なコードを有している。
【0028】
ブートデバイス50は、コンピュータシステム1における拡張デバイスであり、拡張デバイスコントローラ40に接続されている。
本実施形態において、このブートデバイス50は、コンピュータシステム1が動作するために必要なOSやアプリケーションソフトウェア等を保有している。
また、コンピュータシステム1がブートするために必要な初期プログラムを有している。
このブートデバイス50としては、例えば、SCSIカード,LANカード,IDE(integrated device electronics)ハードディスク,シリコンデバイス等を挙げることができる。
バス60は、CPU10、システムBIOS20、メモリ30、及び拡張デバイスコントローラ40を接続する。
【0029】
次に、本実施形態のコンピュータシステム1における処理手順について、図2を参照して説明する。
同図は、本実施形態のコンピュータシステム1における処理手順を示すフローチャートである。
まず、CPU10は、システムBIOS20の初期診断コード(POST)を用いて、コンピュータシステム1の基本部分、例えば、CPU10やメモリ30等に対して診断・設定を実行する(ステップA1)。
システムBIOS20においては、一般に実行コードが圧縮して格納されている。また、必要に応じて、コンピュータシステム1の環境に合わせて一部のコードを自己変更する内容を有している。
このため、上記診断・設定において、この実行コードは、汎用メモリであるメモリ30のシステムBIOエリア31に展開コピーされ、CPU10によって実行される。
【0030】
次に、CPU10は、拡張デバイスコントローラ40の有無を確認し、この拡張デバイスコントローラ40が拡張BIOS41を有する場合に、拡張BIOS41内の初期化ルーチン41aを実行する(ステップA2)。
拡張BIOS41も、システムBIOS20の場合と同様にして、メモリ30の拡張BIOSエリア32で展開、コピーされて実行される。
この初期化ルーチン41aにより、拡張デバイスコントローラ40の診断・設定が実行され、ステータスルーチン41bのロード機能のみがメモリ30の拡張BIOSエリア32に設定される。
この際、拡張BIOSエリア32に展開されている初期化ルーチン41aの実行コードは、破棄される。以下のルーチンについても同様に、実行の終了にともなって、メモリ上から破棄される。
そして、CPU10は、拡張デバイスを含めたコンピュータシステム1の構成情報の設定をシステムBIOS20により実行する(ステップA3)。
このシステムBIOS20による診断・設定も、上述の初期診断コードの一部により実行される。また、以下におけるシステムBIOS20による診断・設定についても同様である。
【0031】
次に、CPU10は、拡張BIOS41のステータスルーチン41bを実行し、システムBIOS20は、拡張デバイスのステータスを取得する(ステップA4)。
この拡張デバイスのステータスとは、上述のように、例えば、コンピュータシステム1の構成情報として、拡張デバイスコントローラ40がブートデバイス50を有しているかどうかということなどの拡張デバイスの情報やブートに必要な情報等を挙げることができる。
また、ステータスルーチン41bの実行によって、デバイスアクセスのためのランタイムルーチン41cのロード機能のみが、メモリ30の拡張BIOSエリア32に設定される。
【0032】
そして、CPU10は、コンピュータシステム1に接続されているブートデバイス50についての診断及び初期設定を、システムBIOS20により実行する(ステップA5)。
これによって、コンピュータシステム1のブートデバイスとして、ブートデバイス50の選択が可能となり、ブートデバイス50のうちの一がシステムのブート先として決定される(ステップA6)。ここでは、仮にブートデバイス50−1が決定されたとする。
このとき、ブートデバイスの決定は、システムBIOS20の設定情報における順序にもとづいて行われ、先に決定されたブートデバイスによるブートが失敗すると、次の順番のブートデバイスがブート先のデバイスとして決定される。
【0033】
次に、このブートデバイス50−1に対応する制御コードとして、拡張BIOS41−1のランタイムルーチン41c−1が、拡張BIOSエリア32にロードされる(ステップA7)。
そして、コンピュータシステム1において、CPU10は、ランタイムルーチン41c−1を用いて、ブートデバイス50−1よりOSブートを実行する(ステップA8)。
このように、本発明によれば、実際にブートに必要なランタイムルーチンのみを、ブート時にメモリ上に展開して実行することができるため、不必要なコードがメモリ上に保有されることを防止することが可能となる。
【0034】
次に、本発明の特徴及び効果をより明確にするため、従来のコンピュータシステムにおけるデバイスの初期化について、図5及び図6を参照して説明する。図5は、従来のコンピュータシステム3の構成を示すブロック図であり、図6は、このコンピュータシステム3における処理手順を示すフローチャートである。
図5に示すように、従来のコンピュータシステム3における拡張デバイスコントローラ400(400−1〜400−n)の拡張BIOS410(410−1〜410−n)は、一つのモジュールとして構成されている。
【0035】
そして、図6に示すように、システムBIOS200の実行(ステップC1)によって、拡張デバイスコントローラ400が認識され、拡張BIOS410の存在が確認されると、この拡張BIOS410は、メモリ300の拡張BIOSエリア320に展開され、実行される(ステップC2)。
そして、ブートデバイスが決定され(ステップC6)、このブートデバイスよりOSブートが実行される(ステップC8)。
すなわち、この従来の処理手順においては、図2に示す本発明の第一実施形態のステップA3〜A5,及びA7に相当するステップが存在しない。
【0036】
このため、図5のように拡張デバイスコントローラ400が複数ある場合には、実際には実行されないものを含め、すべての拡張デバイスコントローラ400における拡張BIOSがメモリ300の拡張BIOSエリア320に展開される。
その結果、拡張BIOSエリア320が多く消費され、拡張デバイスの数が多くなるとコンピュータシステムの初期化時に、すべての拡張デバイスに対する診断・設定を実行することができなくなる場合があった。
また、診断・設定ができた場合であっても、すべての拡張BIOS410が実行されることから、拡張BIOSエリア320が不必要なランタイムによって消費され、コンピュータシステムの動作に必要なメモリが不足して、ブートが実行できない場合もあった。
【0037】
これに対して、以上説明したように、本実施形態のコンピュータシステムによれば、拡張BIOSを実行フェーズごとに必要なルーチンに分割しているので、コンピュータシステムの初期化時に、複数の拡張BIOSが展開実行された場合にも、システムメモリの使用量を最小限に抑えることができ、メモリ不足の発生を防止することが可能となる。
このため、初期化ができなくなる事態が生じることを抑制することが可能となる。
また、ブートフェーズにおいては、実際にブートに必要なランタイムルーチンのみを必要なタイミングで、メモリ上に展開して実行することができるため、特に複数の拡張デバイスコントローラがある場合に、メモリ消費量を大きく低減することが可能となる。
このため、メモリ不足によって、ブートができなくなることを回避することが可能となる。
【0038】
[第二実施形態]
次に、本発明の第二実施形態について、図3を参照して説明する。同図は、本実施形態のコンピュータシステム2の構成を示すブロック図である。
本実施形態におけるコンピュータシステム2は、拡張BIOSが、初期化ルーチンとランタイムルーチンにより構成される点で第一実施形態と異なる。
すなわち、図3において、拡張デバイスコントローラ70(70−1〜70−n)は、それぞれ対応する拡張BIOS71(71−1〜71−n)を有しており、この拡張BIOS71は、それぞれ対応する初期化ルーチン71a(71a−1〜71a−n)及びランタイムルーチン71c(71c−1〜71c−n)を有している。
また、それぞれの拡張デバイスコントローラ70に、対応するブートデバイス80(80−1〜80−n)が接続されている。
【0039】
本実施形態における初期化ルーチン71aは、図1における初期化ルーチン41aとステータスルーチン41bを統合した一つのモジュールとして構成することができる。
すなわち、本実施形態においては、システムBIOS20による動作をコンピュータシステムの診断及び構成チェック等と、ブート動作という大きく二つの動作フェーズに分類し、それぞれに合わせて拡張BIOSのルーチンを構成したものである。
コンピュータシステム2におけるその他の構成については、第一実施形態におけるものと同様であるため、その説明は省略する。
【0040】
次に、本実施形態のコンピュータシステム2における処理手順について、図4を参照して説明する。
同図は、本実施形態のコンピュータシステム2における処理手順を示すフローチャートである。
まず、CPU10は、システムBIOS20の初期診断コードを用いて、コンピュータシステム2の基本部分に対して診断・設定を実行する(ステップB1)。
【0041】
次に、CPU10は、拡張デバイスコントローラ70の有無を確認し、この拡張デバイスコントローラ70が拡張BIOS71を有する場合に、拡張BIOS71内の初期化ルーチン71aを実行する(ステップB2)。
このとき、CPU10は、拡張デバイスコントローラ70の診断及び各種設定を行うと同時に、システムBIOS20からの問い合わせに対して、ブートデバイス80についての情報をシステムBIOS20へ提供する。
すなわち、本実施形態におけるステップB2において、図2に示す第一実施形態のステップA2〜A4に相当する処理が、初期化ルーチン71aの実行により行われる。
これ以降の動作(ステップB5〜ステップB8)については、第一実施形態における動作(ステップA5〜ステップA8)と同様である。
【0042】
以上説明したように、本実施形態によれば、第一実施形態における初期化ルーチンによる処理及びステータスルーチンによる処理に相当する処理が、ステップB2において、まとめて実行されるため、その分のメモリ消費量は、第一実施形態に比較して増大するものの、このように拡張BIOSの機能を大きく2つの実行フェーズに分割した場合であっても、適切なランタイムルーチンのみを適切なタイミングで展開実行することが可能である。
このため、コンピュータシステムに拡張デバイスコントローラが多く接続されている場合などには、第一実施形態と同様に、メモリ消費量を大きく低減することが可能となる。
【0043】
なお、本発明は以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、上記実施形態では、拡張BIOSの機能を2つ又は3つに分割した例を示したが、より多くの機能に分割して、一層のメモリ低減を図るなど適宜変更することが可能である。
【0044】
【発明の効果】
以上のように、本発明によれば、拡張BIOSを実行フェーズごとに分割したルーチンにより構成し、それぞれのルーチンをその動作が必要なときのみメモリ上にロードして実行することができる。
このため、拡張BIOSによる初期化時及びコンピュータシステムのブート時にメモリ消費量を低減することが可能となる。
特に、コンピュータシステムが複数の拡張デバイスコントローラを有する場合には、ブートに必要なランタイムルーチンのみが適切なタイミングで、メモリ上に展開して実行されるため、メモリ消費量を大きく低減することが可能となる。
【図面の簡単な説明】
【図1】本発明の第一実施形態のコンピュータシステムの構成を示すブロック図である。
【図2】本発明の第一実施形態のコンピュータシステムにおける処理手順を示すフローチャートである。
【図3】本発明の第二実施形態のコンピュータシステムの構成を示すブロック図である。
【図4】本発明の第二実施形態のコンピュータシステムにおける処理手順を示すフローチャートである。
【図5】従来のコンピュータシステムの構成を示すブロック図である。
【図6】従来のコンピュータシステムにおける処理手順を示すフローチャートである。
【符号の説明】
1〜3 コンピュータシステム
10 CPU
20 システムBIOS
30 メモリ
31 システムBIOSエリア
32 拡張BIOSエリア
40(40−1〜40−n) 拡張デバイスコントローラ
41(41−1〜41−n) 拡張BIOS
41a(41a−1〜41a−n) 初期化ルーチン
41b(41b−1〜41b−n) ステータスルーチン
41c(41c−1〜41c−n) ランタイムルーチン
50(50−1〜50−n) ブートデバイス
60 バス
70(70−1〜70−n) 拡張デバイスコントローラ
71(71−1〜71−n) 拡張BIOS
71a(71a−1〜71a−n) 初期化ルーチン
71c(71c−1〜71c−n) ランタイムルーチン
80(80−1〜80−n) ブートデバイス
100 CPU
200 システムBIOS
300 メモリ
310 システムBIOSエリア
320 拡張BIOSエリア
400(400−1〜400−n) 拡張デバイスコントローラ
410(410−1〜410−n) 拡張BIOS
500(500−1〜500−n) ブートデバイス
600 バス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system and a boot device initialization method for a computer system that reduce memory consumption at the time of initialization by an extended BIOS (Basic Input Output System) and at the time of booting the computer system in a computer system having an expansion device controller.
[0002]
[Prior art]
Conventionally, when a computer system is booted, the CPU of the computer system diagnoses the computer system by the system BIOS and executes initial settings.
If the computer system has an expansion device controller for connecting an option card or the like, this is recognized by the system BIOS, and initialization processing by the expansion BIOS of the expansion device controller is executed by the CPU. The
As a result, the expansion device controller is recognized as being usable in the computer system.
[0003]
In addition, even if an expansion BIOS for booting is not installed, or a board that does not have a boot function even if an expansion BIOS is installed is connected to the computer, the device connected to that board can be used as a boot device A boot ROM mounted board is also proposed (for example, see Patent Document 1).
[0004]
[Patent Document 1]
JP 2002-149408 A
[0005]
[Problems to be solved by the invention]
However, according to the conventional techniques such as these, since the expansion BIOS itself is composed of one module, a plurality of expansion device controllers are connected to the computer system, and each has an expansion BIOS. Had the problem of consuming a lot of memory.
That is, since all these expansion BIOSes are executed, if the number of expansion devices increases, there are cases where diagnosis and setting cannot be performed for all expansion devices when the computer system is initialized.
[0006]
Even if the initialization can be performed safely, the memory required for executing the next boot may be insufficient.
In other words, according to the conventional means, since all the extended BIOS is executed, unnecessary runtime routines are held in the extended BIOS area in the memory and consume a lot of memory.
These problems cannot be solved by conventional techniques.
[0007]
The present invention has been considered in view of the above circumstances. The extended BIOS is composed of routines divided for each execution phase, and each routine is loaded on the memory and executed only when the operation is necessary. An object of the present invention is to provide a computer system and a boot device initialization method for a computer system that reduce memory consumption at the time of initialization by an extended BIOS and at the time of booting the computer system.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, a computer system according to claim 1 of the present invention comprises a CPU and a memory, and at the time of booting, the system BIOS is executed, and when the extended BIOS exists, the extended BIOS is executed. In the computer system, there is one expansion device controller that controls a corresponding expansion device, and an expansion BIOS provided for the expansion device controller, and the expansion BIOS individually corresponds to each execution phase. It is divided and implemented in routines that are expanded and executed, and only the routines required for each execution phase are expanded in the extended BIOS area in the memory when the extended BIOS is executed. At the end of each execution phase, the expanded routine is discarded from the memory, and only the routine corresponding to the phase to be executed next after the expanded routine is discarded from the memory is loaded into the memory. As a configuration.
[0009]
If the computer system has such a configuration, the extended BIOS can be individually expanded in a memory and executed for each execution phase such as an initialization phase and a boot phase at the time of booting.
For this reason, it is possible to prevent the routine code unnecessary for operation from occupying the memory, and to reduce the memory consumption.
[0010]
The diagnosis / setting of the computer system means the execution contents of POST (Power On Self Test) in the BIOS, and the specific contents are generally the execution phase, the device type, and the device It often varies depending on the situation.
In this specification, a code means a program for performing diagnosis / setting of a computer system, various setting information, and the like, and a routine is used to mean an aggregate of a plurality of necessary codes. .
[0011]
Also, With such a configuration of the computer system, the expanded BIOS can be individually expanded and executed for each execution phase at the time of booting, and the code of the used routine is stored in the memory for each execution phase. Therefore, it is possible to reduce the memory consumption.
[0012]
Claims of the invention 2 The described computer system is configured such that the extended BIOS is implemented by being divided into an initialization routine and a runtime routine, or divided into an initialization routine, a status routine and a runtime routine.
If the computer system is configured in this way, the expansion BIOS held by the expansion device controller can be divided into the above routines, so that each can be expanded and executed separately in the memory, thus reducing memory consumption. It becomes possible to do.
[0013]
Claims of the invention 3 In the described computer system, when a plurality of expansion device controllers are provided, a plurality of expansion BIOSes are provided corresponding to the plurality of expansion device controllers, and each of the plurality of expansion BIOSes corresponds to a plurality of execution phases. The configuration is divided and implemented for each routine.
[0014]
If the computer system has such a configuration, the computer system is provided with a plurality of expansion device controllers, and by executing these expansion BIOSes, conventionally, all the expansion devices are initialized due to insufficient memory. Even in a case where such a situation cannot be achieved, the expansion BIOS can be divided for each function, and the memory usage at the time of each execution can be reduced to enable initialization.
[0015]
Claims of the invention 4 In the computer system described above, when a plurality of expansion device controllers are provided, the CPU determines a boot device for executing boot based on the setting information of the system BIOS at the time of booting, and the expansion BIOS corresponding to the boot device. The runtime routine of the expansion BIOS is expanded and executed in the memory, and the runtime routine of the expansion BIOS corresponding to another expansion device is not expanded in the memory.
[0016]
If the computer system is configured in this way, only the run-time routines that control the boot device for booting are executed at the time of boot execution, and unnecessary run-time routines are expanded and executed in memory. Can be prevented.
For this reason, especially when a plurality of expansion device controllers are connected to the computer system, the memory consumption can be greatly reduced.
[0017]
Claims of the invention 5 The boot method initialization method for the described computer system is as follows: Deploy and run individually, A boot device initialization method for a computer system, comprising an extended device controller having an extended BIOS configured by a routine divided for each execution phase, a system BIOS, and a memory having an area for expanding and executing them. The CPU of the computer system executes diagnosis / setting by the system BIOS, and the extended BIOS initialization routine Only in the expanded BIOS area on the memory Run, At the end of this execution phase, the expanded routine is discarded from memory, Executes diagnosis / setting by the system BIOS, determines a boot device for executing the boot, and an extended BIOS runtime routine Only in the expanded BIOS area on the memory This is a method for executing and booting an OS from a boot device.
[0018]
Conventionally, before the boot device is determined, the code corresponding to the initialization routine and the code corresponding to the runtime routine are also expanded in the memory.
For this reason, a code that is not executed immediately or a code that is not executed as a result is held in the memory and consumes a lot of memory.
However, if the boot device initialization method of the computer system is set as described above, the expanded BIOS can be expanded and executed for each execution phase, so that necessary routines can be expanded and executed at a necessary timing. This makes it possible to reduce memory consumption.
The initialization routine of this claim includes a diagnostic / setting function of the expansion device controller and a function of acquiring the status of the expansion device (boot device or the like).
[0019]
Claims of the invention 6 The boot method initialization method for the described computer system is as follows: Deploy and run individually, A boot device initialization method for a computer system, comprising an extended device controller having an extended BIOS configured by a routine divided for each execution phase, a system BIOS, and a memory having an area for expanding and executing them. The CPU of the computer system executes diagnosis / setting by the system BIOS, and the extended BIOS initialization routine Only in the expanded BIOS area on the memory Run, At the end of this execution phase, the expanded routine is discarded from memory, Diagnosis and setting by system BIOS, status routine of expansion BIOS Only in the expanded BIOS area on the memory Run, At the end of this execution phase, the expanded routine is discarded from memory, Executes diagnosis / setting by the system BIOS, determines a boot device for executing the boot, and an extended BIOS runtime routine Only in the expanded BIOS area on the memory This is a method for executing and booting an OS from a boot device.
[0020]
If the boot device initialization method of the computer system is such a method, the extended BIOS can be expanded on the memory at a necessary timing for each of the initialization routine, the status routine, and the runtime routine.
For this reason, the memory consumption can be reduced to the minimum necessary for each execution phase, and can be reduced.
In addition, when the computer system has a plurality of expansion device controllers, it is possible to prevent a runtime routine that will not be executed from being expanded in the memory, thereby reducing memory consumption. It becomes possible.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[First embodiment]
First, a first embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the computer system 1 of the present embodiment.
[0022]
As shown in FIG. 1, the computer system 1 of this embodiment includes a CPU 10, a system BIOS 20, a memory 30, an expansion device controller 40 (40-1 to 40-n), and a boot device 50 (50-1 to 50-n). And a bus 60.
The CPU 10 is the center of a computer that executes control of various devices and data processing in the computer system, reads a program from the memory 30, interprets it, and executes it.
[0023]
The system BIOS 20 is a ROM that stores a program that performs initial setting of hardware that is activated when the power is turned on and direct control of each hardware, for example, a program that performs control of a flexible disk, mode control of a chipset, and the like. .
For example, an EEPROM or a flash memory can be used as the system BIOS 20.
The memory 30 is a main storage device in the computer system and is used for general purposes. The memory 30 has a system BIOS area 31 in which the system BIOS 20 is expanded and executed, and an extended BIOS area 32 in which each routine of the extended BIOS 41 operates in a part of the area.
[0024]
The expansion device controller 40 controls functions such as an option card that adds an expansion function to the computer system 1. The expansion device controller 40 has corresponding expansion BIOS 41 (41-1 to 41-n), respectively, mainly when an option card or the like has a boot function.
The expansion device controller 40 can be dedicated according to the type of option card. For example, when the option card is a SCSI (Small Computer System Interface) card, it can be an expansion device controller for a SCSI card.
The expansion BIOS 41 functions as a BIOS for controlling the expansion device, and has a position of adding a function to the system BIOS 20.
[0025]
The extended BIOS 41 has a corresponding initialization routine 41a (41a-1 to 41a-n), status routine 41b (41b-1 to 41b-n), and runtime routine 41c (41c-1 to 41c-n). is doing.
The initialization routine 41a has a function of executing diagnosis and initialization (setting) of the expansion device controller 40. It also has a load function for the status routine 41b.
[0026]
The status routine 41b diagnoses the status of the boot device 50 connected to the expansion device controller 40 and makes necessary settings.
This status refers to, for example, whether the boot device 50 is connected to the expansion device controller 40, whether the boot device 50 has a boot function, and from which part of the data that the boot device 50 has to execute booting. Or the like.
The necessary setting means, for example, a setting for enabling the boot device, a setting of data managed on the system BIOS 20 side, and the like.
Further, the status routine 41b has a load function of the runtime routine 41c.
[0027]
The runtime routine 41 c controls the expansion device controller 40 and also controls devices connected to the expansion device controller 40.
Furthermore, the runtime routine 41 c has code necessary for booting the system from the boot device 50.
[0028]
The boot device 50 is an expansion device in the computer system 1 and is connected to the expansion device controller 40.
In this embodiment, the boot device 50 has an OS, application software, and the like necessary for the computer system 1 to operate.
The computer system 1 also has an initial program necessary for booting.
Examples of the boot device 50 include a SCSI card, a LAN card, an IDE (integrated device electronics) hard disk, a silicon device, and the like.
The bus 60 connects the CPU 10, the system BIOS 20, the memory 30, and the expansion device controller 40.
[0029]
Next, a processing procedure in the computer system 1 of the present embodiment will be described with reference to FIG.
FIG. 3 is a flowchart showing a processing procedure in the computer system 1 of the present embodiment.
First, the CPU 10 uses the initial diagnostic code (POST) of the system BIOS 20 to execute diagnosis / setting for a basic part of the computer system 1, for example, the CPU 10 and the memory 30 (step A1).
In the system BIOS 20, the execution code is generally compressed and stored. Moreover, it has the content which self-changes some codes according to the environment of the computer system 1 as needed.
Therefore, in the above diagnosis / setting, the execution code is expanded and copied to the system BIO area 31 of the memory 30 which is a general-purpose memory, and is executed by the CPU 10.
[0030]
Next, the CPU 10 confirms the presence or absence of the expansion device controller 40. If the expansion device controller 40 has the expansion BIOS 41, the CPU 10 executes an initialization routine 41a in the expansion BIOS 41 (step A2).
The expansion BIOS 41 is also expanded and copied in the expansion BIOS area 32 of the memory 30 and executed in the same manner as in the system BIOS 20.
By this initialization routine 41a, diagnosis / setting of the expansion device controller 40 is executed, and only the load function of the status routine 41b is set in the expansion BIOS area 32 of the memory 30.
At this time, the execution code of the initialization routine 41a developed in the extended BIOS area 32 is discarded. Similarly, the following routines are discarded from the memory upon completion of execution.
Then, the CPU 10 uses the system BIOS 20 to set the configuration information of the computer system 1 including the expansion device (step A3).
The diagnosis / setting by the system BIOS 20 is also executed by a part of the initial diagnosis code described above. The same applies to diagnosis and setting by the system BIOS 20 in the following.
[0031]
Next, the CPU 10 executes the status routine 41b of the expansion BIOS 41, and the system BIOS 20 acquires the status of the expansion device (step A4).
As described above, the status of the expansion device is, for example, information on the expansion device such as whether or not the expansion device controller 40 has the boot device 50 as configuration information of the computer system 1 and is necessary for booting. Information etc. can be mentioned.
Further, only the load function of the runtime routine 41c for device access is set in the extended BIOS area 32 of the memory 30 by executing the status routine 41b.
[0032]
Then, the CPU 10 executes diagnosis and initial setting for the boot device 50 connected to the computer system 1 by the system BIOS 20 (step A5).
As a result, the boot device 50 can be selected as the boot device of the computer system 1, and one of the boot devices 50 is determined as the boot destination of the system (step A6). Here, it is assumed that the boot device 50-1 is determined.
At this time, the boot device is determined based on the order in the setting information of the system BIOS 20, and if booting by the previously determined boot device fails, the boot device in the next order is determined as the boot destination device. .
[0033]
Next, the runtime routine 41c-1 of the extended BIOS 41-1 is loaded into the extended BIOS area 32 as a control code corresponding to this boot device 50-1 (step A7).
In the computer system 1, the CPU 10 executes the OS boot from the boot device 50-1 using the runtime routine 41c-1 (step A8).
As described above, according to the present invention, since only a runtime routine actually required for booting can be expanded and executed on the memory at the time of booting, unnecessary code is prevented from being held in the memory. It becomes possible to do.
[0034]
Next, in order to clarify the features and effects of the present invention, device initialization in a conventional computer system will be described with reference to FIGS. FIG. 5 is a block diagram showing a configuration of a conventional computer system 3, and FIG. 6 is a flowchart showing a processing procedure in the computer system 3.
As shown in FIG. 5, the expansion BIOS 410 (410-1 to 410-n) of the expansion device controller 400 (400-1 to 400-n) in the conventional computer system 3 is configured as one module.
[0035]
As shown in FIG. 6, when the expansion device controller 400 is recognized by the execution of the system BIOS 200 (step C <b> 1) and the presence of the expansion BIOS 410 is confirmed, the expansion BIOS 410 is stored in the expansion BIOS area 320 of the memory 300. Expanded and executed (step C2).
Then, the boot device is determined (step C6), and the OS boot is executed from this boot device (step C8).
That is, in this conventional processing procedure, there are no steps corresponding to steps A3 to A5 and A7 of the first embodiment of the present invention shown in FIG.
[0036]
Therefore, when there are a plurality of expansion device controllers 400 as shown in FIG. 5, the expansion BIOS in all expansion device controllers 400 including those that are not actually executed is expanded in the expansion BIOS area 320 of the memory 300.
As a result, when the expansion BIOS area 320 is consumed in a large amount and the number of expansion devices increases, it may not be possible to execute diagnosis / setting for all expansion devices when the computer system is initialized.
Even if the diagnosis / setting can be performed, since all the extended BIOS 410 is executed, the extended BIOS area 320 is consumed by an unnecessary runtime, and the memory required for the operation of the computer system is insufficient. In some cases, boot could not be executed.
[0037]
On the other hand, as described above, according to the computer system of this embodiment, since the extended BIOS is divided into necessary routines for each execution phase, when the computer system is initialized, a plurality of extended BIOSes are included. Even when the expansion is executed, the usage amount of the system memory can be minimized, and occurrence of a memory shortage can be prevented.
For this reason, it becomes possible to suppress the situation where initialization cannot be performed.
Also, in the boot phase, only the runtime routines that are actually required for booting can be expanded and executed on the memory at the required timing, so the memory consumption can be reduced especially when there are multiple expansion device controllers. It can be greatly reduced.
For this reason, it becomes possible to avoid that it becomes impossible to boot due to insufficient memory.
[0038]
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the computer system 2 of the present embodiment.
The computer system 2 in this embodiment is different from the first embodiment in that the extended BIOS is configured by an initialization routine and a runtime routine.
In other words, in FIG. 3, each of the expansion device controllers 70 (70-1 to 70-n) has a corresponding expansion BIOS 71 (71-1 to 71-n). And a run-time routine 71c (71c-1 to 71c-n).
Corresponding boot devices 80 (80-1 to 80-n) are connected to the respective expansion device controllers 70.
[0039]
The initialization routine 71a in the present embodiment can be configured as one module in which the initialization routine 41a and the status routine 41b in FIG. 1 are integrated.
In other words, in the present embodiment, the operation performed by the system BIOS 20 is classified into two main operation phases such as diagnosis and configuration check of the computer system and boot operation, and the routine of the extended BIOS is configured according to each.
Since other configurations in the computer system 2 are the same as those in the first embodiment, the description thereof is omitted.
[0040]
Next, a processing procedure in the computer system 2 of the present embodiment will be described with reference to FIG.
FIG. 3 is a flowchart showing a processing procedure in the computer system 2 of the present embodiment.
First, the CPU 10 executes diagnosis / setting for the basic part of the computer system 2 using the initial diagnosis code of the system BIOS 20 (step B1).
[0041]
Next, the CPU 10 confirms the presence or absence of the expansion device controller 70, and executes an initialization routine 71a in the expansion BIOS 71 when the expansion device controller 70 has the expansion BIOS 71 (step B2).
At this time, the CPU 10 performs diagnosis and various settings of the expansion device controller 70 and simultaneously provides information about the boot device 80 to the system BIOS 20 in response to an inquiry from the system BIOS 20.
That is, in step B2 in the present embodiment, processing corresponding to steps A2 to A4 in the first embodiment shown in FIG. 2 is performed by executing the initialization routine 71a.
About subsequent operation | movement (step B5-step B8), it is the same as that of operation | movement (step A5-step A8) in 1st embodiment.
[0042]
As described above, according to the present embodiment, the processing corresponding to the processing by the initialization routine and the processing by the status routine in the first embodiment are executed together in step B2, and thus the memory consumption for that amount is performed. Although the amount increases as compared with the first embodiment, even when the function of the extended BIOS is largely divided into two execution phases as described above, only an appropriate runtime routine is expanded and executed at an appropriate timing. It is possible.
For this reason, when many expansion device controllers are connected to the computer system, the memory consumption can be greatly reduced as in the first embodiment.
[0043]
In addition, this invention is not limited to the above embodiment, It cannot be overemphasized that a various change implementation is possible within the scope of the present invention.
For example, in the above-described embodiment, the example in which the function of the extended BIOS is divided into two or three has been described. However, the function can be changed as appropriate by dividing the function into more functions to further reduce the memory. .
[0044]
【The invention's effect】
As described above, according to the present invention, the extended BIOS is configured by routines divided for each execution phase, and each routine can be loaded into the memory and executed only when the operation is necessary.
For this reason, it is possible to reduce memory consumption at the time of initialization by the extended BIOS and at the time of booting the computer system.
In particular, when a computer system has a plurality of expansion device controllers, only the runtime routines necessary for booting are executed on the memory at an appropriate timing, so that the memory consumption can be greatly reduced. It becomes.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to a first embodiment of this invention.
FIG. 2 is a flowchart showing a processing procedure in the computer system according to the first embodiment of the present invention.
FIG. 3 is a block diagram illustrating a configuration of a computer system according to a second embodiment of this invention.
FIG. 4 is a flowchart showing a processing procedure in the computer system according to the second embodiment of the present invention.
FIG. 5 is a block diagram showing a configuration of a conventional computer system.
FIG. 6 is a flowchart showing a processing procedure in a conventional computer system.
[Explanation of symbols]
1-3 Computer system
10 CPU
20 System BIOS
30 memory
31 System BIOS area
32 Extended BIOS area
40 (40-1 to 40-n) expansion device controller
41 (41-1 to 41-n) Extended BIOS
41a (41a-1 to 41a-n) initialization routine
41b (41b-1 to 41b-n) status routine
41c (41c-1 to 41c-n) Runtime routine
50 (50-1 to 50-n) boot device
60 bus
70 (70-1 to 70-n) expansion device controller
71 (71-1 to 71-n) Extended BIOS
71a (71a-1 to 71a-n) Initialization routine
71c (71c-1 to 71c-n) Runtime routine
80 (80-1 to 80-n) boot device
100 CPU
200 System BIOS
300 memory
310 System BIOS area
320 Extended BIOS area
400 (400-1 to 400-n) expansion device controller
410 (410-1 to 410-n) Extended BIOS
500 (500-1 to 500-n) boot device
600 buses

Claims (6)

CPU及びメモリを備え、ブート時に、システムBIOSが実行されるとともに、拡張BIOSが存在する場合には当該拡張BIOSが実行されるコンピュータシステムにおいて、
対応する拡張デバイスをコントロールする一の拡張デバイスコントローラと、
この拡張デバイスコントローラに対応して備えられる拡張BIOSと、を有し、
前記拡張BIOSが、各実行フェーズに対応して個別に展開して実行されるルーチンに分割して実装され、当該拡張BIOSの実行時に、各実行フェーズに対応して必要となるルーチンのみがメモリ上の拡張BIOSエリアに展開され
前記各実行フェーズの終了とともに、前記展開されたルーチンが前記メモリ上から破棄され、前記展開されたルーチンが前記メモリ上から破棄された後に次に実行するフェーズに対応するルーチンのみが前記メモリにロードされる
ことを特徴とするコンピュータシステム。
In a computer system that includes a CPU and a memory, the system BIOS is executed at the time of booting, and the extended BIOS is executed when the extended BIOS exists.
One expansion device controller that controls the corresponding expansion device,
An expansion BIOS provided corresponding to the expansion device controller,
The extended BIOS is divided and mounted in routines that are individually expanded and executed corresponding to each execution phase, and only the routines that are necessary for each execution phase are stored in the memory when the extended BIOS is executed. the deployment of the extended BIOS area,
At the end of each execution phase, the expanded routine is discarded from the memory, and only the routine corresponding to the phase to be executed next after the expanded routine is discarded from the memory is loaded into the memory. computer system characterized in that it is.
前記拡張BIOSが、初期化ルーチン及びランタイムルーチンに、又は、初期化ルーチン、ステータスルーチン及びランタイムルーチンに分割して実装される
ことを特徴とする請求項記載のコンピュータシステム。
The expansion BIOS is the initialization routine and runtime routines, or computer system according to claim 1, characterized in that it is implemented by dividing initialization routine, the status routine and runtime routines.
前記拡張デバイスコントローラが複数備えられる場合に、
前記拡張BIOSが、複数の拡張デバイスコントローラに対応して複数備えられ、複数の各拡張BIOSが、それぞれ、複数の実行フェーズに対応する複数のルーチンごとに分割して実装された
ことを特徴とする請求項1又は2記載のコンピュータシステム。
When a plurality of the expansion device controllers are provided,
A plurality of expansion BIOSes are provided corresponding to a plurality of expansion device controllers, and each of the plurality of expansion BIOSes is divided and implemented for each of a plurality of routines corresponding to a plurality of execution phases. The computer system according to claim 1 or 2 .
前記拡張デバイスコントローラが複数備えられる場合に、
前記CPUが、ブート時に、前記システムBIOSの設定情報にもとづいて、ブートを実行するブートデバイスを決定するとともに、このブートデバイスに対応する前記拡張BIOSのランタイムルーチンを前記メモリに展開して実行し、他の拡張デバイスに対応する前記拡張BIOSのランタイムルーチンを前記メモリに展開しない
ことを特徴とする請求項1〜のいずれかに記載のコンピュータシステム。
When a plurality of the expansion device controllers are provided,
The CPU determines a boot device for executing the boot based on the setting information of the system BIOS at the time of booting, expands and executes the runtime routine of the extended BIOS corresponding to the boot device in the memory, The computer system according to any one of claims 1 to 3 , wherein a runtime routine of the expansion BIOS corresponding to another expansion device is not expanded in the memory.
個別に展開して実行される、実行フェーズごとに分割したルーチンにより構成される拡張BIOSを備えた拡張デバイスコントローラと、システムBIOSと、これらを展開実行するためのエリアを有するメモリとを備えたコンピュータシステムのブートデバイス初期化方法であって、
前記コンピュータシステムのCPUが、
前記システムBIOSによる診断・設定を実行し、
前記拡張BIOSの初期化ルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、この実行フェーズの終了とともに、当該展開したルーチンを前記メモリ上から破棄し、
前記システムBIOSによる診断・設定を実行し、
ブートを実行するためのブートデバイスを決定し、
前記拡張BIOSのランタイムルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、
前記ブートデバイスよりOSブートを行う
ことを特徴とするコンピュータシステムのブートデバイス初期化方法。
A computer including an expansion device controller having an expansion BIOS configured by a routine divided for each execution phase , which is individually expanded and executed , a system BIOS, and a memory having an area for expanding and executing them A system boot device initialization method comprising:
A CPU of the computer system,
Execute diagnosis and setting by the system BIOS,
Only the expansion BIOS initialization routine is expanded and executed in the expansion BIOS area on the memory, and at the end of this execution phase, the expanded routine is discarded from the memory.
Execute diagnosis and setting by the system BIOS,
Determine the boot device to perform the boot,
Only the extended BIOS runtime routine is expanded and executed in the extended BIOS area on the memory;
A boot device initialization method for a computer system, wherein an OS boot is performed from the boot device.
個別に展開して実行される、実行フェーズごとに分割したルーチンにより構成される拡張BIOSを備えた拡張デバイスコントローラと、システムBIOSと、これらを展開実行するためのエリアを有するメモリとを備えたコンピュータシステムのブートデバイス初期化方法であって、
前記コンピュータシステムのCPUが、
前記システムBIOSによる診断・設定を実行し、
前記拡張BIOSの初期化ルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、この実行フェーズの終了とともに、当該展開したルーチンを前記メモリ上から破棄 し、
前記システムBIOSによる診断・設定を実行し、
前記拡張BIOSのステータスルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、この実行フェーズの終了とともに、当該展開したルーチンを前記メモリ上から破棄し、
前記システムBIOSによる診断・設定を実行し、
ブートを実行するためのブートデバイスを決定し、
前記拡張BIOSのランタイムルーチンのみをメモリ上の拡張BIOSエリアに展開して実行し、
前記ブートデバイスよりOSブートを行う
ことを特徴とするコンピュータシステムのブートデバイス初期化方法。
A computer including an expansion device controller having an expansion BIOS configured by a routine divided for each execution phase , which is individually expanded and executed , a system BIOS, and a memory having an area for expanding and executing them A system boot device initialization method comprising:
A CPU of the computer system,
Execute diagnosis and setting by the system BIOS,
Only the expansion BIOS initialization routine is expanded and executed in the expansion BIOS area on the memory, and at the end of this execution phase, the expanded routine is discarded from the memory .
Execute diagnosis and setting by the system BIOS,
Only the expanded BIOS status routine is expanded and executed in the expanded BIOS area on the memory, and at the end of this execution phase, the expanded routine is discarded from the memory.
Execute diagnosis and setting by the system BIOS,
Determine the boot device to perform the boot,
Only the extended BIOS runtime routine is expanded and executed in the extended BIOS area on the memory;
A boot device initialization method for a computer system, wherein an OS boot is performed from the boot device.
JP2003007298A 2003-01-15 2003-01-15 Computer system and computer system boot device initialization method Expired - Fee Related JP3945405B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003007298A JP3945405B2 (en) 2003-01-15 2003-01-15 Computer system and computer system boot device initialization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003007298A JP3945405B2 (en) 2003-01-15 2003-01-15 Computer system and computer system boot device initialization method

Publications (2)

Publication Number Publication Date
JP2004220345A JP2004220345A (en) 2004-08-05
JP3945405B2 true JP3945405B2 (en) 2007-07-18

Family

ID=32897439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003007298A Expired - Fee Related JP3945405B2 (en) 2003-01-15 2003-01-15 Computer system and computer system boot device initialization method

Country Status (1)

Country Link
JP (1) JP3945405B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4616451B2 (en) 2000-09-22 2011-01-19 株式会社小森コーポレーション Print quality inspection device
CN102177499B (en) * 2008-10-08 2014-12-17 惠普开发有限公司 Firmware storage medium with customized image
JP2014531099A (en) * 2011-10-28 2014-11-20 インテル・コーポレーション Switching operating context
JP5700223B2 (en) * 2012-08-01 2015-04-15 株式会社安川電機 Control device

Also Published As

Publication number Publication date
JP2004220345A (en) 2004-08-05

Similar Documents

Publication Publication Date Title
EP3491519B1 (en) Optimized uefi reboot process
US10613773B2 (en) Backing up firmware during initialization of device
JP6124994B2 (en) Method and system for restoring from legacy OS environment to Unified Extensible Firmware Interface (UEFI) pre-boot environment, and computer program
EP1873638A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
JP2020149690A (en) Vehicle system, vehicle, and method for operating such vehicle system
JP5048526B2 (en) Computer system and legacy boot method for the computer system
JP5270377B2 (en) Platform boot with bridge support
JPH06324849A (en) Method and system for activation of operating system environment
US7159105B2 (en) Platform-based optimization routines provided by firmware of a computer system
JP2008524730A (en) Switching method of computer multi-operating system
JP2002268900A (en) Mechanism for safely performing system firmware update in logically partitioned (lpar) machine
CN111176739A (en) System starting method, device, equipment and storage medium
US7484083B1 (en) Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
JP3945405B2 (en) Computer system and computer system boot device initialization method
US20030041271A1 (en) Reporting and handling multiple platform variants
JP3390566B2 (en) Program loading method
JP4791792B2 (en) Digital signal processor system and boot method thereof.
JP2002318703A (en) Control system
JP2011059787A (en) Digital signal processor system and starting method for digital signal processor
CN114385255B (en) POS machine control method, POS machine control system, POS machine control device and computer readable medium
JPH07281986A (en) Extended board, information processor using the same and control method for peripheral device
CN113867825B (en) Multi-system operation method, computing equipment and storage medium
JP2692645B2 (en) Expansion unit drive method
JP2521020B2 (en) Information processing system
JP2008225710A (en) Computer system and process-switching method used in the system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070402

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees