JP5893173B2 - 入力/出力抽出の遅延を提供することによってプラットフォームブート時間を低減するための方法 - Google Patents

入力/出力抽出の遅延を提供することによってプラットフォームブート時間を低減するための方法 Download PDF

Info

Publication number
JP5893173B2
JP5893173B2 JP2014554810A JP2014554810A JP5893173B2 JP 5893173 B2 JP5893173 B2 JP 5893173B2 JP 2014554810 A JP2014554810 A JP 2014554810A JP 2014554810 A JP2014554810 A JP 2014554810A JP 5893173 B2 JP5893173 B2 JP 5893173B2
Authority
JP
Japan
Prior art keywords
user input
input hardware
boot
hardware device
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
JP2014554810A
Other languages
English (en)
Other versions
JP2015505118A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2015505118A publication Critical patent/JP2015505118A/ja
Application granted granted Critical
Publication of JP5893173B2 publication Critical patent/JP5893173B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

従来、多くのコンピューティングシステムは、システムクロックの設定、メモリセットアップの管理、新しいハードドライブの構成、ブートの順番の変更、パスワードのリセット等、様々な設定機能を実行するべく、ユーザがブート処理をインタラプトすることを可能にしてきた。インタラプトは、基本入力/出力システム(BIOS)ブート処理中に、delete、F1、F2、F10、またはctrl‐alt‐delete等、ユーザが特定のキーボードボタンをアクティブ化することにより開始することができる。そのようなシステムのために、ブート時間は、ユニバーサルシリアルバス(USB)キーボード等の入力/出力(I/O)デバイスを列挙およびポーリングし、ユーザがそのようなインタラプトを確かに開始したかどうかを判断するときに、著しく長くなることがある。
オペレーティングシステムの起動前に行う操作の例示である。
本発明の一実施形態によるオペレーティングシステムを起動する前に行う操作の例示である。
本発明の一実施形態による、向上したブートを行うための方法の流れ図である。
本発明の実施形態による、ファームウェアおよび向上したブートのインタラプト制御を可能にすることに関連して行う操作の流れ図である。
本発明の少なくとも一実施形態による、第1および第2のシステムを例示するブロック図である。
本発明の他の少なくとも一実施形態による、システムのブロック図である。
本発明の他の少なくとも一実施形態による、システムのブロック図である。
実施形態は、特定の入力/出力(I/O)デバイス(例えばユニバーサルシリアルバス(USB)キーボード、0.5〜1.5秒程度掛かり得る)をポーリングする負担に必ずしも直面することなく、プラットフォームのインタラプト可能性の制御を可能にするように用いることができる。モバイルデバイス、例えばスマートフォン、タブレットコンピュータ、ウルトラブック(登録商標)、電子リーダ等のコンピューティングシステムはより普及して、インスタントオンまたはニアインスタントオンの動作に対するユーザの希望が存在するため、ブート速度が更に問題となる。それにも拘わらず、ブート処理をインタラプトし、セットアップまたは診断等の一定のプレブートモードに入る能力を提供する等、矛盾する要求が存在するが、これは、ユーザがある種のホットキーを選択することによってトリガすることができる。このような操作を含めるには、インタラプトを承諾するキーボードが連結される、バスを列挙するだけで0.5秒掛かることがある。更に、ある量の待ち時間をユーザに提供してキーを処理するが、これにより、プラットフォームがブート処理を著しく遅延させることを絶えず行うシナリオを導入し、ブート時間を更に悪化させるため、まだほとんど使用されていない。
実施形態はユーザ入力が提供されない多くのブートで、この状況を制御可能に回避することができ、従って大部分のシステムブートのニアインスタントオンのブートを可能にする。様々な実施形態によれば、プラットフォームBIOS等のプレブートコードは、I/Oデバイス等の1つまたは複数のハードウェアデバイスの初期化の遅延(換言すれば、オンデマンドの初期化)をサポートすることができる。
実施形態は、ハードウェアが実際に初期化されると、通常表示される標準的インターフェースを表示するが、初期化処理は回避される。消費者がインターフェースを呼び出す場合には、ハードウェアに触れるのみであり、(その場合のみ)ハードウェアを初期化することに関連する時間に実際に直面する
ここで図1を参照して、ユーザ入力のためにポーリングするハードウェアを初期化するオーバヘッドを負担するオペレーティングシステムを起動する前に行われる、従来の操作の例示を示す。図1に見るように、オペレーティングシステム(OS)を起動する段階は、BIOS初期化から開始し、これにより、中央処理装置(CPU)/チップセットが初期化される。次に、I/Oバス等のバスを列挙してデバイスを探す。このバス上に、例えばキーボード等のユーザ入力ハードウェアデバイスなどのデバイスに同様にインターフェース接続するUSBコントローラ等、1つまたは複数ハードウェア要素が存在することがある。そのようなユーザ入力デバイス、より一般的にはI/Oデバイスの例としては、キーボード、マウス、テンキーパッド、タッチスクリーン、ディスプレイスクリーン上に表示された仮想キーボード等が挙げられ得る。
見る通り、プローブ操作は、ハードウェア要素とデバイスとの間で行われ、デバイスの存在をプローブする。次に、レガシーUSBをエミュレートするべく、周期的なシステム管理インタラプト(SMI)を周期的なインタラプトにプログラミングする。見る通り、インタラプトはCPU/チップセット内で生成され得る。従って、ポーリング操作が行われ、これによってCPUは、ハンドラがデバイス、例えばキーボードの存在のポーリング、ユーザ入力のポーリングをこうして実行することができるシステム管理モード(SMM)に入る。例えば、I/Oデバイスに、ユーザが入力を提供し、ブート処理がインタラプトされるかどうかを示すようにインタロゲーションしてもよい。従って、ユーザが開始した入力についてデバイスは監視される。一例として、このインタロゲーションは、デバイスとハンドシェイクする段階と、デバイスをポーリングする段階とを伴う。ハンドシェイクを確立する段階は、例えば、特定の形式のデータを特定のポートに送信することを伴う。
なおも図1を参照すると、次に、存在する場合、システムの不揮発性ストレージ、例えばフラッシュメモリ等の目標媒体、またはハードドライブ等の大容量ストレージデバイスからOSローダを読み取る。次いで、BIOSはOSを起動させる。OSの起動後、ネイティブOSドライバを起動する。デバイスをプローブし、操作をポーリングすることに関連する時間の遅延のため、このブート処理は、所望よりも長い時間が掛かる可能性があることに留意されたい。
代わって、ある実施形態によれば、様々なオーバヘッドは、OSの起動前にブート処理から取り除くことができる。ここで図2を参照して、本発明の一実施形態による、オペレーティングシステムの起動前に行われる操作の例示を示す。図2に見るように、オーバヘッドを取り除くと、OSの初期化と起動との間の時間は遥かに短くなる可能性がある。見る通り、CPU/チップセットの初期化後、OSローダを直ちに読み取り、その結果、OSを直ちに起動し、上記のオーバヘッドを取り除くことができる。
このように、たとえ電源をオフにしたプラットフォームからブートするときでも、「インスタントオン」またはほぼ「インスタントオン」の知覚される操作が行われる。このような知覚されるインスタントオンの操作を実現するべく、デバイスをプローブし、ユーザ入力をポーリングするこれらのオーバヘッド(通常、これは生じることはない)を回避することができる。それにも拘わらず、ブート処理に時折割り込んで、例えば診断モードに入り、またはユーザ入力がBIOSセットアップルーチンに入ることを可能にする、妥当な製品要求が存在する。
ここで図3を参照して、本発明の一実施形態により向上したブートを行うための方法の流れ図を示す。図3に示すように、方法100は、BIOSの論理等のファームウェアに実装するとしてもよい。見る通り、方法100は、システムの電源をオンにすることから開始する(ブロック105)。システムのこの電源オンに応答して、初期化を行うことができる(ブロック110)。この初期化により、CPU/チップセットの初期化、メモリの検出、1つまたは複数のバスおよび、おそらくは他の一定の低レベルのハードウェアの初期化がトリガされ得る。更に、プレブート環境、例えばユニファイド・エクステンシブル・ファームウェアインタフェース(UEFI)のプレブート環境の実行を行うことができる。このプレブート環境の一部として、ダイアモンド115でシステムがインターフェースの遅延初期化を可能にすることができるかどうかを判断することができる。本発明の範囲はこの点に限定されないが、一実施形態において、この判断は、向上したブートを可能にし、または無効にするかどうかを指示するBIOS設定に基づくことができる。この構成設定はユーザ、OS、または他のエンティティによって制御することができることに留意されたい。システムがそのようなインターフェースの遅延初期化用に構成されていない場合、制御はブロック120に進み、通常の広範な初期化が継続し得る。図1に関して上述したように、この初期化は、I/Oバスの列挙および初期化、ハードウェアの初期化、ポーリング等に関する動作を含むとしてもよい。
図3のダイアモンド115をなおも参照すると、向上したブートを行うべきであると判断した場合、制御はブロック125に進み、入力ハードウェア用のインターフェース(例えばキーボードまたは他のデバイス)を表示することができる。この操作はメモリのみの操作であり、従って、デバイスの実際の初期化が回避され、インターフェースの公表のみが行われると、ゼロタイムが生じることに留意されたい。一実施形態において、このインターフェースの公表は、UEFIシンプルテキスト入力プロトコルに従うことができる。次に、ブロック125およびダイアモンド115から、制御はダイアモンド130に進み、ユーザから入力が要求されるかどうかを判断することができる。この判断は、ブートに割り込むべきかどうかを示すBIOS設定に基づくことができる。一実施形態において、この設定はプラットフォームの先の動力サイクル中にユーザによって選択し、ユーザがシステムの次のブートをインタラプトすることを試みているかどうかを示す。そのような入力の要求がなされない場合、制御はブロック140に直接進み、OSのブートストラップコードを起動することができ、これは、一実施形態においてブートマネージャを介して実装することができる。従って、制御はブロック150に進み、OSブートを完了することができる。
なおも図3を参照すると、ユーザからの入力がむしろ要求される場合、制御はブロック160に進み、入力デバイスのインターフェースを呼び出すことができる。一実施形態において、このインターフェースは、UEFIシンプルテキスト入力プロトコルに従うことができる。先に表示されたインターフェースの呼び出しのために、制御はブロック165に進み、入力ハードウェアは例えば、PS/2、USB、または他のプロトコルに従って初期化することができる。この初期化は、ハードウェアが以前に初期化されなかった(例えば、従来の完全なブート処理がむしろ選択されるブロック120で行うように)状況で行われ得ることに留意されたい。
なおも図3を参照すると、次に、制御はブロック170に進み、要求をサービス提供し、データを返すことができる。例えば、ユーザのキーボード入力の文脈において、キーボードハンドラを呼び出し、次のキーストロークをキーボードバッファから得て、データを、入力としてこのデータを用いるBIOSルーチン等の示された位置に返すことができる。次に、制御は、上述のOSのブートストラップコードを起動するべく、ブロック150に進む。図3の実施形態では高レベルで示してあるが、本発明の範囲はこの点で限定されないことを理解されたい。
ここで図4を参照して、本発明の実施形態により、ファームウェアのインタラプト制御および向上したブートを可能にすることに関して行われる操作の流れ図を示す。図4に示すように、操作は、OSの現在の論理およびBIOS論理により部分的に行うことができる。通常、OS論理はユーザがプラットフォームを構成することを可能にし、次のブートアップをインタラプトし、例えば診断モード、BIOS設定のユーザ更新を可能にするように用いることができる。同様に、BIOS論理は、設定に応じて、向上したブート(高性能のブートモードとも呼ばれる)またはユーザインタラプトブートモードを行うように用いることができる。
図4に見る通り、方法300は、ユーザがBIOSセットアップ制御パネルアプレットを選択するかどうかを(ダイアモンド305で)決定することにより開始することができ、一実施形態のBIOSセットアップ制御パネルアプレットは、OSの制御パネルユーザインタフェース中に存在することがある。その場合、制御はブロック310に進み、特定のアプリケーションプログラミングインタフェース(API)、例えばセットファームウェア環境変数(Set Firmware Environment Variable)APIを呼び出して次のブートに割り込むべきかどうかを示すことができる。この設定情報は、OSおよびBIOSの双方にアクセス可能な共通のレポジトリである共有されるスタティック変数の位置に格納することができ、これは一実施形態で、メールボックスインタフェースとして動作することができ、従ってOSを用いて選択した設定は後でBIOSによりアクセスすることができる。次いで、制御はダイアモンド315に進み、アプレットポリシーが再起動することを指示するかどうかを決定することができる。その場合、通常のシステム操作はブロック320で継続してもよい。そうでなければ、プラットフォームの再起動をブロック330で行ってもよい。図4の実施形態は、ユーザが1つまたは複数のファームウェア環境変数(例えばUEFI変数等)を設定することが可能にする、制御パネルプログラムのアプレットの使用を実演するが、他の実施形態において、ユーザ入力はドライバ、アプレット、またはオペレーティングシステムとは別個の他のソフトウェアプログラムを介して入力するとしてもよいことに留意されたい。
図4をなおも参照すると、そのようなOSにより提供される設定に基づくブート中のBIOS操作は、このプラットフォームの再起動に応答して、またはシステムの次のブートアップのときに行うことができる。いずれの場合でも、制御はブロック340に進み、システムに電源供給することができる。次いで、制御はブロック345に進み、プラットフォームは、例えば上述のように初期化することができる。その後、ダイアモンド350で、プラットフォームを有効にして条件付きの高性能ブートをサポートするかどうかを判断することができる。上記のように、この条件付きの高性能ブートは、ユーザインタフェースのハードウェア等、一定のハードウェアを初期化するオーバヘッドを回避することができる。
なおも図4を参照すると、プラットフォームをそのように有効にする場合、制御はブロック360に進み、スタティック変数ストレージからアクセスされ得るポリシー変数は、読み取られて、高性能のブートモードを選択するかどうかを決定することができる。換言すれば、ユーザのインタラプトが行われない(またはおそらくは行われない)場合、本発明の実施形態による向上したブートを行うことができる。このポリシー変数は一実施形態において、インジケータ(フラグ等)であり、ユーザのインタラプトが予期され、またはあり得るかどうかを示すことができるが、これはユーザがいくつかの理由により次のブートに割り込むことを計画していることを意味する。この変数は、OSの現在の環境において共通にアクセス可能な格納位置に格納することができる。一実施形態において、この格納位置は、フラッシュNVMによってバックアップされるUEFI変数等、揮発性メモリまたは不揮発性メモリ(NVM)のいずれかのそのような任意の共有メモリ位置であってもよい。
ブートが、ユーザにより開始したブートインタラプト(ダイアモンド365で決定された)がない高性能モードにある場合、制御はブロック390に直ちに進み、OSを起動することができる。そうでなければ、制御はブロック370に進む(高性能ブートまたは向上したブートに対してプラットフォームが有効になっていない場合に、制御は更に進む)。ブロック370で、初期化は継続し、様々なI/Oバスを列挙して、入力デバイスをプローブする(従って初期化する)段階を含むとしてもよい。次に、ダイアモンド375で、任意のブートインタラプトを受信したかどうかを判断することができる。その場合、所与のBIOSルーチン、例えばBIOSメニューの表示を有効にする表示ルーチン等の適切な操作を実行することができる(ブロック380)。一実施形態において、この表示は診断スクリーン、BIOSセットアップユーザインタフェースメニュー、または他の表示であってもよい。BIOSメニューは、例えば、ハードウェアの構成、システムクロックの設定、および/またはBIOSユーザインタフェース機能自体へのアクセスを保護し、悪意のユーザが許可されていない周辺機器からシステムをブートすることを阻止するためのパスワード等、様々なパスワードプロンプトの設定の選択肢のうち1つまたは複数を含むとしてもよい。勿論、このメニューに応答して、ユーザは構成更新、クロック更新等、一定の情報を提供することができる。
その後、BIOSは、この情報を用いて構成の格納および更新を行ってもよい。この操作は例えばBIOSセットアップメニューに対する更新による端末状態であるので、マシンの再起動が生じ、従って制御はブロック340に戻ってもよい(例示を容易にするために図4に図示せず)。
なおも図4を参照すると、ダイアモンド375でブートインタラプトを受信しない場合、制御はダイアモンド385に進み、OSが起動する前にプラットフォームに固有の量の時間が経過したかどうかを判断することができる。この所定の量の時間は、プラットフォームによって変化することがあり、OSを起動する前にブート処理のために経過することを許されたプラットフォームに固有の最大量の時間に少なくとも部分的に基づいてもよい。そうでない場合、制御はブロック370に進む。時間の量が経過した場合、制御はブロック390に進み、OSを起動することができる。
上述の図は、既定の操作が向上し、ユーザが向上した処理をオーバーライドし、代わりにブートをインタラプト可能にすることを選択しない限り、I/Oデバイスにインタロゲーションしない、より速いブート処理である実施形態を例示する。しかし、当業者は既定の処理がポリシーの問題であって、容易に逆の実装をすることができることを理解するであろう。従って、I/Oデバイスのポーリングが既定のブート処理の一部であるべきかどうかの選択はプラットフォームポリシーの問題であり、種々の実施形態で変化することがある。代替の実施形態については、既定のブート操作は、I/Oデバイスのインタロゲーションはブート処理のインタラプトを提供するべく常に行われるが、ユーザは、代わりにユーザのオーバーライド処理により、より速い、向上したブート処理(例えば、I/Oデバイスのポーリングもインタロゲーションもせずに)を行うことを選択することができるというものである。
従って、実施形態はBIOS内でのブート時間を、25%を超えて低減し、「インスタントオン」およびブートのインタラプト可能性という衝突する要求に対応するために使用することができる。通常のブート動作としてのブート性能に対するそのような増加は、ミッションクリティカルな環境に入り、5桁の9(99.999%の動作可能時間)を満たす要求を負うことを意図する更に大きなプラットフォームに役立つ。ブート速度は、99.999%の動作可能時間の要求のために、プラットフォームが1年におよそ5.5分間だけ「ダウン」することができる係数である。プラットフォームがリブートする必要がある場合、そのリブートが速ければ速いほど良い。
ここで図5を参照して、第1のシステム500aおよび第2のシステム500bのブロック図を示し、それらのぞれぞれは上記の向上したブート処理の実施形態を実行することができる。図5に示すように、第1のシステム500aは1つまたは複数処理要素510、515を含むとしてもよく、これらはグラフィックスメモリコントローラハブ(GMCH)520に連結される。追加の処理要素515の任意選択の性質は、図5に破線で示す。
各処理要素510、515は単一のコアであってもよく、あるいはマルチコアを含んでもよい。処理要素510、515は、一体化メモリコントローラおよび/または一体化I/O制御論理等の処理コア以外に、任意選択により他のオンダイ要素を含むとしてもよい。また、第1のシステム500aの少なくとも一実施形態では、処理要素510、515のコアは、1つのコアにつき2つ以上のハードウェアスレッドコンテキストを含み得るようにマルチスレッドになってもよい。
図5は、GMCH520が例えばダイナミックランダムアクセスメモリ(DRAM)であり得るメモリ530に結合されてもよいことを例示する。少なくとも一実施形態では、メモリ530は、オペレーティングシステムを含むコードまたは命令を含むとしてもよい。
GMCH520は、チップセットまたはチップセットの一部分であってもよい。GMCH520は、プロセッサ510、515と通信し、プロセッサ510、515、およびメモリ530の間で制御対話してもよい。また、GMCH520は、プロセッサ510、515およびシステム500aの他の要素の間で加速バスインタフェースとして動作してもよい。少なくとも一実施形態では、GMCH520は、フロントサイドバス(FSB)595等のマルチドロップバスを介してプロセッサ510、515と通信してもよい。他の実施形態(例えば図6および7を参照されたい)では、GMCH520は、ポイントツーポイント相互接続を介してプロセッサ510、515と通信する。
更に、GMCH520はディスプレイ540(例えば、フラットパネルディスプレイまたは接触感知式ディスプレイデバイス等)に結合される。GMCH520は、一体化されたグラフィックスアクセラレータを含むとしてもよい。更に、GMCH520は入力/出力(I/O)コントローラハブ(ICH)550に結合され、入力/出力コントローラハブ550は、様々な周辺機器をシステム500aに結合するために用いることができる。例えば、図5の実施形態において、外部グラフィックスデバイス560が示され、これはディスクリートのグラフィックスデバイスであり、1つまたは複数のキーボード、マウス、またはテンキーパッド等、他の周辺機器570と共にICH550に結合されてもよい。
あるいは、追加または異なる処理要素が第1のシステム500a内にも存在してもよい。例えば、第2のシステムの実施形態500bに関して程なく以下で論じる特徴のいずれかを第1のシステム500aに含むとしてもよい。また、追加の処理要素515は、プロセッサ510と同一の追加のプロセッサ、プロセッサ510と異種であり、またはこれと対称的な追加のプロセッサ、アクセラレータ(例えばグラフィックスアクセラレータまたはデジタル信号処理(DSP)装置)、フィールドプログラマブルゲートアレイ、またはその他の処理要素を含むとしてもよい。アーキテクチャ、マイクロアーキテクチャ、熱、および電力消費の特性等を含む性能メトリックの範囲の観点から物理的リソース510、515の間に様々な差が存在する可能性がある。これらの差は、処理要素510、515中で非対称および異種として効果的に現れ得る。少なくとも一実施形態において、様々な処理要素510、515は同一のダイパッケージ内に存在し得る。
また、図5は、第2のシステム500bが1つまたは複数の処理要素511を含み得ることを例示する。図5に例示する第1のシステム500aと同様に、システム500bは所望の電子デバイス500bを構成するべく、任意の好適なハードウェアおよび/またはソフトウェアを用いて実装し得る電子デバイスである。一実施形態について、図5は例えば、システム500bが接触感知式ディスプレイデバイス502、1つまたは複数のプロセッサ511、少なくとも1つのプロセッサ511に結合されたシステム制御論理504、システム制御論理504に結合されたシステムメモリ530、システム制御論理504に結合された非揮発性メモリおよび/もしくはストレージデバイス535、およびシステム制御論理504に結合された1つまたは複数の通信用インターフェース506を含むことを例示する。
接触感知式ディスプレイデバイス502(本明細書において「タッチスクリーン」とも呼ばれる)は、限定されないが、例えば容量性、抵抗性、弾性表面波(SAW)、赤外線、および光学的な画像処理等、任意の好適なタッチ感知技術を用いて実装することができる。一実施形態において、接触感知式ディスプレイデバイス502に用いるタッチ感知技術は、表面に実際に接触することを必要としないことがあるが、それでも表面付近の対象物の存在を感知はすることができる。それにも拘わらず、そのような技術がディスプレイデバイス502の表面に実際に接触する対象物を同様に感知し、そのような表面が電子デバイス500bを用いるときに実際に接触されやすいので、そのような技術は接触感知式とみなされ得る。一実施形態の接触感知式ディスプレイデバイス502は任意の好適なマルチタッチの技術を用いて実装してもよい。接触感知式ディスプレイデバイス502は、例えば液晶ディスプレイ(LCD)の技術等、任意の好適なディスプレイ技術を用いて実装し得るディスプレイを含む。少なくとも一実施形態のシステム制御論理430は1つまたは複数のグラフィックスコントローラを含み、1つまたは複数のディスプレイインタフェースを接触感知式ディスプレイデバイス502に提供することができる。
少なくとも一実施形態のシステム制御論理504は任意の好適なインタフェースコントローラを含み、システム制御論理504を用いて通信する少なくとも1つのプロセッサ511および/または任意の好適なデバイスもしくはコンポーネントに任意の好適なインターフェースを提供することができる。
少なくとも一実施形態のシステム制御論理504は1つまたは複数のメモリコントローラを含み、インターフェースをシステムメモリ530に提供する。システムメモリ530は、例えばシステム500bのためのデータおよび/または命令を読み込み、格納するべく用いてもよい。少なくとも一実施形態において、システムメモリ530は任意の好適なドライバソフトウェア、アプリケーションソフトウェア、および/またはオペレーティングシステムソフトウェア等、任意の好適なソフトウェア532を格納するべく用いてもよい。一実施形態のシステムメモリ530は、例えば任意のダイナミックランダムアクセスメモリ(DRAM)等、任意の好適な揮発性メモリを含むとしてもよい。
少なくとも一実施形態のシステム制御論理504は、1つまたは複数の入力/出力(I/O)コントローラを含み、接触感知式ディスプレイデバイス502、非揮発性メモリ、および/またはストレージデバイス535へのインターフェース、ならびに通信用インターフェース506を提供することができる。
非揮発性メモリおよび/またはストレージデバイス535は、例えばデータおよび/または命令を格納するべく用いてもよい。非揮発性メモリおよび/またはストレージデバイス535は、例えばフラッシュメモリ等の任意の好適な非揮発性メモリを含むとしてもよく、および/または、例えば1つまたは複数のハードディスクドライブ(HDD)、1つまたは複数のコンパクトディスク(CD)ドライブ、および/または1つまたは複数のデジタル多用途ディスク(DVD)ドライブ等、任意の好適な非揮発性ストレージデバイスを含むとしてもよい。非揮発性メモリおよび/またはストレージデバイス535は、少なくとも一実施形態においては、BIOS処理のための命令537を格納する揮発性読み取り専用メモリ(ROM)を含むとしてもよい。
通信用インターフェース506は、システム500bのためのインターフェースを提供し、1つまたは複数のネットワークを介して、および/または他の任意の好適なデバイスを用いて通信することができる。通信用インターフェース506は任意の好適なハードウェアおよび/またはファームウェアを含むとしてもよい。一実施形態の通信用インターフェース506は、例えばネットワークアダプタ、無線ネットワークアダプタ、電話モデム、および/または無線モデムを含むとしてもよい。無線通信については、一実施形態の通信用インターフェース506は1つまたは複数のアンテナ508を用いてもよい。
少なくとも一実施形態のシステム制御論理504は1つまたは複数の入力/出力(I/O)コントローラを含み、例えば音声を対応するデジタル信号に変換し、および/またはデジタル信号を対応する音声に変換するのを支援するオーディオデバイス、カメラ、カムコーダ、プリンタ、および/またはスキャナ等、任意の好適な入力/出力デバイスにインターフェースを提供することができる。
少なくとも一実施形態において、少なくとも1つのプロセッサ511は、システム制御論理504の1つまたは複数のコントローラ用の論理と共にパッケージ化してもよい。一実施形態において、少なくとも1つのプロセッサ511はシステム制御論理504の1つまたは複数のコントローラ用の論理と共にパッケージ化し、システムインパッケージ(SiP)を形成してもよい。一実施形態において、少なくとも1つのプロセッサ511は、システム制御論理504の1つまたは複数のコントローラ用の論理を用いて同一のダイ上に一体化してもよい。一実施形態において、少なくとも1つのプロセッサ511は、システム制御論理504の1つまたは複数のコントローラ用の論理を用いて同一のダイ上に一体化し、システムオンチップ(SoC)を形成してもよい。
一実施形態ではシステム500b内で用いるものとして記載されるが、他の実施形態の接触感知式ディスプレイデバイス502は他のシステム構成で用いてもよい。
ここで図6を参照して、本発明の実施形態による第3のシステム実施形態600のブロック図を示す。図6に示すように、マルチプロセッサシステム600はポイントツーポイント相互接続システムであり、ポイントツーポイント相互接続650を介して結合された第1の処理要素670および第2の処理要素680を含む。図6に示すように、処理要素670および680のそれぞれは、第1および第2のプロセッサコア(すなわちプロセッサコア674aおよび674bと、プロセッサコア684aおよび684b)とを含むマルチコアプロセッサであってもよい。
あるいは、処理要素670、680のうち1つまたは複数は、アクセラレータまたはフィールドプログラマブルゲートアレイ等、プロセッサ以外の要素であってもよい。
2つの処理要素670、680のみで示してあるが、添付の特許請求の範囲はそのようには限定されないことを理解されたい。他の実施形態において、1つまたは複数の追加の処理要素が所与のプロセッサ内に存在する場合がある。
第1の処理要素670は、メモリコントローラハブ(MCH)672と、ポイントツーポイント(P‐P)インターフェース676および678とを更に含むとしてもよい。同様に、第2の処理要素680はMCH682と、P−Pインターフェース686および688とを含むとしてもよい。図6に示すように、MCH672および682はプロセッサを各々のメモリ、すなわちメモリ632およびメモリ634に結合し、これらは各々のプロセッサに局部的に取り付けられたメインメモリの一部となることがある。
第1の処理要素670および第2の処理要素680はP‐P相互接続652および654を介してそれぞれチップセット690に結合することができる。図6に示すように、チップセット690はP−Pインターフェース694および698を含む。更に、チップセット690はインターフェース692を含み、チップセット690を高性能のグラフィックスエンジン638と結合する。一実施形態において、バス639は、グラフィックスエンジン638をチップセット690に結合するために用いてもよい。あるいは、ポイントツーポイント相互接続639はこれらのコンポーネントを結合してもよい。
同様に、チップセット690をインターフェース696を介して第1のバス616に結合してもよい。一実施形態において、第1のバス616は周辺構成要素相互接続(PCI)のバス、またはPCIエクスプレスバスまたは別の第三世代I/O相互接続バス等のバスであってもよいが、添付の特許請求の範囲はそのようには限定されない。
図6に示すように、様々なI/Oデバイス614を第1のバス616をバスブリッジ618と共に結合してもよく、バスブリッジ618は第1のバス616を第2のバス620に結合する。一実施形態において、第2のバス620はローピンカウント(LPC)バスであってもよい。様々なデバイスを、例えばキーボードおよび/もしくはマウス622、一実施形態のコード630を含み得るディスクドライブもしくは他の大容量ストレージデバイス等の通信デバイス626およびデータストレージユニット628を含む第2のバス620に結合してもよい。コード630は、1つまたは複数の上記方法の実施形態を実行するための命令を含むとしてもよい。更に、オーディオI/O624を第2のバス620に結合してもよい。他のアーキテクチャが可能であることに留意されたい。例えば、図6のポイントツーポイントのアーキテクチャの代わりに、システムはマルチドロップバスまたは別のそのようなアーキテクチャを実装してもよい。
ここで図7を参照して、本発明の実施形態による第4のシステム実施形態700のブロック図を示す。図6および7の同一の要素は同一の符号を有し、図6の一定の態様は図7の他の態様を不明瞭にすることを避けるため、図7から省かれている。
図7は、処理要素670、680が一体化メモリと、I/O制御論理(「CL」)672および682とをそれぞれ含み得ることを例示する。少なくとも一実施形態において、CL672、682は、図5および6に関して上述したもの等のメモリコントローラハブ(MCH)論理を含んでもよい。更に、CL672、682はI/O制御論理も含むとしてもよい。図7は、メモリ632、634がCL672、682に結合されるのみならず、I/Oデバイス714も制御論理672、682に結合され得ることも例示する。レガシーI/Oデバイス715をチップセット690に結合してもよい。
本明細書に開示されるメカニズムの実施形態はハードウェア、ソフトウェア、ファームウェア、またはそのような実装アプローチの組み合わせで実装することができる。実施形態は、少なくとも1つのプロセッサと、データストレージシステム(揮発性メモリおよび/もしくは不揮発性メモリ、ならびに/またはストレージ要素を含む)と、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを有するプログラマブルシステム上で実行するコンピュータプログラムとして実装することができる。
図6に例示するコード630等のプログラムコードは、入力データに適用し、本明細書に説明する機能を実行し、出力情報を生成することができる。例えば、プログラムコード630は、図3および4において例示する実施形態を実行するべく符号化されるオペレーティングシステムおよび/またはBIOSを含むとしてもよい。従って、本発明の実施形態は本発明の操作を実行するための命令、またはHDL等の設計データを含むマシンアクセス可能な媒体も含み、これは本明細書に説明する構造、回路、装置、プロセッサおよび/またはシステムの特徴を定義する。そのような実施形態はプログラム製品とも呼ばれることがある。
そのようなマシンアクセス可能なストレージ媒体としては、ハードディスク、フロッピー(登録商標)ディスク、光ディスク、コンパクトディスク読み取り専用メモリ(CD‐ROM)、書き換え可能型コンパクトディスク(CD‐RW)、および光磁気ディスクを含むその他のタイプのディスク等の非一時的ストレージ媒体、読み取り専用メモリ(ROM)、ダイナミックランダムアクセスメモリ、(DRAM)、スタティックランダムアクセスメモリ(SRAM)等のランダムアクセスメモリ(RAM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、フラッシュメモリ、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)等の半導体デバイス、磁気または光学カード、または電子命令を格納するのに好適なその他のタイプの媒体等のマシンまたはデバイスにより製造または形成される有形配列の物品が挙げられ得るが、これらに限定されない。
以下の例は更なる実施形態に関する。一実施形態において、システムはプロセッサと、プロセッサに結合された少なくとも1つのユーザ入力ハードウェアデバイスと、プロセッサの初期化を実行する第1のルーチンを含むプレブートコードを格納する不揮発性ストレージとを含み、システムの構成に基づいて少なくとも1つのユーザ入力ハードウェアデバイス用のインターフェースを表示するがこれを初期化せず、OSブートストラップコードを起動して、少なくとも1つのユーザ入力ハードウェアデバイスを初期化せずにOSを起動する。
実施形態において、システムはインジケータを格納する第2のストレージを更に含み、システムの次のブートがユーザ入力によりインタラプトされることを示す。インジケータがシステムの次のブートがインタラプトされることを示す場合、プロセッサは第2のストレージに格納されたインジケータにアクセスし、少なくとも1つのユーザ入力ハードウェアデバイスを初期化することができる。更に、プロセッサは少なくとも1つのユーザ入力ハードウェアデバイスを介してユーザ入力を受信することなく、初期化した後、および所定の時間後にOSのブートストラップコードを起動することができる。プレブートコードは少なくとも1つのユーザ入力ハードウェアデバイスを介して構成更新を受信する第2のルーチンを含み、ストレージ内に構成更新を格納することにより、その後システムを再起動させることができる。インジケータがシステムの次のブートがインタラプトされないことを示す場合、プロセッサは少なくとも1つのユーザ入力デバイスを初期化せずにOSブートストラップコードを直ちに起動することができる。
別の実施形態において、方法はコンピュータシステムの初期化を実行し、コンピュータシステムのプロセッサを初期化する段階と、プレブートコードの構成に基づいてコンピュータシステムのユーザ入力ハードウェアデバイス用のインターフェースを表示するが、ユーザ入力ハードウェアデバイスを初期化はしないことを含む、プロセッサのプレブートコードを実行する段階と、OSブートストラップコードを起動して、ユーザ入力ハードウェアデバイスを初期化することなくOSを起動する段階とを含む。
方法はユーザからの入力がOSのブートストラップコードを起動する前に要求されているかどうかを判断し、そうである場合にユーザ入力ハードウェアデバイス用のインターフェースを呼び出す段階を更に含むことができる。ユーザ入力ハードウェアデバイスは、インターフェースを呼び出すことに応答して初期化することができる。ユーザ入力ハードウェアデバイスを初期化した後、ユーザインターフェースハンドラを介してユーザ入力ハードウェアデバイスからデータを得てもよく、データはプレブートコードに提供され得る。ユーザからの入力が要求されているかどうかを判断する段階は、プレブートコードの実行中にユーザのインタラプトが予期されるかどうかを示すスタティック変数にアクセスする段階を含むことができる。実施形態において、プレブートコードの構成はユーザによって制御される。ユーザはコンピュータシステムの先の動力サイクル中にプレブートコード中の設定を更新することにより、コンピュータシステムの次の動力サイクルにおいてOSブートストラップコードを起動する前にユーザ入力ハードウェアデバイスを初期化させることができる本方法が次のブート中にインジケータにアクセスする段階と、インジケータがコンピュータシステムの次のブートがインタラプトされることを示す場合、次のブート中にユーザ入力ハードウェアデバイスを初期化する段階とを含むように、インジケータはコンピュータシステム内に格納され、コンピュータシステムの次のブートがユーザ入力によってインタラプトされることを表示することができる。
別の実施形態において、少なくとも1つのコンピュータ可読媒体は実行されると、コンピュータシステムの構成に基づいて、コンピュータシステムがプレブート環境内にコンピュータシステムのユーザ入力ハードウェアデバイス用のインターフェースを表示することを可能にするが、ユーザ入力ハードウェアデバイスを初期化しない命令を含み、OSブートストラップコードを起動し、ユーザ入力ハードウェアデバイスを初期化する前にコンピュータシステムのブート環境内でOSを起動する。
媒体は、コンピュータシステムのストレージ内に格納されたインジケータがコンピュータシステムの次のブートがインタラプトされないことを示す場合、ユーザ入力デバイスを初期化する前にOSブートストラップコードを直ちに起動することを可能にする命令を更に含むとしてもよい。また、命令はコンピュータシステムがストレージに格納されたインジケータにアクセスすることを可能にし、インジケータがシステムの次のブートがインタラプトされることを示す場合、ユーザ入力ハードウェアデバイスを初期化し、ユーザ入力ハードウェアデバイスを介してユーザ入力を受信することなく初期化した後、および所定の時間後にOSのブートストラップコードを起動する。命令はコンピュータシステムが、ユーザ入力ハードウェアデバイスを介して構成更新を受信し、ストレージ内に構成更新を格納し、その後コンピュータシステムを再起動させることも可能にする。そして、命令はコンピュータシステムが、インターフェースを呼び出し、ユーザ入力ハードウェアデバイスを初期化し、ユーザ入力ハードウェアデバイスを初期化した後、ユーザインターフェースハンドラを介してユーザ入力ハードウェアデバイスから構成更新に対応するデータを得ることも可能にする。
出力情報は既知の方法で1つまたは複数の出力デバイスに適用することができる。この適用のために、処理システムは例えば、デジタル信号プロセッサ(DSP)、マイクロコントローラ、特定用途向け集積回路(ASIC)、またはマイクロプロセッサ等のプロセッサを有する任意のシステムを含む。
プログラムは処理システムと通信するべく、高水準手続型プログラミング言語またはオブジェクト指向プログラミング言語で実装されてもよい。また、プログラムは、所望の場合、アセンブリまたはマシン言語で実装されてもよい。実際には、本明細書に説明するメカニズムは範囲において、いずれの特定のプログラミング言語にも限定されない。いずれの場合にも、言語はコンパイル言語または解釈言語であってもよい。
本発明は限定された数の実施形態に関して説明されているが、当業者は実施形態からの多くの変更形態および改変形態を理解するであろう。添付の特許請求の範囲は本発明の趣旨および範囲に含まれるそのような変更形態および改変形態を全て包含することを意図する。
本実施形態の例を下記の各項目として示す。
[項目1]
システムであって、
プロセッサ手段と、
前記プロセッサ手段に結合された少なくとも1つのユーザ入力ハードウェア手段と、
前記プロセッサ手段の初期化を実行し、前記システムの構成に基づいて前記少なくとも1つのユーザ入力ハードウェア手段用のインターフェースを表示するが、前記少なくとも1つのユーザ入力ハードウェア手段を初期化はせず、OSを起動するべく前記少なくとも1つのユーザ入力ハードウェア手段を初期化することなくオペレーティングシステム(OS)のブートストラップコードを起動し、第1のルーチンを含むプレブートコードを格納するための不揮発性ストレージ手段と
を備えるシステム。
[項目2]
インジケータを格納するための第2のストレージ手段を更に備え、前記システムの次のブートがユーザ入力によってインタラプトされることを示す、項目1に記載のシステム。
[項目3]
前記プロセッサ手段は、前記第2のストレージ手段内に格納された前記インジケータにアクセスし、前記インジケータが前記システムの前記次のブートがインタラプトされることを示す場合、前記少なくとも1つのユーザ入力ハードウェア手段を初期化する、項目2に記載のシステム。
[項目4]
前記プロセッサ手段は、前記少なくとも1つのユーザ入力ハードウェア手段を介してユーザ入力を受信することなく、前記初期化および予め定められた時間の後に前記OSのブートストラップコードを起動する、項目3に記載のシステム。
[項目5]
前記プレブートコードは、前記少なくとも1つのユーザ入力ハードウェア手段を介して構成更新を受信し、ストレージ手段内に前記構成更新を格納した後、前記システムを再起動させる第2のルーチンを含む、項目3または4に記載のシステム。
[項目6]
前記プロセッサ手段は、前記インジケータが前記システムの前記次のブートがインタラプトされないことを示す場合、前記少なくとも1つのユーザ入力手段を初期化することなく前記OSのブートストラップコードを直ちに起動する、項目2に記載のシステム。
[項目7]
コンピュータシステムの初期化を実行し、前記コンピュータシステムのプロセッサを初期化する段階と、
プレブートコードの構成に基づいて前記コンピュータシステムのユーザ入力ハードウェアデバイス用のインターフェースを表示するが、前記ユーザ入力ハードウェアデバイスを初期化はしないことを含む、前記プロセッサの前記プレブートコードを実行する段階と、
前記ユーザ入力ハードウェアデバイスを初期化することなく、オペレーティングシステム(OS)のブートストラップコードを起動し、OSを起動する段階と
を備える方法。
[項目8]
前記OSのブートストラップコードを起動する前にユーザからの入力が要求されているかどうかを判断し、そうである場合に前記ユーザ入力ハードウェアデバイス用の前記インターフェースを呼び出す段階を更に備える、項目7に記載の方法。
[項目9]
前記インターフェースを呼び出すことに応答して前記ユーザ入力ハードウェアデバイスを初期化する段階を更に備える、項目8に記載の方法。
[項目10]
前記ユーザ入力ハードウェアデバイスを初期化した後、ユーザインターフェースハンドラを介して前記ユーザ入力ハードウェアデバイスからデータを得る段階を更に備える、項目9に記載の方法。
[項目11]
前記データを前記プレブートコードに提供する段階を更に備える、項目10に記載の方法。
[項目12]
前記ユーザからの入力が要求されているかどうかを判断する段階は、前記プレブートコードの実行中にユーザのインタラプトが予期されるかどうかを示すスタティック変数にアクセスする段階を備える、項目8に記載の方法。
[項目13]
前記プレブートコードの前記構成はユーザによって制御される、項目7に記載の方法。
[項目14]
前記ユーザが、前記コンピュータシステムの先の動力サイクル中に前記プレブートコード中の設定を更新し、前記コンピュータシステムの次の動力サイクルにおいて前記OSのブートストラップコードを起動する前に、前記ユーザ入力ハードウェアデバイスを初期化させることを可能にする段階を更に備える、項目13に記載の方法。
[項目15]
前記コンピュータシステム内にインジケータを格納し、前記コンピュータシステムの次のブートがユーザ入力によってインタラプトされることを示す段階と、前記次のブート中に前記インジケータにアクセスする段階と、前記インジケータが前記コンピュータシステムの前記次のブートがインタラプトされることを示す場合、前記次のブート中に前記ユーザ入力ハードウェアデバイスを初期化する段階とを更に備える、項目7に記載の方法。
[項目16]
コンピュータシステムであって、
前記コンピュータシステムの構成に基づいてプレブート環境中で前記コンピュータシステムのユーザ入力ハードウェアデバイス用のインターフェースを表示するが、前記ユーザ入力ハードウェアデバイスの初期化はしない手段と、
前記ユーザ入力ハードウェアデバイスを初期化する前に、オペレーティングシステム(OS)のブートストラップコードを起動し、前記コンピュータシステムのブート環境内でOSを起動するための手段と
を備えるコンピュータシステム。
[項目17]
前記コンピュータシステムのストレージ内に格納されたインジケータが前記コンピュータシステムの次のブートがインタラプトされないことを示す場合、前記ユーザ入力ハードウェアデバイスを初期化する前に前記OSのブートストラップコードを直ちに起動するための手段を更に備える、項目16に記載のシステム。
[項目18]
前記ストレージに格納された前記インジケータにアクセスし、前記インジケータが前記システムの前記次のブートがインタラプトされることを示す場合、前記ユーザ入力ハードウェアデバイスを初期化し、前記ユーザ入力ハードウェアデバイスを介してユーザ入力を受信することなく、初期化後、および予め定められた時間後に前記OSのブートストラップコードを起動するための手段を更に備える、項目17に記載のシステム。
[項目19]
前記ユーザ入力ハードウェアデバイスを介して構成更新を受信し、ストレージ内に前記構成更新を格納し、その後、前記コンピュータシステムを再起動させるための手段を更に備える、項目16に記載のシステム。
[項目20]
前記インターフェースを呼び出して、前記ユーザ入力ハードウェアデバイスを初期化し、前記ユーザ入力ハードウェアデバイスを初期化した後、ユーザインターフェースハンドラを介して前記ユーザ入力ハードウェアデバイスから前記構成更新に対応するデータを得るための手段を更に備える、項目19に記載のシステム。

Claims (20)

  1. システムであって、
    プロセッサ手段と、
    前記プロセッサ手段に結合された少なくとも1つのユーザ入力ハードウェア手段と、
    前記プロセッサ手段の初期化を実行し、前記システムの構成に基づいて前記少なくとも1つのユーザ入力ハードウェア手段用のインターフェースを公表するが、前記少なくとも1つのユーザ入力ハードウェア手段を初期化はせず、OSを起動するべく前記少なくとも1つのユーザ入力ハードウェア手段を初期化することなくオペレーティングシステム(OS)のブートストラップコードを起動し、第1のルーチンを含むプレブートコードを格納するための不揮発性ストレージ手段と
    を備えるシステム。
  2. インジケータを格納するための第2のストレージ手段を更に備え、前記システムの次のブートがユーザ入力によってインタラプトされることを示す、請求項1に記載のシステム。
  3. 前記プロセッサ手段は、前記第2のストレージ手段内に格納された前記インジケータにアクセスし、前記インジケータが前記システムの前記次のブートがインタラプトされることを示す場合、前記少なくとも1つのユーザ入力ハードウェア手段を初期化する、請求項2に記載のシステム。
  4. 前記プロセッサ手段は、前記少なくとも1つのユーザ入力ハードウェア手段を介してユーザ入力を受信することなく、前記初期化および予め定められた時間の後に前記OSのブートストラップコードを起動する、請求項3に記載のシステム。
  5. 前記プレブートコードは、前記少なくとも1つのユーザ入力ハードウェア手段を介して構成更新を受信し、ストレージ手段内に前記構成更新を格納した後、前記システムを再起動させる第2のルーチンを含む、請求項3または4に記載のシステム。
  6. 前記プロセッサ手段は、前記インジケータが前記システムの前記次のブートがインタラプトされないことを示す場合、前記少なくとも1つのユーザ入力手段を初期化することなく前記OSのブートストラップコードを直ちに起動する、請求項2に記載のシステム。
  7. コンピュータシステムの初期化を実行し、前記コンピュータシステムのプロセッサを初期化する段階と、
    プレブートコードの構成に基づいて前記コンピュータシステムのユーザ入力ハードウェアデバイス用のインターフェースを公表するが、前記ユーザ入力ハードウェアデバイスを初期化はしないことを含む、前記プロセッサの前記プレブートコードを実行する段階と、
    前記ユーザ入力ハードウェアデバイスを初期化することなく、オペレーティングシステム(OS)のブートストラップコードを起動し、OSを起動する段階と
    を備える方法。
  8. 前記OSのブートストラップコードを起動する前にユーザからの入力が要求されているかどうかを判断し、そうである場合に前記ユーザ入力ハードウェアデバイス用の前記インターフェースを呼び出す段階を更に備える、請求項7に記載の方法。
  9. 前記インターフェースを呼び出すことに応答して前記ユーザ入力ハードウェアデバイスを初期化する段階を更に備える、請求項8に記載の方法。
  10. 前記ユーザ入力ハードウェアデバイスを初期化した後、ユーザインターフェースハンドラを介して前記ユーザ入力ハードウェアデバイスからデータを得る段階を更に備える、請求項9に記載の方法。
  11. 前記データを前記プレブートコードに提供する段階を更に備える、請求項10に記載の方法。
  12. 前記ユーザからの入力が要求されているかどうかを判断する段階は、前記プレブートコードの実行中にユーザのインタラプトが予期されるかどうかを示すスタティック変数にアクセスする段階を備える、請求項8に記載の方法。
  13. 前記プレブートコードの前記構成はユーザによって制御される、請求項7に記載の方法。
  14. 前記ユーザが、前記コンピュータシステムの先の動力サイクル中に前記プレブートコード中の設定を更新し、前記コンピュータシステムの次の動力サイクルにおいて前記OSのブートストラップコードを起動する前に、前記ユーザ入力ハードウェアデバイスを初期化させることを可能にする段階を更に備える、請求項13に記載の方法。
  15. 前記コンピュータシステム内にインジケータを格納し、前記コンピュータシステムの次のブートがユーザ入力によってインタラプトされることを示す段階と、前記次のブート中に前記インジケータにアクセスする段階と、前記インジケータが前記コンピュータシステムの前記次のブートがインタラプトされることを示す場合、前記次のブート中に前記ユーザ入力ハードウェアデバイスを初期化する段階とを更に備える、請求項7に記載の方法。
  16. コンピュータシステムであって、
    前記コンピュータシステムの構成に基づいてプレブート環境中で前記コンピュータシステムのユーザ入力ハードウェアデバイス用のインターフェースを公表するが、前記ユーザ入力ハードウェアデバイスの初期化はしない手段と、
    前記ユーザ入力ハードウェアデバイスを初期化する前に、オペレーティングシステム(OS)のブートストラップコードを起動し、前記コンピュータシステムのブート環境内でOSを起動するための手段と
    を備えるコンピュータシステム。
  17. 前記コンピュータシステムのストレージ内に格納されたインジケータが前記コンピュータシステムの次のブートがインタラプトされないことを示す場合、前記ユーザ入力ハードウェアデバイスを初期化する前に前記OSのブートストラップコードを直ちに起動するための手段を更に備える、請求項16に記載のシステム。
  18. 前記ストレージに格納された前記インジケータにアクセスし、前記インジケータが前記システムの前記次のブートがインタラプトされることを示す場合、前記ユーザ入力ハードウェアデバイスを初期化し、前記ユーザ入力ハードウェアデバイスを介してユーザ入力を受信することなく、初期化後、および予め定められた時間後に前記OSのブートストラップコードを起動するための手段を更に備える、請求項17に記載のシステム。
  19. 前記ユーザ入力ハードウェアデバイスを介して構成更新を受信し、ストレージ内に前記構成更新を格納し、その後、前記コンピュータシステムを再起動させるための手段を更に備える、請求項16に記載のシステム。
  20. 前記インターフェースを呼び出して、前記ユーザ入力ハードウェアデバイスを初期化し、前記ユーザ入力ハードウェアデバイスを初期化した後、ユーザインターフェースハンドラを介して前記ユーザ入力ハードウェアデバイスから前記構成更新に対応するデータを得るための手段を更に備える、請求項19に記載のシステム。
JP2014554810A 2012-01-30 2013-01-24 入力/出力抽出の遅延を提供することによってプラットフォームブート時間を低減するための方法 Expired - Fee Related JP5893173B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261592269P 2012-01-30 2012-01-30
US61/592,269 2012-01-30
US13/718,060 2012-12-18
US13/718,060 US9262178B2 (en) 2012-01-30 2012-12-18 Method for reducing platform boot times by providing lazy input/output abstractions
PCT/US2013/022856 WO2013116073A1 (en) 2012-01-30 2013-01-24 Method for reducing platform boot times by providing lazy input/output abstractions

Publications (2)

Publication Number Publication Date
JP2015505118A JP2015505118A (ja) 2015-02-16
JP5893173B2 true JP5893173B2 (ja) 2016-03-23

Family

ID=48871361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554810A Expired - Fee Related JP5893173B2 (ja) 2012-01-30 2013-01-24 入力/出力抽出の遅延を提供することによってプラットフォームブート時間を低減するための方法

Country Status (8)

Country Link
US (1) US9262178B2 (ja)
EP (1) EP2810158A4 (ja)
JP (1) JP5893173B2 (ja)
KR (1) KR101609385B1 (ja)
CN (1) CN104067223B (ja)
AU (1) AU2013215466B2 (ja)
BR (1) BR112014018761A8 (ja)
WO (1) WO2013116073A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677373B (zh) 2012-09-25 2018-08-10 神讯电脑(昆山)有限公司 触控显示方法及其电子装置
CN103677372A (zh) * 2012-09-25 2014-03-26 神讯电脑(昆山)有限公司 触控显示方法及其电子装置
CN103729133A (zh) 2012-10-16 2014-04-16 神讯电脑(昆山)有限公司 触控显示方法及其电子装置
CN106663009B (zh) * 2014-07-10 2021-08-17 哈曼国际工业有限公司 操作系统启动加速
KR102388836B1 (ko) * 2014-07-10 2022-04-20 하만인터내셔날인더스트리스인코포레이티드 운영 체제 스타트업 가속
US9563439B2 (en) * 2015-04-27 2017-02-07 Dell Products, L.P. Caching unified extensible firmware interface (UEFI) and/or other firmware instructions in a non-volatile memory of an information handling system (IHS)
KR102103593B1 (ko) * 2019-07-29 2020-04-23 김창석 외장형 운영체제 구동 장치 및 그 방법
US11507383B2 (en) * 2020-03-10 2022-11-22 Dell Products L.P. Configurable boot paths
CN111897597A (zh) * 2020-07-23 2020-11-06 湖北达峰汽车智能控制系统有限公司 具主动初始化功能的电子换挡器及其主动初始化方法及车辆

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5950002A (en) * 1996-08-13 1999-09-07 General Electric Company Learn mode script generation in a medical imaging system
US5815731A (en) 1996-10-31 1998-09-29 International Business Machines Corporation Method and system for providing device driver configurations on demand
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6507906B1 (en) * 1999-09-09 2003-01-14 International Business Machines Corporation Method and system for selection of a boot mode using unattended boot sequencing
US6718461B1 (en) 2000-04-28 2004-04-06 Intel Corporation Booting processor-based systems
US6721885B1 (en) 2000-09-08 2004-04-13 International Business Machines Corporation Reducing start-up time and avoiding customer-induced system failures for personal computers
JP2003084981A (ja) * 2001-09-11 2003-03-20 Seiko Epson Corp 情報処理装置の起動方法
US20040049560A1 (en) 2002-09-09 2004-03-11 Shudong Zhou Method and apparatus for configuring a computer system to operate with perhiperal devices
TW588284B (en) * 2002-11-12 2004-05-21 Mitac Technology Corp Computer real-time power-on system and method
JP2004199128A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd 情報処理装置および情報処理装置の起動時間の高速化方法
ITTO20030079A1 (it) * 2003-02-06 2004-08-07 Infm Istituto Naz Per La Fisi Ca Della Mater Procedimento e sistema per l'identificazione di un soggetto
US7506152B2 (en) * 2003-08-11 2009-03-17 Lg Electronics Inc. Convertible computer with selective loading of an operating system based on a tablet or notebook mode
US7533274B2 (en) 2003-11-13 2009-05-12 International Business Machines Corporation Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
US7568090B2 (en) * 2005-06-23 2009-07-28 Hewlett-Packard Development Company, L.P. Speedy boot for computer systems
US8103908B2 (en) * 2007-12-28 2012-01-24 Intel Corporation Method and system for recovery of a computing environment during pre-boot and runtime phases
US9749179B2 (en) * 2008-05-30 2017-08-29 Arris Enterprises Llc Fast initialization of multi-mode devices
US8296553B2 (en) * 2008-11-19 2012-10-23 Intel Corporation Method and system to enable fast platform restart
CN102073513B (zh) * 2009-11-25 2013-09-11 中兴通讯股份有限公司 一种安装操作系统的方法、装置及系统
CN102200916B (zh) * 2010-03-26 2014-12-31 联想(北京)有限公司 电子设备、可配置的部件及该部件的配置信息存储方法
JP5593856B2 (ja) * 2010-06-02 2014-09-24 富士通株式会社 情報処理装置およびドライバ実行制御方法
US20120159136A1 (en) * 2010-12-16 2012-06-21 Rothman Michael A Computer system boot enhancements with user override

Also Published As

Publication number Publication date
BR112014018761A8 (pt) 2017-07-11
WO2013116073A9 (en) 2013-09-26
BR112014018761A2 (ja) 2017-06-20
CN104067223B (zh) 2018-03-13
US20130198502A1 (en) 2013-08-01
AU2013215466A1 (en) 2014-07-31
AU2013215466B2 (en) 2015-12-03
JP2015505118A (ja) 2015-02-16
KR101609385B1 (ko) 2016-04-06
WO2013116073A1 (en) 2013-08-08
US9262178B2 (en) 2016-02-16
EP2810158A1 (en) 2014-12-10
KR20140110021A (ko) 2014-09-16
EP2810158A4 (en) 2015-09-16
CN104067223A (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
JP5893173B2 (ja) 入力/出力抽出の遅延を提供することによってプラットフォームブート時間を低減するための方法
US11379214B2 (en) Runtime firmware activation for memory devices
US9501289B2 (en) Method of a UEFI firmware and computer system thereof
US20120159136A1 (en) Computer system boot enhancements with user override
TWI610167B (zh) 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置
JP6096301B2 (ja) ファームウェアにおける盗難防止
US8327174B2 (en) Loading operating systems using memory segmentation and ACPI based context switch
TWI616818B (zh) 用於系統管理請求之虛擬高特權模式
US9395919B1 (en) Memory configuration operations for a computing device
JP6708333B2 (ja) 装置、方法およびコンピュータ可読記憶媒体
US7080244B2 (en) System and method for configuring hardware devices using a menu for platforms with EFI and legacy option-ROMs
US10684904B2 (en) Information handling systems and methods to selectively control ownership of a hardware based watchdog timer (WDT)
KR101759411B1 (ko) 보안 보조 프로세서 부팅 성능
US20110225408A1 (en) Cache boot mechanism
US11803454B2 (en) Chained loading with static and dynamic root of trust measurements
CN115454904A (zh) 设备初始化方法、装置、计算机设备及相关产品
US10592256B2 (en) Early boot display system
KR101249831B1 (ko) 컴퓨터 시스템 및 그 부팅 방법
US12008111B2 (en) System and method for efficient secured startup of data processing systems
US11847226B1 (en) Baseboard Management Controller (BMC)-based security processor
US10303273B2 (en) System and method of supporting a pointing device
US20240037237A1 (en) System and method for flexible startup of data processing systems
Khasim New Vision of the Computer Operating System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160223

R150 Certificate of patent or registration of utility model

Ref document number: 5893173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees