ポータブルデータ端末であって、命令セットアーキテクチャを備えたプロセッサと、複数のオペレーティングシステムと、バーチャルマシンアプリケーションプログラムと、をストアするように構成されたデータストレージ手段と、を有し、前記バーチャルマシンアプリケーションプログラムが、各オペレーティングシステムから少なくとも1つの命令を受信し、命令セットアーキテクチャによってプロセッサと通信し、イベントを表す電気信号の受信の際に、プロセッサにオペレーティングシステムがアクセスするように切り替えるように構成されることを特徴とするポータブルデータ端末。前記イベントが、トリガ、ボタン、キーバッドおよびタッチスクリーンからなるグループから選択されたユーザ入力インターフェースを備えたユーザ相互作用からなることを特徴とする請求項1に記載のポータブルデータ端末。イメージングアセンブリと、照明アセンブリと、を更に有し、前記データストレージ手段が、イメージングアセンブリおよび照明アセンブリと通信するように構成されたスキャンドライバアプリケーションプログラムと、デコーダアプリケーションプログラムとをストアするように更に構成されたことを特徴とする請求項1に記載のポータブルデータ端末。前記イメージングアセンブリが更に、イメージング光学素子および少なくとも1つのイメージングセンサを包含し、前記照明アセンブリが更に、照明光学素子および少なくとも1つの光源を包含することを特徴とする請求項3に記載のポータブルデータ端末。少なくとも1つのミラーと、少なくとも1つのレーザジェネレータと通信するように構成された少なくとも1つのレーザコントローラとを更に有し、前記イメージングアセンブリが、少なくとも1つのフィルタと、少なくとも1つのフォトダイオードと、少なくとも1つのアンプと、少なくとも1つのデジタイザとを更に有し、前記照明アセンブリが、少なくとも1つのレーザジェネレータを更に有することを特徴とする請求項3に記載のポータブルデータ端末。0016図1Aおよび1Bを参照すると、印刷証印printedindiciaを読取スキャンするための2つの典型的な携帯型データ端末PDT100が示される。本発明がPDTに関して記載されているにもかかわらず、本発明は、例えば、いかなるバーコードスキャナ、モバイル電子デバイス、モバイルコンピュータまたはパーソナルデータアシスタントで利用されることができる。PDTハウジング102は、ハンドル部分107を使用している人間の手に適合するように形づくられることができ、データおよび命令を入力するためのキーパッド108、電源ボタンおよび、例えば、ローカルであるかリモートなホストプロセッサとの通信を容易にするためのアンテナと同様に指作動可能なスキャン捕獲またはトリガーボタン106のようなユーザインタフェースデバイスを含むことができる。情報をユーザに表示するために、PDT100はまた、例えばディスプレイ104例えばLCDまたはOLED表示を含む。ディスプレイ104が、タッチスクリーンである場合、スタイラス図示せずはまた、タッチスクリーンと相互作用を容易にするために含まれることができる。照明およびイメージング光学素子がターゲットにアクセスをするのに実質的に妨害されないように、ハウジング102の開口は含まれる。PDT100はまた、電力供給を受信するためのパワーポート、ネットワークインターフェースと有線または無線通信を容易にするための一つ以上の通信ポートを含み、および/または、両方の機能が同じポート110によって提供されることができる。0017図2aを参照すると、本発明のPDT200aから一緒に成る基本的構造のブロック略図が示される。PDT200aは、ターゲット214a例えばターゲット214aのイメージを受信して、その中で光学的にコード化されるピクセルデータを表す電気的な出力信号を生成するためのバーコードおよびイメージングアセンブリ202aを照らすための照明アセンブリ208aを含む。照明アセンブリ208aは、ターゲット214aの方向に光源212から光を導くための照明光学系210例えば一つ以上の反射器と共に、少なくとも一つの光源212を含む。光源212は、例えば、近赤外線範囲の光および/または、可視範囲の光を発するように構成される少なくとも一つのLEDを発するように構成される少なくとも一つのLEDを含む。イメージングアセンブリ202aは、2Dセンサ206例えば、センサ206上のターゲット214aのイメージを受信し、焦点合わせさせるためのイメージング光学素子204に加えて、CCD、CMOS、NMOS、PMOS、CIDまたは、CMD半導体イメージセンサを含む。0018依然として図2aを参照すると、PDT200aは、プロセッサ216a例えば、マイクロプロセッサ、VLSI、ASIC、および/または、当業者に周知の命令セットアーキテクチャを有する他の集積回路マイクロプロセッサを更に含む。プロセッサ216aは、イメージピクセルデータを含むデータを受信し、出力し、処理するように構成されることができ、イメージング202aおよび照明208aアセンブリを作動することができ、他の動作中、システムバス238aと通信することができる。更に、プロセッサ216aは、光源212、センサ206のタイミング、アナログ‐ディジタル変換、ネットワークインターフェース234a例えばRS232、RS485、USB、イーサネット、WiFi、BluetoothTM、IrDAまたはZigbeeインターフェースを介してPDT200aまで外部のリモートコンピュータまたはホストサーバ236aのプロセッサへの、および、プロセッサからの、データの送受信を制御し、スキャントリガーボタン106および/またはキーパッド108を有するユーザ相互作用を管理するためにユーザ入力インタフェース230aを制御し、並びに、下の詳細にて説明するように、他の機能の中で、表示インタフェース232aを介して出力デバイス104例えばLCDまたはOLEDディスプレイを制御するように構成される。プロセッサ216aは、ハードウェアを制御し、および/または、例えばデータ格納手段222a例えば、イメージングスキャンドライバアプリケーションプログラム225aに保存される指示を実行することによって先ほど確認した機能を実行するように構成され、オペレーティングシステム223、および/または、バーチャルマシンモニタ、および/または、バーチャルマシン224によって通信される。データ格納手段222aは、ローカルで、ネットワークアクセス可能で、取り外し可能、および/または、取り外し不可能なメモリ例えばRAM、ROMおよび/またはフラッシュを含むことができ、更にバーコードのような226aがセンサからピクセルデータを受け取って、その中でコード化されるいかなるバーコードデータも復号化するように構成されるソフトウェアアプリケーションプログラムを復号化するプログラムが例示する他のソフトウェアアプリケーションを格納するように構成されることができる。イメージングスキャンドライバアプリケーションプログラム225aは、ソフトウェアにメモリレジスタをセットすることによって例えば装置を制御し、イメージングアセンブリ202aを制御するために用いるピンおよび照明アセンブリ208aに電圧にハードウェアを供給している呼び出し可能ルーチンを提供するように構成される。例えば、イメージングスキャンドライバアプリケーションプログラム225aは、例えば、点灯消灯させ、イメージ捕獲を初期化させ、イメージを取り出し、センサを自動検出し、センサを初期化し、ステート管理を実行し、露出制御を実行するルーチンを提供するように構成される。0019PDT200aも一つ以上の電力供給228a例えば交流を受信するための一つ以上の電池および/または回路を含み、ユーザはユーザー入力装置例えばキーボード、キーパッド108、トリガースキャンボタン106および/またはタッチスクリーン104から、データを受け取るためのインタフェース230aを入力する。図2aに示されるPDT200aシステムコンポーネントは、好ましくは一つ以上のプリント回路基板図示せずでサポートされる。0020図2bを参照すると、本発明によるPDT200bから一緒に成る基本的構造のブロック略図が示される。PDT200bは少なくとも一つのミラー240例えばフォールドミラーおよび/または発振および/または回転スキャンミラー上へ導かれる少なくとも一つのレーザー光線を生成するために少なくとも一つのレーザー発生器242のための少なくとも一つのレーザーコントローラ244を含んでいる照明アセンブリ208bを含み、それはそれからターゲット214b上へ光線を導く。レーザー光線スキャンパターンは、ターゲット214bから離れて反映され、例えば、一つ以上のレーザー光パスフィルタ246、一つ以上のフォトダイオード248、アンプ250およびデジタイザ252を含むイメージングアセンブリ202bに、少なくとも一つのミラー240によってリダイレクトされる。追加的なレーザー発生器およびレーザーコントローラは、例えば、形状、高さ、幅、角度および/または距離において異なっているレーザー光を出力するために提供されることができる。フォトダイオード248は、入射光エネルギーをデジタイザDigitizer252がターゲット214bの中で反射される照明のデジタル信号の代表に、フォトダイオード248によってアナログ信号出力を変換するターゲット214bを離れて反射される光の出力信号代表である電荷に変換する。0021依然として図2bを参照すると、PDT200bはプロセッサ216b例えばマイクロプロセッサ、VLSI、ASICおよび/または当業者に周知の命令セットアーキテクチャを有する他の集積回路マイクロプロセッサを更に含む。プロセッサ216bは、イメージピクセルデータを含むデータを受信し、出力し、処理するように構成されることができ、照明208bおよびイメージング202bアセンブリを作動することができ、他の動作中で、システムバス238bと通信することができる。更に、プロセッサ216bはネットワークインターフェース234b例えば、RS232、RS485、USB、イーサネット、WiFi、Bluetooth登録商標、IrDAまたはZigbeeインターフェースを介して、PDT200bまで外部のリモートコンピュータまたはホスト計算機サーバ236bのプロセッサへ/から、データの送受信を制御するように構成されることができ、スキャントリガーボタン106および/またはキーパッド108でユーザ相互作用を管理するためにユーザ入力インタフェース230bを制御し、下で詳細に説明するように、他の機能中、表示インタフェース232bによる出力デバイス104例えばLCDまたはOLEDディスプレイを制御するように構成される。プロセッサ216bは、ハードウェアを制御し、および/または、例えばデータ格納手段222b例えばレーザースキャンドライバアプリケーションプログラム225bに保存される指示を実行することによって先ほど確認した機能を実行するように構成されて、オペレーティングシステム223および/またはバーチャルマシンモニタおよび/またはバーチャルマシン224によって通信される。データ格納手段222bは、ローカルで、ネットワークアクセス可能で、取り外し可能なおよび/または取り外し不可能なメモリ例えばRAM、ROMおよび/またはフラッシュを含むことができ、更にバーコードのような226bがピクセルデータを受信し、その中でコード化されるいかなるバーコードデータも復号化するように構成されるソフトウェアアプリケーションプログラムを復号化するプログラムが例示する他のソフトウェアアプリケーションを格納するように構成されることができる。レーザースキャンドライバアプリケーションプログラム225bは、ソフトウェアにメモリレジスタをセットすることによって例えば装置を制御し、イメージングアセンブリ202bを制御するために用いるピンに、電圧にハードウェアを供給している呼び出し可能ルーチンを提供するように構成される。0022PDT200bも一つ以上の電力供給228b例えば交流を受信するための一つ以上の電池および/または回路を含み、ユーザはユーザー入力装置例えばキーボード、キーパッド108、トリガースキャンボタン106および/またはタッチスクリーン104から、データを受け取るためのインタフェース230bを入力する。図2bに示されるPDT200bシステムコンポーネントは、好ましくは一つ以上のプリント回路基板図示せずでサポートされる。0023多数のプラットフォームPDTを提供するために、2つ以上のオペレーティングシステムは、別々のハードディスクドライブ、NANDおよび/またはNORフラッシュのようなフラッシュドライブ、または他のデータストレージ手段、および/または、データ記憶手段のパーティションにインストールされることができ、ブート時間でオペレーティングシステムをユーザが選択することができ、切り替えをすることは、現在のオペレーティングシステムのシャットダウンおよび他のオペレーティングシステムのスタートアップを必要とする。いくつかのこの種の実施の限定は、切り替えをすることを必要とする時間およびスイッチの時間からレジューム機能を提供するコンテキスト記憶の不足である。シャットダウンおよびスタートアップルーチンのない多数のプラットフォームおよびコンテキスト切り換えを提供するために、ハードウェア特にプロセッサがより強くなるにつれて、PDTおよび埋め込みシステムを含むバーチャルマシンが従来技術において利用されてきた。我々は、本発明の一つ以上の改良された仮想化技術を利用する多数のプラットフォームPDTシステムの3つの実施形態を以下に説明する。0024PDTハードウェアと複数のプラットフォームとの間のバーチャルマシン0025図3を参照すると、本発明の一実施形態は、バーチャルマシン224aを含むように示され、マイクロソフトのWindowsCEおよび/またはWindowsMobile223a、Google社のアンドロイド223c、オラクル社のSolaris、Unix、GNULiMOSymbianRedHatIncのLinux223bまたは、アップル社および/またはResearchInMotionLimitedから入手可能なそれら、および/または、他のオペレーティングシステムのような複数のプラットフォーム、オペレーティングシステム、および/または、カーネル223adと、PDTハードウェア200との間の通信を容易にするように構成されるバーチャルマシンモニタまたはハイパーバイザーを含むことができる。典型的なバーチャルマシンは、VMware社から入手可能なMobileVirtualizationPlatform、VirtualLogixから入手可能なVLX、および、OKL4Microvisor、並びに、OpenKernalLabsから入手可能な、OK:Windows、OK:LinuxおよびOK:Android製品である。図3に図示した実施形態では、バーチャルマシン224aは、例えばデータ格納手段例えばデータ格納手段222に含まれるアプリケーションプログラムであり、複数のオペレーティングシステム223adから、指示を受け、プロセッサ216の命令セット構造によるプロセッサ216に、指示を通信するように構成される。典型的なプロセッサ216の命令セットアーキテクチャは、ARMv5ARM9およびXScaleおよびv6ARM11、MIPSMIPS32およびMIPS64、および、インテルx8632およびx8664を含む。バーチャルマシン224aは、オペレーティングシステム223adに対してリソース200例えばプロセッサ216を割り当てることによって、モニタ、ハイパーバイザーおよび/または、スケジューラのようなシステムリソース200を共有する。リソース制御は、例えば、バーチャルマシンモニタのスケジューリングポリシーまたはオペレーティングシステム223adのスケジューリングポリシーによって管理される。0026依然として図3を参照すると、システムリソース200および特にプロセッサ216のオペレーティングシステム223ad制御のユーザ管理を直接提供するために、本発明の一実施形態では、バーチャルマシン224aは、イベントを表している電気信号を受けると、オペレーティングシステム223adアクセスを切替えるように構成される。例えば、電気信号はトリガー106、ボタン、キーパッド108および/またはタッチスクリーン104のうちの1つ以上を有するユーザ相互作用に基づいて伝達されることができる。バーチャルマシン224aは、1つのオペレーティングシステム223adを優先させることにより、または、指示を優先させることによりオペレーティングシステム223adアクセス、プロセス、および/または、一つ以上の他のオペレーティングシステム223adの上の1つのオペレーティングシステム223ad発行のスレッドを切替えるように構成されることができる。この種のスケジューラフレキシブルオペレーティングシステム優先権を提供するように構成されるの1つの典型的な実施形態はFineGrainOSSchedulingと名付けられた米国特許出願番号第12376822号に開示され、リファレンスとしてここにて組み込まれる。好ましい実施形態では、バーチャルマシン224aは、現在のオペレーティングシステムを停止することによって、例えば、スリープ、アイドリング、ハイバネーションのルーチンに割り込みによって、例えば、オペレーティングシステム223adアクセスをシステムリソース200に移すように構成され、および/または、例えば、オペレーティングシステムアーキテクチャによって提供されるような、有用性をサスペンドして、ユーザ入力予め定められた命令に基づいて、または、好ましくは、スイッチの前に制御を有する最後のオペレーティングシステムに関し、プロセッサ216または他のシステムリソース200の制御を復帰させることによって他のオペレーティングシステムを甦らす。サスペンドユーティリティオペレーションの典型的な実装は、ComputerSystemCapableofFastSwitchingBetweenMultipleOperatingSystemsandApplicationsと名付けられた米国特許第7356677号に記載され、リファレンスとしてここに組み入れられる。オペレーティングシステムがネイティブサスペンドユーティリティを有しない実施形態において、バーチャルマシン224aは、プログラムカウンタ、プロセス制御ブロック、および/または、メモリレジスタ、メモリマップ、テーブル、および/または、リスト値を包含するデータ格納手段のコンテキストを保存するように構成され、その結果、オペレーティングシステム失敗管理は、コンテキストスイッチを逆転させることによって、ユーザによって差し向けられるようにレジュームコントロールすることができる。0027依然として図3を参照すると、本発明によるPDT200の一例では、ウィンドウズアプリケーション226aは、ターゲット214例えばバーコードのイメージを獲得し、任意に復号化するように、イメージング202および照明208のアセンブリを制御するためにWindowsMobileオペレーティングシステム223aと通信するように構成される少なくともスキャンドライバアプリケーションプログラム225を含む。具体的には、呼び出されるとき、スキャンドライバアプリケーションプログラム225は、Windows特有のフォーマットのバイナリの情報を含んでいるファイルを生成してコンパイルされ、次いで、WindowsMobileオペレーティングシステム223aによって解釈され、それぞれの命令を決定するのに用いられる。Windowsフォーマットのスキャンドライバアプリケーションプログラム225に関して記載されているにもかかわらず、他の実施形態では、Linuxアプリケーション226b、Androidアプリケーション226cまたは他のいかなるアプリケーション226dの一つ以上が、それぞれのオペレーティングシステムと通信するように構成されるスキャンドライバアプリケーションプログラム225を含む。0028したがって、PDT200は、上記の通り、オペレーティングシステム223adのうちの2つ以上の間で切り替える、例えばキーパッド108ボタン、スイッチ、および/または、タッチスクリーン104のボタンとユーザ相互作用するとき、バイナリファイルを生成するために任意にハイレベルコードをコンパイルすることによりスキャンドライバアプリケーションプログラム225を初期化するように構成され、バイナリファイルに含まれる情報に基づいてバーチャルマシン224aに命令を伝え、バーチャルマシン224aにより命令を翻訳させ、必用であればまたはさもなければ、プロセッサ216の命令セットアーキテクチャによりプロセッサ216に命令を通信させる。その後で、ある実施形態では、バーチャルマシン224aは、スキャンドライバアプリケーションプログラム225が、例えば、キーパッド108のボタンを有するユーザ相互作用またはトリガー106を有する次の相互作用のような他のイベントまで通信するように構成されるオペレーティングシステム223adを有するプロセッサ216の制御を維持するように構成される。0029別の実施形態では、PDT200はバーコードスキャン試みイベントを示している電気信号を生じているトリガー106プレスに基づいて、2つ以上のオペレーティングシステム223adのいずれかの間で切り替えをするように構成される。したがって、本実施形態では、トリガー106を有するユーザ相互作用では、例えば、スキャンドライバアプリケーションプログラム225は、インスタンスが生成される。スキャンドライバアプリケーションプログラム225は、オペレーティングシステム223adのうちの1つと通信するように構成されることができ、したがって、トリガー106のプレスに、バーチャルマシン224aは、上記の通りに、オペレーティングシステム223adをスキャンドライバアプリケーションプログラム225が通信するように構成されるそのオペレーティングシステム223adに切り替えるように構成される。スキャンドライバアプリケーションプログラム225は、更にスキャン試みの前におよび/または他のいかなるオペレーティングシステム223adにも制御を有したオペレーティングシステム223adへ、オペレーティングシステム223adを切替えるように構成されることができるバーチャルマシン224aのバーコードスキャン試みの完成を伝達するように構成されることができる。0030さらに別の態様では、バーチャルマシン224aは、オペレーティングシステム223ad制御を切替えるように構成され、または、成功したバーコードに基づくより多くのシステムリソース200は試みイベントを復号化する。本実施形態におけ、ドライバアプリケーションプログラム225が別々のソフトウェアアプリケーションプログラムを含み、または、自動的にインスタンスを生成するために更に設定されるスキャンが構成される指示がセンサ206から取り出されるピクセルデータにおいてコード化されるいかなるバーコードデータも復号化するようにプログラムすることを含む。したがって、スキャンドライバアプリケーションプログラム225は、バーコードの成功および/または失敗がバーチャルマシン224aの試みを復号化することを通信するように構成される。バーチャルマシン224aは、一つ以上のシステムリソース200の制御を切替えるように構成され、プロセッサ216のような、上記の通りに、成功したバーコードの他のオペレーティングシステム223adに対して動作を復号化する。0031さらに別の態様では、バーチャルマシン224aは、センサ206によって伝達されるピクセルデータに含まれるいかなるバーコードにもおいてコード化されるデータに基づいて、一つ以上のシステムリソース200のオペレーティングシステム223ad制御を切替えるように構成される。本実施形態では、ドライバアプリケーションプログラム225が、別々のソフトウェアアプリケーションプログラムを含み、または、自動的にインスタンスを生成するために更に設定されるスキャンが構成される指示がセンサ206から取り出されるピクセルデータにおいてコード化されるいかなるバーコードデータも復号化するようにプログラムすることを含む。したがって、イメージングスキャンドライバアプリケーションプログラム225は情報および/または値を伝達するように構成され、データが、値が予め設定されたスイッチにオペレーティングシステム223adスイッチを示している情報値に合うものを見つけるかどうか決定するために情報を解釈するバーチャルマシン224aに対して、スキャンされたバーコードにおいてコード化されることを表す。予め設定された値は製造業者によるデータ格納手段222に保存されることができ、または、キーパッド108で相互作用によって例えばユーザによって始めることができ、翻訳される際に、ユーザはインタフェースで入力して、データ格納手段に保存する。0032ホストオペレーティングシステムとゲストオペレーティングシステムと間の仮想マシン0033図4を参照すると、バーチャルマシン224bdは、アプリケーション226bdによって通信する際に、ゲストオペレーティングシステム223bdからの命令を受けるように構成されるように示され、かかるオペレーティングシステムは、例えば、Linuxオペレーティングシステム223b、アンドロイドオペレーティングシステム223cまたは他のいかなるオペレーティングシステム223dであってよく、必要に応じて、PDTハードウェアシステムリソース200と通信するためにホストオペレーティングシステム223a例えばWindowsMobileに翻訳される際に、指示を伝達する。ホストオペレーティングシステム223aにバーチャルマシン224bによって伝達される指示は、PDTハードウェア200およびプロセッサ216の命令セット構造と一致する。この実装では、各々のバーチャルマシン224bdは、一つ以上のゲストオペレーティングシステム223bdおよび関連するアプリケーション226bdのためのコンテナとしてのホストオペレーティングシステム223aの上で作動する。0034依然として図4を参照すると、本発明のある実施形態では、システムリソース200および特にプロセッサ216のオペレーティングシステム223ad制御の直接のユーザ管理にシステムリソース200へのバーチャルマシン224bdアクセスを提供するために、ホストWindowsオペレーティングシステム223aとの通信で、例えば、ボタン、キーパッド108および/またはタッチスクリーン104のうちの1つ以上のようなユーザインタフェースデバイスとユーザ相互作用を表している電気信号を受け取ることにより判断された。ユーザインタフェース装置を有するユーザ相互作用は、PDT200に示されたバーチャルマシン224bdがすでに動作していない場合、示されたバーチャルマシン224bdのインスタンスを生成させる。バーチャルマシンは同じインターフェイス装置を有する連続した相互作用の予め定められた命令によって示されることができ、または、別々のインターフェイス装置はそれぞれのオペレーティングシステム223bdに、スイッチを示して提供されることができる。いったん、バーチャルマシン224bdの関連するオペレーティングシステム223bdが動作し、または、示されたバーチャルマシン224bdがすでに動作している場合、指示を翻訳するそれぞれのバーチャルマシン224bdに、指示を伝え、それからその命令セットアーキテクチャに基づいてプロセッサ216と通信するホストWindowsオペレーティングシステム223aに、翻訳された指示を通信するオペレーティングシステム223bdによって、PDT200を有する次のユーザ相互作用は解釈される。バーチャルマシン224bdが、ホストWindowsオペレーティングシステム223a上で動作するプログラムであるとき、コンテキストは切替えられることができ、および/または、ユーザインタフェース装置を有するユーザの相互作用によって示されるように、他のいかなるアプリケーションプログラムも切替えられることができるちょうどその時、Windowsオペレーティングシステムで作用するとき、スレッドまたはプロセスは優先順位を決定される。ある実施形態では、例示および/またはバーチャルマシン224bへの切り替えの即座に、Windowsオペレーティングシステム223aは、バーチャルマシン224bdオペレーティングシステム223bdが、Windowsオペレーティングシステム223と現在通信しているかについて指し示すようにディスプレイ104に一つ以上のシステムリソース200を制御させるために表示インターフェース232に知らせるように構成される。0035図4に示す本発明の典型的な他の実施形態において、Windowsアプリケーション226aは、スキャンドライバアプリケーションプログラム225を含む。Linux223b、Android223cまたは他のいかなるオペレーティングシステム223dと通信するように構成されるスキャンドライバアプリケーションプログラムがまた、企図される。本実施形態では、システムリソース200の制御は、バーコード復号化の試みを示すトリガースキャンボタン106とのユーザ相互作用の際に、仮想マシン224bdからホストWindowsオペレーティングシステム223aにスイッチされ、その結果、例えば、スキャンドライバアプリケーションプログラム225はインスタンス生成される。他の実施形態では、システムリソース200の制御は、バーコード復号化を試み、バーコード復号化が成功し、および/または、キャプチャされたピクセルデータに包含されたバーコードにエンコードされた情報/値に基づいて、仮想マシンからホストWindowsオペレーティングシステム223aまで切替えられることができる。オペレーティングシステム制御は、上述した一つ以上のいかなる方法によって、ホストWindowsオペレーティングシステム223a、または、他のバーチャルマシン224bdへの切り替えの前に作動しているバーチャルマシン224bdに返される。この典型的な実施形態が、ホストWindowsオペレーティングシステムに関して記載されていて、スキャンドライバアプリケーションプログラム225と関連しているけれども、いかなるオペレーティングシステムもホストオペレーティングシステム、バーチャルマシンの全ての順列および関連するオペレーティングシステムであってよく、スキャンドライバアプリケーションプログラム225は、ホストオペレーティングシステムと通信するように構成されることができる、または、スキャンドライバアプリケーションプログラム225は一つ以上のアプリケーション226bdであってよい。0036ホストオペレーティングシステムとゲストアプリケーションと間の仮想マシン0037図5を参照すると、本発明の典型的な実施形態は、例えば、オペレーティングシステム223bがスキャンドライバアプリケーションプログラム225のようなARM命令セットアーキテクチャ例えばWindowsアプリケーションプログラム226aのような第1のアプリケーションプログラムを有するプロセッサ216と通信するように構成したLinuxホスト計算機のような、第1のオペレーティングシステムを格納するように構成されるデータ格納手段222を含むとき、例えば、第2のオペレーティングシステムインストールされていない例えば指示を受け入れて、ターゲット214のイメージを表しているピクセルデータを得るために指示によればイメージングアセンブリ202および照明アセンブリ208と通信するように構成されるWindowsプラットフォーム223aおよびバーチャルマシンアプリケーション224eによって、理解できるフォーマットの指示を伝達するように構成されることを示す。本実施形態では、Linuxアプリケーションプログラム226bは、Linuxオペレーティングシステム223bと直接通信するが、しかし、Windowsアプリケーションプログラム225、226aはバーチャルマシン224eによるLinuxオペレーティングシステム223bと通信する。他のおよび/または追加的なホストオペレーティングシステム223、バーチャルマシン224およびアプリケーションプログラム226を含む他のPDT200の実施形態が企図される。0038したがって、図5の典型的なPDT200は、キーパッド108のボタンおよび/またはトリガー106を有するユーザ相互作用に応じて、コンパイルされるスキャンドライバアプリケーションプログラム225のインスタンスを自動的に生成するように構成されるバーチャルマシン224eのインスタンスを生成しなさいという命令として解釈されるホストLinuxオペレーティングシステム223bと、結果として生じる電気信号を通信するように構成され、ウインドウズフォーマット出力は、バーチャルマシン224eによって解釈され、翻訳され、PDTハードウェア200のイメージングアセンブリをそれによって作動するLinuxホストオペレーティングシステム223bと通信する。例えば、上記の通りに、指示、プロセスおよび/またはアプリケーション226bに関するスレッドを優先させることによって、またはさもなければ、バーチャルマシン224eをアイドリングサスペンディングすること、バーコード復号化の試みの完了、バーコード復号化の成功によって、および/または、スキャンされたバーコードに復号化された情報/値に基づいて、キーパッド108のボタンおよび/またはトリガー106を有する次のユーザ相互作用に応じて、システムリソース200の制御は、バーチャルマシン224eから切替えられることができる。0039本発明の原則が本願明細書において記載されると共に、それはこの説明が例示として作られるだけであり、当業者によって、本発明の範囲に関する限定とさないと理解される。他の実施形態は、本願明細書において図と共に記載される典型的な実施形態に加えて、本発明の範囲内で企図される。当業者による修正および変更は、本願発明の範囲を逸脱することなく考慮され、以下の特許請求の範囲に限定されない。