JP2006276975A - コンピュータシステムのデバイス認識方法 - Google Patents
コンピュータシステムのデバイス認識方法 Download PDFInfo
- Publication number
- JP2006276975A JP2006276975A JP2005091184A JP2005091184A JP2006276975A JP 2006276975 A JP2006276975 A JP 2006276975A JP 2005091184 A JP2005091184 A JP 2005091184A JP 2005091184 A JP2005091184 A JP 2005091184A JP 2006276975 A JP2006276975 A JP 2006276975A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- operating system
- access
- information
- system firmware
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】オペレーティングシステムの初期段階においてシステムファームウェアのサービス経由でデバイスにアクセスする場合、システムファームウェアのサービスは実装されているがOSローダの制限でアクセスできないデバイスに対し、アクセスすることが可能になるコンピュータシステムのデバイス認識方法を提供する。
【解決手段】システムファームウェア0は、オペレーティングシステム2に対しデバイス構成情報を用いてI/Oデバイス10〜1Nの種別情報と実装位置情報とを通知するステップと、デバイス情報テーブル01〜0Nを適宜書き換えるステップと、実存しない仮想デバイスをオペレーティングシステム2に対して存在するよう認識させるステップとを有する。
【選択図】 図1
【解決手段】システムファームウェア0は、オペレーティングシステム2に対しデバイス構成情報を用いてI/Oデバイス10〜1Nの種別情報と実装位置情報とを通知するステップと、デバイス情報テーブル01〜0Nを適宜書き換えるステップと、実存しない仮想デバイスをオペレーティングシステム2に対して存在するよう認識させるステップとを有する。
【選択図】 図1
Description
本発明は、コンピュータシステムのデバイス認識方法に関し、特に、実際にはコンピュータシステムに実装していないデバイスをあたかも実装しているかのように仮想的に見せかけることにより、そのデバイスをオペレーティングシステムから使用可能にするコンピュータシステムのデバイス認識方法に関する。
オペレーティングシステムのブートの初期段階、すなわちデバイスへのアクセスをシステムファームウェアのサービスを用いて実施する段階に於いて、データを特定のデバイスから読み込ませたい場合、システムファームウェアにその特定のデバイスへのI/Oアクセスサービスが実装されていても、OSローダーの制限によりその特定のデバイスにアクセスできないと判断される可能性があった。
一般的に、コンピュータシステムにおけるファームウェアレイヤにおいて、システムに組み込まれているI/Oデバイス構成情報は、ファームウェア内部のデバイス情報テーブルにより抽象化されている。また、オペレーティングシステムのブートやインストールの初期段階では、I/Oデバイスへのアクセスはファームウェアサービスを経由して実施される。
この段階でのオペレーティングシステムからI/Oデバイスへのアクセスはまずオペレーティングシステムがファームウェアの提供するデバイス情報テーブルによりシステムにどのようなI/Oデバイスが接続されているか判断し、対象となる装置へのアクセスをシステムファームウェアに要求する。要求を受け取ったシステムファームウェアは自身のドライバにより要求のあったI/Oデバイスに対して実際にアクセスを実施する。
このように、I/Oデバイスへのアクセス可否はシステムファームウェアが提供する装置構成情報によりオペレーティングシステムに判断される。従って、例えば本来のI/Oデバイス装置が使用不能の状態であるが、代替デバイスが使用可能であったとしても、オペレーティングシステム自身は、アクセス不可と判断した場合、ブートもしくはインストールができないという課題がある。
本発明のコンピュータシステムのデバイス認識方法は、複数のデバイスと、デバイスに対応したデバイス情報テーブルを有するシステムファームウェアと、デバイスへのアクセスをシステムファームウェアに対して要求するオペレーティングシステムとを有するコンピュータシステムのデバイス認識方法であって、システムファームウェアは、オペレーティングシステムに対しデバイス構成情報を用いてデバイスの種別情報と実装位置情報とを通知するステップと、デバイス情報テーブルを適宜書き換えるステップと、実存しない仮想デバイスをオペレーティングシステムに対して存在するよう認識させるステップとを有することを特徴とする。
オペレーティングシステムからシステムファームウェアに対して仮想デバイスへのアクセス要求がきたとき、システムファームウェアは、デバイス情報テーブルを参照して仮想デバイスと実存するデバイスとの対応付けを行うステップと、仮想デバイスに対応した実存するデバイスへのアクセスを実行するステップとを有することを特徴とする。
第一の効果は、OSローダーの制限により、オペレーティングシステム起動の初期段階でI/Oアクセスできるデバイスでないと判断したI/Oデバイスであっても、システムファームウェアがそのデバイスへアクセスするためのサービスを持っていた場合、オペレーティングシステム起動の初期段階に於いて、システムファームウェアによるサービスを経由してそのデバイスを利用できることである。
第二の効果は、OSローダーが期待している物理位置にデバイスがない場合でも、別の実装位置にデバイスが実装されていれば、オペレーティングシステム起動の初期段階に於いて、システムファームウェアによるサービスを経由してそのデバイスを利用できることである。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明のコンピュータシステム100は、システムファームウェア0、I/Oデバイス10〜1N、オペレーティングシステム2から成る。
一般的に、システムファームウェア0は、I/Oデバイス10〜1Nにアクセスするためのドライバを内部に持っており、オペレーティングシステム2内に組み込まれているI/Oデバイス10〜1Nを制御するためのドライバが動作可能になる以前の段階では、このシステムファームウェア0により提供されるサービスにより、I/Oデバイス10〜1Nへのアクセスが可能になる。
また、一般的に、オペレーティングシステム2は、オペレーティングシステム2を起動するためのOSローダー20を持っている。OSローダー20は、オペレーティングシステム2を起動するためのソフトウェアであり、必要に応じてI/Oデバイス10〜1Nにアクセスするためにシステムファームウェア0にアクセス要求をする。このアクセスは、システムファームウェア0により提供されるサービスを用いて実現される。
システムファームウェア0は、コンピュータシステム100内部に実装されているI/Oデバイス10〜1Nに対応したデバイス情報テーブル01〜0Nを持っている。この情報テーブル01〜0Nには、装置種別情報、デバイスの物理位置情報、ファームウェアにより提供されるI/Oアクセスサービスに使われるドライバの情報、オペレーティングシステム2にデバイス構成を知らせるためのデバイス構成情報000〜0N0がある(以下、デバイスパスと呼ぶ)。
デバイスパス000〜0N0には、デバイス種別、デバイス位置情報が含まれており、オペレーティングシステム2は、これによりコンピュータシステム100にどのようなデバイスが実装されているかを知ることができる。
通常、デバイス情報テーブル01〜0Nは、実装されているデバイスと1対1の対応がつけられている。ここで、コンピュータシステム100にOSローダー20が起動する前にシステムファームウェア0のデバイス情報テーブル01〜0Nを書き換えするか否かをオペレーターが選択できるスイッチ3を設ける。
次に、本発明を実施するための最良の形態の動作について図面を参照して説明する。
まず、図1および図3のフローチャートを用いて、一般的な、オペレーションシステムがシステムファームウェア0の提供するサービスを用いてI/Oデバイス10〜1Nにアクセスする方法を説明する。
オペレーティングシステム2の起動が始まると、まずシステムファームウェア0は、OSローダー20を起動する。システムファームウェア0は、デバイスパス000〜0N0を用いてOSローダー20に現在システムに実装されているI/Oデバイス10〜1Nの情報を知らせる(ステップ3A)。これにより、OSローダー20は、コンピュータシステム100に何のデバイスが実装されているかを認識する(ステップ3B)。
OSローダー20は、対象となるデバイスがシステムに実装されている場合(ステップ3C)、そのI/Oデバイスに対してアクセスを実施する。一般的に、オペレーティングシステム2には、I/Oデバイスを制御するためのドライバが組み込まれており、通常そのドライバを用いてI/Oアクセスを実施するが、オペレーティングシステム2起動の初期段階においては、オペレーティングシステム2に組み込まれているドライバは動作できない。その場合、システムファームウェア0に組み込まれているサービスを用いてI/Oデバイスにアクセスする(ステップ3D)。
I/Oデバイスに対するアクセス要求を受け取ったシステムファームウェア(0)は、対応するデバイス情報テーブル01〜0Nにより、ファームウェアによるI/Oアクセスサービスのためのドライバが何であるかを判断し(ステップ3E)、実際にデバイスに対するアクセスを実施する(ステップ3F)。
次に、図1および図4のフローチャートを用いて本発明の動作を説明する。つまり、オペレーターの指示により、システムファームウェア0が自身で保持している装置構成情報を適宜書き換えて、オペレーティングシステムから代替デバイスへのアクセスをオペレーティングシステム2から実装されているI/Oデバイスとは異なるI/Oデバイス(以下、仮想デバイス)へのアクセスにみせる方法を説明する。
まず、オペレーターは、あらかじめシステムファームウェア0のデバイスパスを、デバイス構成情報テーブルを書き換える選択インターフェースを持つスイッチ3でデバイスパス書き換え実施を指示する。この指示により、システムファームウェア0は、構成情報を偽装したいデバイス(例えば1N)のデバイスパス(例えば0N0)を適宜書き換える(ステップ4A’)。
オペレーティングシステム2の起動が始まると、システムファームウェア0は、まずOSローダー20を起動する。システムファームウェア0は、デバイスパス000〜0N0を用いてOSローダー20に対して現在システムに実装されているI/Oデバイス10〜1Nの情報を知らせる。このとき、図4中のステップ4A’により、デバイスパス(たとえば0N0)内に実装されているデバイスとは異なるデバイス情報がOSローダー20に通知される。
例えば、図1中に示す0Nは、USB FDDに対するデバイス構成テーブル0Nであるが、このテーブルのデバイスパス0N0を用いると、システムファームウェア0は、USB FDDではなく、ATAPI FDDをオペレーティングシステム2に通知する(図1のA’、図4のステップ4A)。
これにより、OSローダー20は、システムに何のデバイスが実装されているかを認識する。このとき、オペレーティングシステム2は、システムに仮想デバイスが実装されているものと認識する。
例えば、実際にはUSB FDDが実装されているのだが、オペレーティングシステム2は、ATAPI FDDが実装されていると認識する(ステップ4B)。
OSローダー20は、対象となるデバイスがシステムに実装されている場合(ステップ4C)、そのI/Oデバイスに対してアクセスを実施する。
例えば、OSローダー20は、仮想デバイスであるATAPI FDDを見つけてシステムファームウェア0にATAPI FDDに対するI/Oアクセスを要求する(ステップ4D)。
I/Oデバイスに対するアクセス要求を受け取ったシステムファームウェア0は、対応するデバイス情報テーブル01〜0Nにより、ファームウェアによるI/Oアクセスサービスのためのドライバが何であるかを判断する。また、システムファームウェア0は、デバイスに対応するドライバを見つけ、実際にデバイスにアクセスを実施する。
例えば、ATAPI FDDへのアクセス要求を受け取ったシステムファームウェア0は、デバイス構成テーブル0Nを検索して仮想デバイスであるATAPI FDDに対応する物理デバイスはUSB FDDであると判断し(ステップ4E)、USB FDDドライバにより実際にUSB FDDにアクセスする。このとき、OSローダー20は、ATAPI FDDへのアクセスが実施できたと判断する(図1のB’、図4のステップ4F)。
以上の手続きにより、システムファームウェア0のサービスを用いて、オペレーティングシステム2は、実装されていない仮想デバイスにアクセスすることができる。
次に、図2および図4のフローチャートを用いて、本発明の他の実施例につぃて説明する。
システムファームウェアが保持するの装置構成情報に含まれる位置情報を適宜書き換えることにより、オペレーティングシステムから代替デバイスへのアクセスをオペレーティングシステムから実装されているI/Oデバイスとは異なるI/Oデバイス(以下、仮想デバイス)へのアクセスにみせる方法を説明する。
まず、オペレーターは、あらかじめシステムファームウェアのデバイスパス書き換え選択インターフェースを持つスイッチ3でデバイスパス書き換え実施を指示する。この指示により、システムファームウェア0は、構成情報を偽装したいデバイス(例えば1N)のデバイスパス(例えば0N0)を適宜書き換える(ステップ4A’)。
オペレーティングシステム2の起動が始まると、システムファームウェア0は、まずOSローダー20を起動する。システムファームウェア0は、デバイスパス000〜0N0を用いてOSローダー20に対して現在システムに実装されているI/Oデバイス10〜1Nの情報を知らせる。このとき、図4のステップ4A’により、デバイデバイスパス(たとえば0N0)内に実装されているデバイスとは異なるデバイス情報がOSローダー20に通知される。
例えば、図2の(00)は、実装位置BusZ SlotWのSCSI コントローラに対するデバイス構成テーブルであるが、このテーブルのデバイスパス000を用いると、システムファームウェア0は実装位置をBusZ SlotWのSCSIでなく、BusX SlotYのSCSIをオペレーティングシステム2に通知する(図2A、図4ステップ4A)。
これにより、実際にはBusZ SlotWにSCSIコントローラが実装されているのだが、オペレーティングシステムはBusX SlotYにSCSIコントローラが実装されていると判断する(ステップ4B)。
OSローダー20は、対象となるデバイスがシステムに実装されている場合(ステップ4C)、そのI/Oデバイスに対してアクセスを実施する。
例えば、OSローダー20は、仮想デバイスであるBusX SlotYのSCSIコントローラを見つけてシステムファームウェアにこのSCSIコントローラに対するI/Oアクセスを要求する(ステップ4D)。
I/Oデバイスに対するアクセス要求を受け取ったシステムファームウェア0は、対応するデバイス情報テーブル01〜0Nにより、ファームウェアによるI/Oアクセスサービスのためのドライバが何であるかを判断する。また、システムファームウェア0は、対応するドライバを見つけ、実際にデバイスにアクセスを実施する。
例えば、BusX SlotYのSCSIコントローラへのアクセス要求を受け取ったシステムファームウェア0は、デバイス構成テーブル(00)を検索して、仮想デバイスであるBusX SlotYのSCSIコントローラに対応する物理デバイスは、BusZ SlotWのSCSIコントローラであると判断し(ステップ4E)、SCSIドライバにより実際にSCSIコントローラにアクセスする。このとき、OSローダー20は、BusX SlotYのSCSIコントローラへのアクセスが実施できたと判断する(図2B、ステップ4F)。
以上の手続きにより、システムファームウェア0のサービスを用いて、オペレーティングシステム2は、実際には実装されていない位置にある仮想デバイスにアクセスすることができる。
0 システムファームウェア
01〜0N デバイス情報テーブル
2 オペレーティングシステム
3 スイッチ
10〜1N I/Oデバイス
20 OSローダー
100 コンピュータシステム
01〜0N デバイス情報テーブル
2 オペレーティングシステム
3 スイッチ
10〜1N I/Oデバイス
20 OSローダー
100 コンピュータシステム
Claims (2)
- 複数のデバイスと、前記デバイスに対応したデバイス情報テーブルを有するシステムファームウェアと、前記デバイスへのアクセスを前記システムファームウェアに対して要求するオペレーティングシステムとを有するコンピュータシステムのデバイス認識方法であって、前記システムファームウェアは、前記オペレーティングシステムに対しデバイス構成情報を用いて前記デバイスの種別情報と実装位置情報とを通知するステップと、前記デバイス情報テーブルを適宜書き換えるステップと、実存しない仮想デバイスを前記オペレーティングシステムに対して存在するよう認識させるステップとを有することを特徴とするコンピュータシステムのデバイス認識方法。
- 前記オペレーティングシステムから前記システムファームウェアに対して前記仮想デバイスへのアクセス要求がきたとき、前記システムファームウェアは、前記デバイス情報テーブルを参照して前記仮想デバイスと実存する前記デバイスとの対応付けを行うステップと、前記仮想デバイスに対応した実存する前記デバイスへのアクセスを実行するステップとを有することを特徴とする請求項1記載のコンピュータシステムのデバイス認識方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005091184A JP2006276975A (ja) | 2005-03-28 | 2005-03-28 | コンピュータシステムのデバイス認識方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005091184A JP2006276975A (ja) | 2005-03-28 | 2005-03-28 | コンピュータシステムのデバイス認識方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006276975A true JP2006276975A (ja) | 2006-10-12 |
Family
ID=37211717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005091184A Withdrawn JP2006276975A (ja) | 2005-03-28 | 2005-03-28 | コンピュータシステムのデバイス認識方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006276975A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593124A (zh) * | 2008-05-29 | 2009-12-02 | 索尼株式会社 | 用于在电子设备中嵌入信息的系统和方法 |
US9838254B2 (en) | 2014-03-31 | 2017-12-05 | Nec Corporation | Information processing equipment, information processing method and storage medium |
-
2005
- 2005-03-28 JP JP2005091184A patent/JP2006276975A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593124A (zh) * | 2008-05-29 | 2009-12-02 | 索尼株式会社 | 用于在电子设备中嵌入信息的系统和方法 |
US9838254B2 (en) | 2014-03-31 | 2017-12-05 | Nec Corporation | Information processing equipment, information processing method and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI480803B (zh) | 獨立作業系統間之共享檔案系統管理 | |
JP5767750B2 (ja) | 管理エンジンを利用したコンポーネント更新 | |
KR101748000B1 (ko) | 다른 운영 체제로의 부팅의 동적 리디렉션 | |
US10067777B2 (en) | Supporting multiple operating system environments in computing device without contents conversion | |
KR101602360B1 (ko) | 시스템 고속 부팅 장치 및 방법 | |
JP2007052727A (ja) | 情報処理装置およびアクセス方法 | |
JP2006510995A (ja) | コンピューター基本ソフトを保護媒体より起動し、そして実行するように変更する方法。 | |
JPH05289854A (ja) | 外部記憶装置のアクセス装置 | |
JP2016167143A (ja) | 情報処理システムおよび情報処理システムの制御方法 | |
JP2009140489A (ja) | Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法 | |
US20100042710A1 (en) | Remote management of computer system | |
WO2015018225A1 (zh) | 虚拟机磁盘空间的扩展方法、宿主机和平台 | |
US20050034125A1 (en) | Multiple virtual devices | |
US20070233727A1 (en) | Multiple Virtual Devices | |
JP2009230433A (ja) | ネットワークブート装置、プログラム及び方法 | |
US20040243385A1 (en) | Emulation of hardware devices in a pre-boot environment | |
JP2006276975A (ja) | コンピュータシステムのデバイス認識方法 | |
JP2009093369A (ja) | スティックサーバ | |
JP6669958B2 (ja) | 情報処理装置 | |
TWI754221B (zh) | 軟體存留性關閉技術 | |
JP2009266027A (ja) | 情報処理装置および制御方法 | |
JP2006252112A (ja) | ネットワークブートシステム、単位記憶ユニットのマウント方法およびプログラム | |
JP2004334679A (ja) | 情報処理装置、情報処理装置のプログラム実行方式、情報処理装置のプログラム実行方式を記録した記憶媒体 | |
JP5343489B2 (ja) | コンピュータシステム、およびレガシーアプリケーション実行方法、およびプログラム | |
JP2011198280A (ja) | 仮想ディスク制御システム、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |