JP5343489B2 - コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム - Google Patents

コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム Download PDF

Info

Publication number
JP5343489B2
JP5343489B2 JP2008250307A JP2008250307A JP5343489B2 JP 5343489 B2 JP5343489 B2 JP 5343489B2 JP 2008250307 A JP2008250307 A JP 2008250307A JP 2008250307 A JP2008250307 A JP 2008250307A JP 5343489 B2 JP5343489 B2 JP 5343489B2
Authority
JP
Japan
Prior art keywords
legacy
storage device
legacy storage
storage
application
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
JP2008250307A
Other languages
English (en)
Other versions
JP2010079821A (ja
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 JP2008250307A priority Critical patent/JP5343489B2/ja
Publication of JP2010079821A publication Critical patent/JP2010079821A/ja
Application granted granted Critical
Publication of JP5343489B2 publication Critical patent/JP5343489B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を有するコンピュータシステムに関し、特に、多様なレガシーストレージデバイスを汎用的にエミュレーションできる、コンピュータシステム、レガシーアプリケーション実行方法、およびプログラムに関する。
近年のコンピュータシステムにおいて、旧来から使用されてきたいわゆるレガシーデバイス(legacy device)はシステムから削除される傾向にある。この一因に、例えば、フロッピー(登録商標)ディスクと呼ばれるフレキシブルディスクを駆動するフレキシブルディスクドライブ等のレガシーデバイスそのものの入手が難しくなりつつあるということが上げられる。(なお、以下の説明では、フレキシブルディスクドライブを、単に「FDD」、フレキシブルディスクを、単に、「FD」と呼ぶことがある。)
一方で、コンピュータシステムのメンテナンスツールにおいては、いまだにレガシーデバイスからブートを行うツールが多数存在している。このようなツールは、その製品寿命の長さや開発コスト等の理由により、レガシーデバイスを前提としない新しいツールの開発が難しいものが存在する。
これらのツールを実行するために、ネットワークカードを利用してレガシーデバイスをエミュレーションする方法、例えば、PXE(Preboot eXecution Environment)が広く使用されている。しかし、この方法ではネットワーク上にネットワークブートに対応したサーバの設置や設定が必要であり、またエミュレーションできるデバイスが限られるという問題があった。
なお、従来技術のコンピュータ装置がある(特許文献1を参照)。
この特許文献1のコンピュータ装置は、フロッピー(登録商標)ディスクドライブを搭載しないコンピュータ装置における、BIOS(Basic Input/Output System)や各種デバイスのファームウェアのROMアップデートにおいて、ハードディスクドライブ内の仮想フロッピー(登録商標)ディスクドライブ(仮想FDD)による起動および各種ドライバを常駐させない環境でのROMアップデートツールの実行を可能とすることを目的としている。
このために、コンピュータ装置の仮想フロッピー(登録商標)ディスク搭載設定を保存しておくためのメニューと仮想フロッピー(登録商標)ディスクの領域確保や搭載有無の判別やアクセスを可能とするBIOSPOST処理およびBIOS処理とOS(Operating System)上の仮想フロッピー(登録商標)ディスク領域のアクセスを可能とするドライバ処理を有することにより、ハードディスク内の仮想フロッピー(登録商標)ディスクドライブの制御を行うように構成されている。
特開2002−373089号公報
前述の特許文献1のコンピュータ装置は、HDDの一部のパーティションに仮想FDDの機能を割り当て、この仮想FDDにBIOSのINT(割り込み)ファンクションによりアクセスする限定的な方式であり、多様(例えば、FDDやCD等)なレガシーストレージをエミュレートする汎用的な手法としては使用できないという問題がある。
一般的に、レガシーストレージのエミュレーション動作を行うためには、次の、3点が必要である。第1に、「OSからにレガシーストレージがアクセス可能である」ことが必要である。第2に、「仮想FDD等から起動可能である」ことが必要である。第3に、「仮想FDD等からレガシーアプリケーションが実行可能である」ことが必要である。
しかしながら、第1の「OSからレガシーストレージがアクセス可能であること」という点については、特許文献1のコンピュータ装置では、OSが仮想FDDを認識する場合に、BIOSにおけるINT(割り込み)ファンクションを使用してOSに認識させるが(段落番号0018を参照)、これは、いわゆる「レガシーOS」の手法であり、近年の「ACPI(Advanced Configuration and Power Interface) OS」においてはこのような手法は採用できず、また、今後主流になる「EFI(Extensible Firmware Interface)対応OS」においてはそもそも、「INTxxファンクション」という概念が存在しないため、特許文献1の手法では、広く汎用的な手法としては使用できない。
また、「仮想FDD等から起動可能であることが必要であること」という点については、特許文献1のコンピュータ装置では、IDE(Integrated Drive Electronics)等のシステムBIOSが直接制御可能なストレージコントローラ配下のHDD(Hard disk drive)を搭載したコンピュータシステムにおいてのみ起動が可能となる。現実的にはストレージBIOSについてはストレージコントローラベンダから提供される場合も多く、特許文献1のコンピュータ装置の方法では起動できない。
また、「仮想FDD等からレガシーアプリケーションが実行可能であること」という点については。特許文献1のコンピュータ装置では、BIOSというソフトウェアによるエミュレーション方式である。したがってレガシーアプリケーションがハードウェアにアクセスする際にBIOSの機能(INTxxファンクション)を使用してアクセスする限りにおいて、コエミュレーションが可能である。一方、レガシーアプリケーションの中にはBIOSの機能を使用せず、直接ハードウェアを制御するものが存在する。したがって、本発明が解決しようとする課題、すなわち多様なレガシーストレージに対するレガシーアプリケーションを動作させるためには、特許文献1の方式では、不十分である。
本発明は、上記問題点に鑑みなされたものであり、本発明の第1の目的は、レガシーストレージデバイスのエミュレート機能を備えるコンピュータシステムにおいて、多様なレガシーストレージデバイスを汎用的にエミュレーションできる、コンピュータシステム、レガシーアプリケーション実行方法、およびプログラムを提供することにある。
また、本発明の第2の目的は、複数のレガシーストレージデバイスからの連続起動をシナリオとして管理することにより、実行後に再起動が必要となるレガシーアプリケーションに対して、レガシーストレージデバイスのメディアを入れ替えながらレガシーアプリケーションを実行し再起動を行うという動作の繰り返しを、人手の介入なく行うことができる、コンピュータシステム、レガシーアプリケーション実行方法、およびプログラムを提供することにある。
本発明は、上記課題を解決するためになされたものであり、本発明のコンピュータシステムは、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を有するコンピュータシステムであって、前記レガシーストレージデバイスをエミュレートする際に使用されるレガシーストレージデバイスのストレージイメージを格納する不揮発性の組み込みストレージと、前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスのエミュレーション動作を行うレガシーストレージエミュレータと、を備え、前記レガシーストレージエミュレータによる前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させるように構成されたこと、を特徴とする。
上記構成のコンピュータシステムにおいては、組み込みストレージに格納されたレガシーストレージデバイスのストレージイメージを用いてレガシーストレージエミュレータを起動した後に、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させる。
これにより、多様なレガシーストレージデバイスを対象とした汎用的な方式によるレガシーストレージのエミュレーション動作を実行し、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させることができる。このため、物理レガシーデバイスを不要とすることができるので、例えば、FDD等のレガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することが出来る。
また、本発明のコンピュータシステムは、前記レガシーストレージデバイスは同じ種類または異なる種類を含む複数のストレージデバイスであり、前記レガシーストレージエミュレータは、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレータを含み、前記組み込みストレージには、前記レガシーストレージデバイスごとのストレージイメージが、領域を分割して配置されること、を特徴とする。
上記構成のコンピュータシステムにおいては、レガシーストレージエミュレータは、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレータを備え、組み込みストレージには、レガシーストレージデバイスごとのストレージイメージが、領域を分割して配置される。
これにより、複数のレガシーストレージデバイス、または、複数種類のレガシーストレージデバイスのエミュレーションが可能となる。
また、本発明のコンピュータシステムは、前記コンピュータシステムは、実機として実装される物理レガシーストレージデバイスを備えており、前記物理レガシーストレージデバイスによる起動と、前記レガシーストレージエミュレータ及び組み込みストレージによるレガシーストレージデバイスの起動とのいずれかを選択して制御するためのデバイス制御スイッチを備えること、を特徴とする。
上記構成のコンピュータシステムにおいては、レガシーストレージデバイスによる起動と、レガシーストレージエミュレータ及び組み込みストレージによる起動とを選択して制御するためのデバイス制御スイッチを備えるようにしたので、これにより、物理レガシーストレージデバイス(例えば、物理FDD)による起動と、レガシーストレージエミュレータによるレガシーストレージデバイス(例えば、仮想FDD)の起動とを選択できる。
また、本発明のコンピュータシステムは、前記組み込みストレージ内には、前記レガシーストレージデバイスの起動イメージが配置され、前記起動イメージには、前記レガシーストレージデバイスからの起動を前提とするレガシーアプリケーションと、前記レガシーアプリケーションを実行するためのレガシーOS(Operating System)と、が含まれ、前記レガシーストレージエミュレータによるエミュレーション動作が開始された場合に、前記レガシーOSをロードした後に、前記レガシーアプリケーションを実行するように構成されたこと、を特徴とする。
上記構成のコンピュータシステムにおいては、組み込みストレージ内の起動イメージには、レガシーアプリケーションと、レガシーアプリケーションを実行するためのレガシーOSと、が含まれるようにしたので、レガシーストレージエミュレータによる実行が選択された場合に、レガシーOSをロードした後に、レガシーアプリケーションを実行することができる。
本発明のコンピュータシステムは、前記複数のレガシーストレージデバイスの連続した起動を実行させるために、起動するレガシーストレージデバイスの種類の情報と、起動の順番の情報とを記録するシナリオを設定する手段を備えること、を特徴とする。
上記構成のコンピュータシステムにおいては、複数種類のレガシーストレージデバイスからの連続した起動をシナリオとして管理するようにしたので、これにより、実行後に再起動が必要となるレガシーアプリケーションに対して、レガシーストレージデバイスのメディアを入れ替えながらレガシーアプリケーションを実行し再起動を行うという動作の繰り返しを、人手の介入なく行うことができる。
また、本発明のコンピュータシステムは、前記レガシーストレージデバイスには、FDD(フレキシブルディスクドライブ)と、CD−ROM(コンパクトディスクROM)のいずれか、または両方のストレージデバイスが含まれ、前記組み込みストレージには、前記FDDと、前記CD−ROMのいずれか、または両方をエミュレートする使用されるレガシーストレージデバイスのストレージイメージが格納されて構成されること、を特徴とする。
上記構成のコンピュータシステムにおいては、レガシーストレージデバイスとして、FDD(フレキシブルディスクドライブ)や、CD−ROM(コンパクトディスクROM)等を対象とするので、これにより、FDDや、CD−ROMがなくとも、これらをエミュレーとし、FDDや、CD−ROMの起動を前提とした上位アプリケーションソフトウェアを動作させることができる。
また、本発明のレガシーアプリケーション実行方法は、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータにより、前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスのストレージイメージを、不揮発性の組み込みストレージに格納する手順と、前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、が行なわれることを特徴とする。
上記手順を含むレガシーアプリケーションの実行方法においては、組み込みストレージに格納されたレガシーストレージデバイスのストレージイメージを用いてレガシーストレージエミュレータを起動した後に、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させる。
これにより、多様なレガシーストレージデバイスを対象とした汎用的な方式によるレガシーストレージのエミュレーション動作を実行し、当該レガシーストレージデバイスの起動を前提とした上位アプリケーションソフトウェアを動作させることができる。このため、物理レガシーデバイスを不要とすることができるので、例えば、FDD等のレガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することが出来る。
また、本発明のコンピュータプログラムは、レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータに、前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスのストレージイメージを、不揮発性の組み込みストレージに格納する手順と、前記組み込みストレージに格納された前記レガシーストレージデバイスのストレージイメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、を実行させるためのプログラムである。
本発明における第1の効果は、既存のレガシーアプリケーションを動作させるために、多様なレガシーストレージデバイスを対象とした汎用的な方式によるレガシーストレージのエミュレート動作を実行できる。このため、物理レガシーデバイスを不要とすることができ、例えば、FDD等のレガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することが出来る。
第2の効果は、シナリオにより複数種のデバイス組み合わせた起動を自動で行えることである。従来であれば、人手によりメディアを入れ替えて行っていた作業と同じことが、レガシーアプリケーションを作成しなおすことなく自動で実行できる。
以下、本発明の実施の形態を添付図面を参照して説明する。
なお、以下の説明においては、エミュレートされる仮想的なデバイスに対しては、仮想的なデバイスであることを明示するために接頭語として「仮想」の語を付して呼ぶことがあり(例えば、仮想FDD)、実際に実装されるデバイスには実機であることを明示するために接頭語として「物理」の語を付して呼ぶことがある(例えば、物理FDD)。
[第1の実施の形態]
(本発明によるコンピュータシステムの構成例の説明)
図1に示す例は、本発明の実施の形態に係わるコンピュータシステムの構成を示す図である。図1に示すコンピュータシステムは、CPU(Central Processing Unit)1、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ2、CPUの周辺回路等が搭載されるチップセット(Chipset)3、レガシーデバイス統合コントローラ4、物理FDD等の物理レガシーストレージデバイス5、及びHDD等の非レガシーストレージデバイス6らなるコンピュータシステムである。
チップセット3は、CPU(中央処理装置)1、メモリ2、非レガシーストレージデバイス6及びレガシーデバイス統合コントローラ4に接続され、レガシーデバイス統合コントローラ4は物理レガシーストレージデバイス5へ接続されている。
図2は、レガシーデバイス統合コントローラ4の構成を示す図である。レガシーデバイス統合コントローラ4は、レガシーストレージコントローラ41、デバイス制御スイッチ42、物理デバイスインターフェース43、レガシーストレージエミュレータ44、及び組み込みストレージ45から構成される。
レガシーデバイス統合コントローラ4においては、CPU1から発行されたレガシーストレージ(物理デバイスまたは仮想デバイス)へのコマンド発行要求をレガシーストレージコントローラ41が受け取る。
レガシーストレージコントローラ41は、デバイス制御スイッチ42の設定により、物理レガシーストレージデバイス5またはレガシーストレージエミュレータ44へコマンドを発行する。また、レガシーストレージコントローラ41は、物理レガシーストレージデバイス5やレガシーストレージエミュレータ44からの応答信号をCPU1へチップセット3を介して返信する処理を行う。
物理デバイスインターフェース43は、レガシーデバイス統合コントローラ4と物理レガシーストレージデバイス5とのインターフェースであり、デバイス制御スイッチ42に接続されている。
組み込みストレージ45は、複数のレガシーストレージデバイスのストレージデバイスイメージを格納するために使用される、複数のパーティション(Partition)に分割可能な不揮発性ストレージである。この組み込みストレージ45は、レガシーストレージエミュレータ44及びデバイス制御スイッチ42に接続されており、デバイス制御スイッチ42により、レガシーストレージエミュレータ44におけるエミュレート対象となるレガシーストレージデバイス(仮想デバイス)毎に複数のパーティションの有効・無効を切り替えることが可能に構成されている。
なお、仮想デバイスをエミュレートするデバイスエミュレータの技術は、上位アプリケーションから仮想デバイスへのアクセスを、物理デバイスの代わりに仮想的にエミュレーションする公知の技術であり、その説明は省略する。
レガシーストレージエミュレータ44は、デバイスエミュレータのサブセットであり、本発明においては、レガシーストレージエミュレータ44が組み込みストレージ45を仮想レガシーストレージと見立ててレガシーストレージデバイス動作をエミュレーションし、上位アプリケーションから見て、あたかもレガシーストレージデバイスへアクセスしたかのような動作を行う。
設定ツール46は、各処理部における「設定値」を設定するためのツールであり、この設定ツールで設定される設定値には、デバイス制御スイッチ42における設定値と、レガシーストレージエミュレータ44を制御するための設定値と、組み込みストレージ45を制御するための設定値とが含まれる。また、設定ツール46では、後述する「シナリオ」を設定する手段としても使用される。なお、この設定ツール46としては、OS上で動作するアプリケーション等のユーティリティを、設定ツールとして使用することができる。
また、レガシーストレージエミュレータ44は、固定アドレスポートをもつ複数種のストレージデバイスのエミュレーションが可能であり、どのストレージデバイスのエミュレーションを行うかは、設定値及び上位アプリケーションからアクセスされた固定アドレスポートにより判断される。
例えば、レガシーFDD(仮想FDD)からの起動をエミュレーションする場合にはレガシーFDエミュレータ44Aが、仮想CDからの起動をエミュレーションする場合にはレガシーCDエミュレータ44Bというように、設定値によりアプリケーション毎に起動するエミュレータを切り替えることが可能であり、また同時に実行することが可能である。レガシーストレージエミュレータ44が使用するレガシーストレージは、組み込みストレージ45内において任意のパーティションに割り当てることが可能であり、設定値により動的に配置できるように構成されている。
デバイス制御スイッチ42は、レガシーストレージコントローラ41からストレージデバイスへのアクセスをコントロールする制御部であり、ストレージデバイスへのアクセスを物理デバイスインターフェース43へ送信するか、レガシーストレージエミュレータ44へ送信するかを設定により制御できるものである。
図3は、組み込みストレージ45に格納される起動イメージの例を示す図である。図3に示すように、組み込みストレージ45中には、ストレージイメージとして、複数のレガシーストレージの起動イメージ7を保持することができる。ここで、レガシーストレージデバイスからの起動を前提としたアプリケーションをレガシーアプリケーションと定義する。なお、レガシーストレージの起動イメージ7は、例えば、図4に例示するように、複数の起動イメージ1、2、3が、パーティション1、2、3で領域が区切られて配置される。
レガシーアプリケーションは、図3に示すように、レガシーストレージの起動イメージ7中に存在する。起動イメージ7はロードされると、イメージ中のレガシーOS71をロードし、レガシーアプリケーション72を実行する。ここで、レガシーOSとは、システムの通常運用時に使用するOSではなく、レガシーアプリケーションを実行するためのOSのことである。
また、レガシーデバイス統合コントローラ4の設定には、前述のシナリオを含めることができる。予め複数種の仮想デバイス設定を作成しておき、シナリオにより、次回リセット時にどのストレージデバイスを組み合わせるかの設定値を含ませることができる。なお、シナリオの詳細については、後述する。
上記構成により、本発明のコンピュータシステムにおいては、組み込みストレージ45に格納したストレージイメージと、レガシーストレージエミュレータ44とにより、多様なレガシーストレージデバイスをエミュレートできる。このため、既存のレガシーアプリケーションを動作させるための物理レガシーデバイスを不要とすることができる。これにより、例えば、レガシーデバイスの入手が困難になった場合でも、レガシーアプリケーションが動作するシステムを構築することができる。
(図1に示すシステムの動作の説明:物理レガシーストレージデバイス5がある場合)
レガシーアプリケーション72の動作例として、レガシーストレージデバイス(物理FDD)からレガシーOSを起動してその上でアプリケーションを動作させる例について説明する。
図5は、物理レガシーストレージデバイス(物理FDD)5がある場合のFDメディアの読み取り処理の流れを示す図であり、以下、図5を参照して、その処理の流れについて説明する。
物理レガシーストレージデバイス(物理FDD)5から起動してアプリケーションを実行する場合には、ユーザは設定ツール46により予めデバイス制御スイッチ42の設定を、物理レガシーストレージデバイス(物理FDD)5へアクセスが行われるようにしておく(ステップS11)。このときの設定値の例を図7に示す。
図7に示す例では、物理レガシーストレージデバイス5のデバイス設定として、デバイス1が設定されており、このデバイス1では、タイプが「FDD」、種類が「物理」、パーティション(Part)が「N/A(利用できない)」に設定されている。また、パーティション設定においては、パーティション(Part1)のスタートアドレス(Start)、長さ(Length)、サイズ(Size)のそれぞれが「N/A(利用できない)」に設定されている。
上記設定において、システムが起動され(ステップS12)、物理レガシーストレージデバイス5からの起動が選択されると(ステップS13)、CPU1からレガシーストレージコントローラ41へ対してレガシーFDD(物理FDD)中のFDメディアの先頭セクタ読み出し指示が行われる(ステップS14)。
アクセス要求を受けたレガシーストレージコントローラ41はデバイス制御スイッチ42にアクセス要求を発行するが(ステップS15)、スイッチの設定によりこの要求は物理デバイスインターフェース43へと転送され(ステップS16)、物理レガシーストレージデバイス(物理FDD)5へのアクセス要求が発行される(ステップS17)。そして、物理デバイスインターフェース43を介して、レガシーFDメディア(物理FD)の先頭セクタが読み出される(ステップS18)。
レガシーアプリケーション72からの物理レガシーストレージデバイス5へのアクセス要求も同様に処理されるため、結果としてレガシーアプリケーション72は既存のシステムと同じ動作を行うことが出来る。
(図1に示すシステムの動作説明:物理レガシーストレージデバイス5がない場合)
次に、物理レガシーストレージデバイス5がない場合の例について説明する。図6は、物理レガシーストレージデバイス5がない場合の仮想FDメディアの読み取り処理の流れを示す図であり、以下、図6を参照して、その処理の流れについて説明する。
物理レガシーストレージデバイス5の存在しないシステムにおいては、ユーザは設定ツール46により予めデバイス制御スイッチ42をレガシーストレージエミュレータ44へアクセスが行われるよう設定する(ステップS21)。
このレガシーストレージエミュレータ44は、レガシーストレージの起動イメージ7がブート可能な仮想デバイス(仮想FDD)をエミュレートする。仮想FDDの起動イメージのデータは、物理FDDからの起動時に使用したFDメディアのデータと同じものである。このときの設定値の例を図8に示す。
図8に示す例では、組み込みストレージ45のデバイス設定として、デバイス1が設定されており、このデバイス1では、タイプ「FDD」、種類「仮想」、パーティション(Part)として「パーティション1(Part1)」が設定されている。このパーティション設定においては、パーティション1(Part1)のスタートアドレス(Start)が「0」、長さ(Length)が「0xb40」・、サイズ(Size)が「0x200」に設定されている。
上記設定の後、システムを起動する(ステップS22)。このとき、設定値によりレガシーエミュレータ(レガシーFDエミュレータ)44が起動される(ステップS23)。レガシーFDD(仮想FDD)からの起動が選択されると、レガシーストレージコントローラ41へ対してレガシーFDDへのアクセス要求が行われる(ステップS24)。
アクセス要求を受けたレガシーストレージコントローラ41は、デバイス制御スイッチ42にアクセス要求を発行するが(ステップS25)、スイッチの設定によりこの要求はレガシーストレージエミュレータ44へ転送され(ステップS26)、アクセス要求がレガシーFDへ対するものであるため、レガシーストレージエミュレータ44が実行される(ステップS27)。
レガシーストレージエミュレータ44は、コマンド及び設定値を解釈し、要求を組み込みストレージ45のパーティション1の先頭セクタの読み出し命令と解釈し、データの読み出し、及び必要な応答をレガシーストレージコントローラ41に返す(ステップS28)。
レガシーアプリケーション72からのレガシーFDDへのアクセス要求も同様に処理されるため、結果としてレガシーアプリケーション72は、既存のシステムと同じ動作を行うことが出来る。なお、この動作は、デバイス制御スイッチ42をレガシーストレージエミュレータ44へアクセスが行われるよう設定した場合には、物理レガシーストレージデバイス5の存在するシステムにおいても同様となる。
上述した手順により、組み込みストレージ45とレガシーストレージエミュレータ44により、FDDを含む多様なレガシーストレージデバイスをエミュレートし、上位のレガシーアプリケーションを実行することができる。
[第2の実施の形態]
次に、本発明のコンピュータシステムの第2の実施の形態として、シナリオによる複数種のレガシーストレージの起動と、レガシーアプリケーションの自動実行の例について説明する。
自動実行の例として、システムのメンテナンスを行うために、最初に、「仮想FDから起動しBIOSアップデート」を行い、次に、「仮想FDから起動しシステムマネージメントファームウェアをアップデート」し、最後に、「仮想CDから起動しシステムメンテナンスツールを実行する例」を示す。なお、メンテナンスツールを実行する際、使用済みのBIOSアップデートイメージ領域をテンポラリ領域として使用するものとする。
ここで、デバイス設定の設定値は、複数個のデバイス組み合わせ設定が可能であるものとする。
本例では、図9(A)のデバイス設定に示すように、「デバイス1」に「パーティション1(Part1)を使用する仮想FDD」、「デバイス2」に「パーティション2(Part2)を使用する仮想FDD」、「デバイス3」に「パーティション3(Part3)を使用する仮想CD−ROMデバイス」を定義する。
また、図9(B)のパーティション設定に示すように、パーティション1(Part1)として、スタートアドレス(Start)が「0」、長さ(Length)が「0xb40」、サイズ(Size)が「0x200」に設定される。
また、パーティション2(Part2)として、スタートアドレス(Start)が「0x1000」、長さ(Length)が「0xb40」・、サイズ(Size)が「0x200」に設定される。
また、パーティション3(Part3)として、スタートアドレス(Start)が「0x2000」、長さ(Length)が「0xb40」、サイズ(Size)が「0xa00」に設定される。
また、図9(C)のシナリオ設定に示すように、シナリオにはこれら定義したデバイスをうち、どのような組み合わせを有効にするかを指定する。この例では、シナリオ設定1として「デバイス1」が設定され、シナリオ設定2として「デバイス2」が設定され、シナリオ設定3として「デバイス1及びデバイス3」が設定される。
シナリオの設定はシーケンシャルに実行され、レガシーアプリケーションによりシステムがリセットされた場合にインクリメントされ、次の設定が有効になる。
実際の動作では、まずユーザが図7に示すとおりに設定を行い、組み込みストレージのパーティション1〜3に必要なデータを配置する。
次にシステムの電源を投入すると、まず、図9(C)に示すシナリオ設定中の「設定1のシナリオ」が有効になり、図7(A)に示す「デバイス1」の設定が有効化される。BIOSの初期化が完了すると、仮想FDD1からブートが行われ、BIOSアップデートツールが実行される。
BIOSのアップデートが完了し、BIOSアップデートツールによりシステムがリセットされると、図9(C)に示すシナリオ設定中の「設定2のシナリオ」が有効になり、図9(A)に示す「デバイス2」の設定が有効になる。
BIOSの初期化が完了すると、仮想FDD2からブートが行われ、システムマネージメントファームウェア・アップデートツールが実行される。システムマネージメントファームウェアのアップデートが完了すると、ツールによりシステムがリセットされる。
ここで、図9(C)に示すシナリオ設定中の「設定3のシナリオ」が有効になるため、図9(A)に示す「デバイス1」及び「デバイス3」の設定が有効化され、今度はパーティション3からブートされ、パーティション3の仮想CD−ROMに含まれるメンテナンスツールが実行きれる。メンテナンスツールでは、テンポラリ領域として仮想FDDへの読み書きが行われる。メンテナンスツールが終了し、ツールによりシステムが再起動されると、今度は有効なシナリオが存在しないため、デバイス1〜3はすべて無効となり、BIOS初期化完了後は非レガシーストレージデバイスであるHDDに格納されたOSがブートする。
このように、本発明の第2の実施の形態に係わるコンピュータシステムにおいては、連続したレガシーストレージデバイスからの起動をシナリオとして管理することにより、実行後に再起動が必要となるレガシーアプリケーションに対して、レガシーストレージデバイスのメディアを入れ替えながらレガシーアプリケーションを実行し再起動を行うという動作の繰り返しを、人手の介入なく行うことができる。
以上、本発明のコンピュータシステムの構成と動作について説明したが、本発明のコンピュータシステムにおいては、組み込みストレージ45に格納したストレージイメージと、レガシーストレージエミュレータ44とにより、多様なレガシーストレージデバイスをエミュレーションできるという優れた効果がある。
すなわち、前述した特許文献1のコンピュータ装置では、HDDの一部に仮想FDDの機能を割り当て、BIOSのINT(割り込み)ファンクションによりアクセスする限定的な方式を用いており、多様なレガシーストレージ(例えば、FDDやCD等)をエミュレートする汎用的な手法としては使用できないという問題があったが、本発明のコンピュータシステムにより、この問題を解決できる。
また、特許文献1のコンピュータ装置では、IDE(Integrated Drive Electronics)等のシステムBIOSが直接制御可能なストレージコントローラ配下のHDD(Hard disk drive)を搭載したコンピュータシステムにおいてのみ起動が可能となるが、本発明のコンピュータシステムではこれに限定されない。
また、特許文献1のコンピュータ装置では、BIOSというソフトウェアによるエミュレーション方式である。したがってレガシーアプリケーションがハードウェアにアクセスする際にBIOSの機能(INTxxファンクション)を使用してアクセスする限りにおいて、コエミュレーションが可能であるが、本発明のコンピュータシステムではこれに限定されず、汎用的に用いることができる。
また、レガシーアプリケーションの中にはBIOSの機能を使用せず、直接ハードウェアを制御するものが存在し、この場合には特許文献1の方式では、対応できず不十分であるが、本発明のコンピュータシステムは、この場合にも適用可能である。
以上、本発明の実施の形態について説明したが、本発明のコンピュータシステムにおける、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、レガシーストレージコントローラ41、デバイス制御スイッチ42、レガシーストレージエミュレータ44等における、各処理は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上述のコンピュータシステムには、周辺機器として入力装置、表示装置等(いずれも表示せず)が接続されているものとする。ここで、入力装置としては、キーボード、マウス等の入力デバイスのことをいう。表示装置とは、CRT(Cathode Ray Tube)や液晶表示装置等のことをいう。
以上、本発明の実施の形態について説明したが、本発明のコンピュータシステムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
本発明によるコンピュータシステムの構成を示す図である。 レガシーデバイス統合コントローラの構成を示す図である。 起動イメージの例を示す図である。 パーティションと起動イメージの例を示す図である。 物理レガシーストレージデバイスがある場合のレガシーFDメディアの読み取り処理の流れを示す図である。 物理レガシーストレージデバイスがない場合のレガシーFDメディアの読み取り処理の流れを示す図である。 物理レガシーストレージデバイスを起動する場合のデバイス設定の例を示す図である。 レガシーストレージエミュレータを起動する場合のデバイス設定の例を示す図である。 シナリオにより複数種のレガシーストレージの起動を自動で行う場合のデバイス設定の例を示す図である。
符号の説明
1・・・CPU、2・・・メモリ、3・・・チップセット、4・・・レガシーデバイス統合コントローラ、5・・・物理レガシーストレージデバイス、6・・・非レガシーストレージデバイス、7・・・起動イメージ、41・・・レガシーストレージコントローラ、42・・・デバイス制御スイッチ、43・・・物理デバイスインターフェース、44・・・レガシーストレージエミュレータ、44A・・・レガシーFDエミュレータ、44B・・・レガシーCDエミュレータ、45・・・組み込みストレージ、46・・・設定値、71・・・レガシーOS、72・・・レガシーアプリケーション

Claims (5)

  1. レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を有するコンピュータシステムであって、
    前記レガシーストレージデバイスをエミュレートする際に使用されるレガシーストレージデバイスの起動イメージを格納する不揮発性の組み込みストレージと、
    前記組み込みストレージに格納された前記レガシーストレージデバイスの起動イメージを使用して、前記レガシーストレージデバイスのエミュレーション動作を行うレガシーストレージエミュレータと、
    を備え、
    前記レガシーストレージエミュレータによる前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させるように構成され
    前記レガシーストレージデバイスは同じ種類または異なる種類を含む複数のストレージデバイスであり、
    前記レガシーストレージエミュレータは、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレータを含み、
    前記組み込みストレージには、前記レガシーストレージデバイスごとの起動イメージが、領域を分割して配置され、
    前記起動イメージには、
    前記レガシーストレージデバイスからの起動を前提とするレガシーアプリケーションと、
    前記レガシーアプリケーションを実行するためのレガシーOS(Operating System)と、
    が含まれ、
    前記レガシーストレージエミュレータによるエミュレーション動作が開始された場合に、前記レガシーOSをロードした後に、前記レガシーアプリケーションを実行するように構成され、
    前記複数のレガシーストレージデバイスの連続した起動を実行させるために、起動するレガシーストレージデバイスの種類の情報と、起動の順番の情報とを記録するシナリオを設定する手段を備え、
    前記シナリオにおける起動の順番に従って、前記複数のレガシーストレージデバイスの起動がシーケンシャルに実行され、各レガシーストレージデバイスのレガシーアプリケーションによりシステムがリセットされた場合に、次のレガシーストレージデバイスのレガシーOSがロードされること、
    を特徴とするコンピュータシステム。
  2. 前記コンピュータシステムは、
    実機として実装される物理レガシーストレージデバイスを備えており、
    前記物理レガシーストレージデバイスによる起動と、前記レガシーストレージエミュレータ及び組み込みストレージによるレガシーストレージデバイスの起動とのいずれかを選択して制御するためのデバイス制御スイッチを備えること、
    を特徴とする請求項1に記載のコンピュータシステム。
  3. 前記レガシーストレージデバイスには、
    FDD(フレキシブルディスクドライブ)と、CD−ROM(コンパクトディスクRO
    M)のいずれか、または両方のストレージデバイスが含まれ、
    前記組み込みストレージには、前記FDDと、前記CD−ROMのいずれか、または両方をエミュレートする使用されるレガシーストレージデバイスの起動イメージが格納されて構成されること、
    を特徴とする請求項1または請求項のいずれかに記載のコンピュータシステム。
  4. レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータにより、
    前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスの起動イメージを、不揮発性の組み込みストレージに格納する手順と、
    前記組み込みストレージに格納された前記レガシーストレージデバイスの起動イメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、
    前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、
    が行なわれ
    前記レガシーストレージデバイスは同じ種類または異なる種類を含む複数のストレージデバイスであり、
    前記レガシーストレージエミュレート手順は、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレート手順を含み、
    前記組み込みストレージには、前記レガシーストレージデバイスごとの起動イメージが、領域を分割して配置され、
    前記起動イメージには、
    前記レガシーストレージデバイスからの起動を前提とするレガシーアプリケーションと、
    前記レガシーアプリケーションを実行するためのレガシーOS(Operating System)と、
    が含まれ、
    前記レガシーストレージエミュレート手順が開始された場合に、前記レガシーOSをロードした後に、前記レガシーアプリケーションを実行するように構成され、
    前記複数のレガシーストレージデバイスの連続した起動を実行させるために、起動するレガシーストレージデバイスの種類の情報と、起動の順番の情報とを記録するシナリオを設定する手順を備え、
    前記シナリオにおける起動の順番に従って、前記複数のレガシーストレージデバイスの起動がシーケンシャルに実行され、各レガシーストレージデバイスのレガシーアプリケーションによりシステムがリセットされた場合に、次のレガシーストレージデバイスのレガシーOSがロードされる手順が行なわれること
    を特徴とするレガシーアプリケーション実行方法。
  5. レガシーストレージデバイスをエミュレートするレガシーストレージエミュレータ機能を備えるコンピュータシステム内のコンピュータに、
    前記レガシーストレージデバイスをエミュレートする際に使用するレガシーストレージデバイスの起動イメージを、不揮発性の組み込みストレージに格納する手順と、
    前記組み込みストレージに格納された前記レガシーストレージデバイスの起動イメージを使用して、前記レガシーストレージデバイスをエミュレートするレガシーストレージエミュレート手順と、
    前記レガシーストレージエミュレート手順により前記レガシーストレージデバイスのエミュレーション動作を開始した後に、前記レガシーストレージデバイスからの起動を前提とした上位アプリケーションソフトウェアを動作させる手順と、
    を実行させ
    前記レガシーストレージデバイスは同じ種類または異なる種類を含む複数のストレージデバイスであり、
    前記レガシーストレージエミュレート手順は、各レガシーストレージデバイスをエミュレートするためのサブセットとなるエミュレート手順を含み、
    前記組み込みストレージには、前記レガシーストレージデバイスごとの起動イメージが、領域を分割して配置され、
    前記起動イメージには、
    前記レガシーストレージデバイスからの起動を前提とするレガシーアプリケーションと、
    前記レガシーアプリケーションを実行するためのレガシーOS(Operating System)と、
    が含まれ、
    前記レガシーストレージエミュレート手順が開始された場合に、前記レガシーOSをロードした後に、前記レガシーアプリケーションを実行するように構成され、
    前記複数のレガシーストレージデバイスの連続した起動を実行させるために、起動するレガシーストレージデバイスの種類の情報と、起動の順番の情報とを記録するシナリオを設定する手順を備え、
    前記シナリオにおける起動の順番に従って、前記複数のレガシーストレージデバイスの起動がシーケンシャルに実行され、各レガシーストレージデバイスのレガシーアプリケーションによりシステムがリセットされた場合に、次のレガシーストレージデバイスのレガシーOSがロードされる手順
    を実行させるためのプログラム。
JP2008250307A 2008-09-29 2008-09-29 コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム Expired - Fee Related JP5343489B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008250307A JP5343489B2 (ja) 2008-09-29 2008-09-29 コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008250307A JP5343489B2 (ja) 2008-09-29 2008-09-29 コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010079821A JP2010079821A (ja) 2010-04-08
JP5343489B2 true JP5343489B2 (ja) 2013-11-13

Family

ID=42210151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008250307A Expired - Fee Related JP5343489B2 (ja) 2008-09-29 2008-09-29 コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5343489B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289854A (ja) * 1992-04-08 1993-11-05 Olympus Optical Co Ltd 外部記憶装置のアクセス装置
JP2001142654A (ja) * 1999-11-17 2001-05-25 Melco Inc 外部記憶装置およびアクセス制御方法
JP2002259130A (ja) * 2001-03-02 2002-09-13 Toshiba Corp 情報処理システムおよびその起動制御方法
JP4349837B2 (ja) * 2003-04-24 2009-10-21 富士通株式会社 情報処理システム
US7444621B2 (en) * 2004-02-20 2008-10-28 Microsoft Corporation Method and system for providing a common operating system
JP2006293760A (ja) * 2005-04-12 2006-10-26 Toshiba Corp 情報処理装置
US7392172B2 (en) * 2005-04-28 2008-06-24 Hewlett-Packard Development Company, L.P. Providing virtual device access via firmware
JP2007164420A (ja) * 2005-12-13 2007-06-28 Toshiba Tec Corp 商品販売データ処理装置

Also Published As

Publication number Publication date
JP2010079821A (ja) 2010-04-08

Similar Documents

Publication Publication Date Title
US9454380B2 (en) Computing platform performance management with RAS services
US7356677B1 (en) Computer system capable of fast switching between multiple operating systems and applications
US8281116B2 (en) System and method for utilizing a protected/hidden region of semiconductor based memory/storage
JPH05289854A (ja) 外部記憶装置のアクセス装置
JP2000293474A (ja) コンピュータシステムおよびその使用方法
US20050223291A1 (en) Methods and apparatus to provide an execution mode transition
US20110088032A1 (en) Method and apparatus for configuring a hypervisor during a downtime state
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
JP2007516535A (ja) システム構成の遠隔修正のための方法および装置
JPH04233624A (ja) パーソナル・コンピュータ・システム内でシステム・ユーティリティを保護するための装置
KR20140118093A (ko) 메모리 가상화 기반 스냅샷 부트 장치 및 방법
JP2008287505A (ja) 情報処理装置およびレガシーエミュレーション処理停止制御方法
US8370617B2 (en) Booting method and computer system using the booting method
JP2015038644A (ja) 計算機および仮想マシンの更新方法
US20100042710A1 (en) Remote management of computer system
US8335891B2 (en) Method and system for configuring a storage array
US5963738A (en) Computer system for reading/writing system configuration using I/O instruction
US7065627B2 (en) Method and system for providing an event driven image for a boot record
US20040243385A1 (en) Emulation of hardware devices in a pre-boot environment
CN101604253A (zh) 计算机系统及启动方法
JP5343489B2 (ja) コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム
US20140136777A1 (en) Method and system for configuring a storage array
JP6100750B2 (ja) メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置
JP4735765B2 (ja) Linuxプログラム起動システム
JP3702233B2 (ja) 情報処理システムおよびプログラム実行モード制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130415

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: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130729

R150 Certificate of patent or registration of utility model

Ref document number: 5343489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees