專利名稱:多平臺支持系統與方法
技術領域:
本發明涉及便攜式數據終端,更特別地涉及能夠支持多平臺的便攜式數據終端。
背景技術:
諸如便攜式數據終端、光學和激光標記讀取器、條形碼掃描器以及其它移動計算機的遠程設備典型地讀取由諸如符號、符號體系以及條形碼的印刷標記所表示的數據。一種符號類型是矩形條和間隔的陣列,所述矩形條和間隔以特定方式被排列來以機器可讀的形式表示數據的元素。光學標記讀取設備典型地將光傳輸到符號上并接收從條形碼符號或標記散射和/或反射回的光。所接收的光由圖像處理器解譯以提取由符號表示的數據。激光標記讀取設備典型地利用被傳輸的激光。一維(ID)光學條形碼讀取器以讀取在條形碼的寬度和間隔中沿著單一軸編碼的數據為特征,從而這樣的符號能夠從沿著所述軸的單一掃描被讀出,如果符號以足夠高的分辨率被成像的話。為了允許將較大數量的數據編碼在單一條形碼符號中,若干ID堆疊條形碼符號 體系已被開發出來,其將被編碼的數據劃分到多個行中,每一行包括相應的ID條形碼圖案,所有或大多數圖案必須被掃描并解碼,隨后被鏈接在一起以形成完整的消息。掃描僅在一維中仍然需要相對較高的分辨率,但需要多個線性掃描以讀取整個符號。已開發了稱為二維(2D)矩陣符號體系的一類條形碼符號體系,其提供無定向掃描以及比ID符號體系更大的數據密度和容量。2D矩陣碼將數據編碼為在規則多邊形矩陣內的暗的或亮的數據元素,伴有圖形查找器、定向和參考結構。許多其它種類的條形碼符號體系和/或標記被已知并廣泛使用,包括,例如,PDF417, MicroPDF417, MaxiCode, DataMatrix, QR Code, Aztec, Aztec Mesas, Code 49,EAN-UCC Composite, Snowflake, Dataglyphs, Code 39, Codel28, Codabar, UPC, EAN,Interleaved 2 of 5,Reduced Space Symbology,Code93,Codablock F,和BC412,Postnet,Planet Code, British Post,Canadian Post,Japanese Post, OCR-A,OCR-B, Code 11,UPC,EAN, MSI以及Code 16K。進一步,標記可由印刷標記、符號標記、源于生物/生物計量的標記或從捕獲的圖像中提取的任意信息來表示。常規地,條形碼讀取器,無論便攜式與否,包括直接控制安置在讀取器中的各種電子組件的操作的中央處理器。例如,中央處理器控制小鍵盤輸入的檢測、顯示特征、無線網絡通信功能、觸發檢測以及條形碼讀取和解碼功能。更具體地,中央處理器典型地與被配置為照亮目標(諸如條形碼)的照明部件以及被配置為接收目標圖像并產生電輸出信號的成像部件通信,所述電輸出信號指示被光學編碼在該電輸出信號中的數據。該輸出信號隨后由模數轉換器轉換,并由存儲在存儲器中的算法分析以解碼包含在被捕獲的圖像中的任意條形碼。進一步,中央處理器經常控制被配置為通過無線或有線網絡與主服務器通信的網絡接口。越來越多地,例如Linux的傳統上弱勢的操作系統由于包括功耗/管理、相對容易使用以及軟件應用程序供應等等的各種原因已經獲得了普及。然而,設備制造商,特別是便攜式、移動以及嵌入式設備的制造商,常常已建立被配置為在例如Windows Mobile的傳統上強勢的操作系統上操作的設備驅動器(便于計算系統與硬件設備通信的軟件)。例如,條形碼掃描器通常具有便于掃描器通信以及控制用于獲取在解碼時表示編碼在條形碼中的值的像素數據的成像和/或照明部件的嵌入式驅動器。建立多個每ー個都被配置為在相應操作系統上操作的設備驅動器在成本和時間方面需要大量的資源以發展及持續進行各種驅動器的制造商支持和維護。因此,需要ー種被配置為有效并便于支持至少兩個平臺的便攜式數據終端,由此減少一個或多個設備驅動器和/或其它軟件應用程序的便攜性的需要。
參考附圖來公開本發明,其中圖I是依據本發明的示例性便攜式數據終端的透視圖;
圖2a和2b是依據本發明的分別包括照明和激光成像部件的示例性便攜式數據終端的框圖;圖3是依據本發明并包括多個平臺和虛擬機的示例性便攜式數據終端的框圖;圖4是依據本發明并包括主機平臺、多個虛擬機和多個相應平臺的示例性便攜式數據終端的框圖;以及圖5是依據本發明并包括主機平臺和虛擬機的示例性便攜式數據終端的框圖。應意識到出于明晰的目的以及在認為是適當的情況下,附圖中重復的附圖標記表示對應的特征。
具體實施例方式參考圖IA和1B,示出兩個用于讀取/掃描印刷標記的示例性便攜式數據終端 (PDT)IOO0盡管是針對PDT描述的本發明,但本發明可以在例如任意條形碼掃描器、移動電子設備、移動計算機或個人數字助理中使用。PDT外殼102可以采用手柄部分107來成型以適合人手,并且可以例如包括諸如手指可激勵掃描/捕獲或觸發按鈕106以及用于輸入數據和命令的小鍵盤108的用戶接ロ設備、電源按鈕以及便干與本地或遠程主處理器通信的天線。PDT 100也包括顯示器104,例如IXD或OLED顯示器,用于向用戶顯示信息。如果顯示器104是觸摸屏,輸入筆(未示出)也可被包括以便于與觸摸屏的交互。在外殼102中包括孔,使得照明和成像光學器件基本上不受阻礙地接近目標。PDT 100也可包括用于接收功率供應的電源端ロ,便干與網絡接ロ有線或無線通信的ー個或多個通信端ロ,和/或這兩者功能可由同一端ロ 110提供。參考圖2a,示出共同包含依據本發明的TOT 200a的基本結構的示意框圖。PDT200a包括用于照明諸如條形碼的目標214a的照明部件208a,以及用于接收目標214a的圖像并產生指示光學編碼在其中的像素數據的電輸出信號的成像部件202a。照明部件208a包括至少ー個光源212以及諸如ー個或多個反射器的、用于在朝向目標214a的方向上引導來自光源212的光的照明光學器件210。例如,光源212包括至少ー個被配置為發射近紅外范圍中的光的LED,和/或至少ー個被配置為發射可視范圍中的光的LED。成像部件202a包括諸如(XD,CMOS, NMOS, PMOS, CID或CMD固態圖像傳感器的2D傳感器206,以及用于接收目標214a的圖像并且將該圖像聚焦在傳感器206上的成像光學器件204。仍然參考圖2a,PDT 200a進一步包括處理器216a,諸如微處理器,VLSI,ASIC和/或其它本領域中已知的具有指令集架構的集成電路微處理器。處理器216a可被配置為接收、輸出和處理包括圖像/像素數據在內的數據,操作成像部件202a和照明部件208a,以及與系統總線238a通信,等等。進一步,處理器216a可被配置為控制光源212的照明,傳感器206的定時,模數轉換,通過網絡接口 234a(諸如RS-232,,RS-485, USB,以太網,Wi-Fi,藍牙 ,IrDA或Zigbee接口)向TOT 200a外部的遠程計算機或主服務器236a的處理器傳輸數據和接收來自TOT 200a外部的遠程計算機或主服務器236a的處理器的數據,控制用戶輸入接口 230a以管理與掃描/觸發按鈕106和/或小鍵盤108的用戶交互,以及通過顯示接口 232a控制輸出設備104 (諸如IXD或OLED顯示器),等等,如在下文詳細描述的。處理器216a被配置為例如通過執行存儲在數據存儲裝置222a中的指令(諸如成像掃描驅動器應用程序225a)和通過(一個或多個)操作系統223和/或(一個或多個)虛擬機監視器和/或(一個或多個)虛擬機224傳輸的指令來控制硬件和/或執行上述功能。數據存儲裝置222a可包括本地的、網絡可訪問的、可移動的和/或不可移動的存儲器,例如RAM,ROM,和/或閃存,以及可被進一步配置為存儲其它(一個或多個)軟件應用程序226a,諸如 被配置為從傳感器接收像素數據并解碼編碼在該像素數據中的任意條形碼數據的條形碼解碼軟件應用程序。成像掃描驅動器應用程序225a被配置為提供軟件可調用例程,這些例程諸如通過設定存儲器寄存器和向用于控制成像部件202a和照明部件208a硬件的管腳提供電壓來控制設備。例如,成像掃描驅動器應用程序225a可被配置為提供例如打開或關閉照明、啟動圖像捕獲、檢索圖像、自動檢測傳感器、初始化傳感器、執行狀態管理以及執行曝光度控制的例程。PDT 200a也包括諸如一個或多個電池和/或接收交流電的電路系統的一個或多個電源228a,以及用于接收來自諸如鍵盤、小鍵盤108、觸發/掃描按鈕106和/或觸摸屏104的用戶輸入設備的數據的用戶輸入接口 230a。在圖2a中示出的TOT 200a系統組件優選地支撐在一個或多個印刷電路板(未不出)上。參考圖2b,示出共同包括依據本發明的TOT 200b的基本結構的示意框圖。PDT200b包括照明部件208b,照明部件208b包括至少一個用于控制至少一個激光發生器242的激光控制器244,激光發生器242用于產生至少一個被引導至至少一個鏡面240 (諸如折疊鏡和/或擺動式和/或旋轉式掃描鏡)上的激光束,所述至少一個鏡面240隨后引導光束至目標214b上。激光束/掃描圖案被反射遠離目標214b,并由至少一個鏡面240再引導至成像部件202b中,成像部件202b例如包括一個或多個激光濾過器246,一個或多個光電二極管248,放大器250和數字化器252。附加的激光發生器和激光控制器可被提供以提供例如在形狀,高度,寬度,角度,和/或距離方面不同的激光。光電二極管248將入射的光能量轉換為電荷,所述電荷是表示由目標214b反射遠離的光的輸出信號。數字化器252將由光電二極管248輸出的模擬信號轉換為表不由目標214b反射遠離的光的數字信號。仍然參考圖2b,PDT 200b進一步包括處理器216b,諸如微處理器,VLSI, ASIC,和/或在本領域中已知的具有指令集架構的其它集成電路微處理器。處理器216b可被配置為接收,輸出和處理包括圖像/像素數據在內的數據,操作照明部件208b和成像部件202b,以及與系統總線238b通信,等等。進一步,處理器216b可被配置為如在下文詳細描述的那樣通過諸如RS-232、RS-485、USB、以太網、Wi-Fi、藍牙 、IrDA或Zigbee接ロ的網絡接ロ234b控制向PDT200b外部的遠程計算機或主服務器236b的處理器的數據傳輸以及控制來自PDT200b外部的遠程計算機或主服務器236b的處理器的數據的接收,控制用戶輸入接ロ230b以管理與掃描/觸發按鈕106和/或小鍵盤108的用戶交互,以及通過顯示接ロ 232b控制諸如IXD或OLED顯示器的輸出設備104,等等。處理器216b被配置為,例如通過執行存儲在數據存儲裝置222b中的指令(諸如激光掃描驅動器應用程序225b)和通過(ー個或多個)操作系統223和/或(ー個或多個)虛擬機監視器和/或(ー個或多個)虛擬機224傳輸的指令來控制硬件和/或執行上述功能。數據存儲裝置222b可包括本地的,網絡可訪問的,可移動的和/或不可移動的存儲器,諸如RAM,R0M,和/或閃存,以及可被進ー步配置為存儲其它(ー個或多個)軟件應用程序226b,諸如被配置為接收像素數據并解碼編碼在該像素數據中的任意條形碼數據的條形碼解碼軟件應用程序。激光掃描驅動器應用程序225b被配置為提供軟件可調用例程,這些例程諸如通過設定存儲器寄存器以及向用于控制成像部件202b硬件的管腳提供電壓來控制設備。
PDT 200b也包括諸如ー個或多個電池和/或接收交流電的電路系統的一個或多個電源228b,以及用于接收來自諸如鍵盤、小鍵盤108、觸發/掃描按鈕106和/或觸摸屏104的用戶輸入設備的數據的用戶輸入接ロ 230b。在圖2b中示出的TOT 200b系統組件優選地支撐在ー個或多個印刷電路板(未不出)上。為提供多平臺roT,兩個或更多個操作系統可被安裝在單獨的硬盤驅動,諸如NAND和/或NOR閃存的閃存驅動,或任意其它數據存儲裝置,和/或所述數據存儲裝置中的分區上,其中用戶在開機時間選擇操作系統,并且切換需要關閉當前操作系統并啟動另ー個操作系統。這樣的實現的一些限制是切換所需要的時間以及缺乏上下文存儲(contextstorage)以提供從切換時間開始的恢復功能。為了在沒有關閉和啟動例程的情況下提供多平臺和上下文切換,在本領域中虛擬機可被使用,包括在PDT和嵌入式系統中,因為硬件、特別是處理器已變得更加穩健。我們在下面描述的三個多平臺PDT系統的實施例使用了依據本發明的一個或多個改進的虛擬化技術。PDT硬件和多個平臺之間的虛擬機參考圖3,本發明的一個實施例被示出,其包括可含有虛擬機監視器或管理程序的虛擬機224a,所述虛擬機224a被配置為便于PDT硬件200和多個平臺、操作系統和/或內核223a-d之間的通信,諸如微軟的Windows CE和/或Windows Mobile 223a,谷歌公司的 Android 223c,甲骨文公司的 Solaris, Unix, GNU, LiMO, Symbian, Red Hat 公司的Linux 223b,或可從蘋果公司和/或Research In Motion Limited獲得的操作系統,和/或任意其它操作系統。示例性的虛擬機是可從VMware公司獲得的Mobile VirtualizationPlatform,可從VirtualLogix公司獲得的VLX,以及可從Open Kernal Labs獲得的0KL4Microvisor 和 OK :Windows、0K :Linux 與 OK :Android產品。在圖 3 所不出的實施例中,虛擬機224a是包含在諸如數據存儲裝置222的數據存儲裝置中的應用程序,被配置為接收來自多個操作系統223a-d的指令并依據處理器216的指令集架構將指令傳輸至處理器216。示例性處理器216指令集架構包括ARMv5 (ARM9和XScale)和v6 (ARMll) ,MIPS (MIPS32和MIPS64),以及Intel (x86_32和x86_64)。通過分配諸如處理器216的資源200至操作系統223a-d,虛擬機224a諸如借助于監視器、管理程序和/或調度器來共享系統資源200。例如,資源控制由虛擬機監視器的調度策略或(ー個或多個)操作系統223a-d的調度策略
來管理。繼續參考圖3,為了提供(ー個或多個)系統資源200以及特別是處理器216的操作系統223a-d控制的直接用戶管理,在本發明的一個實施例中,虛擬機224a被配置為在接收到表不事件的電信號時切換操作系統223a-d訪問。電信號可基于例如與觸發按鈕106,小鍵盤108和/或觸摸屏104中的ー個或多個的用戶交互而被傳輸。虛擬機224a可被配置為通過將ー個操作系統223a_d列為優先或通過將由ー個操作系統223a_d發布的指令、處理和/或線程列為比ー個或多個其它操作系統223a_d優先來切換操作系統223a_d訪問。被配置為提供靈活的操作系統優先權的這種調度器的一個示例性實施例公開在名為“小粒度操作系統調度”(Fine Grain OS Scheduling)的號碼為12/376,822的美國專利申請中,在此通過參考而引入。在優選實施例中,虛擬機224a被配置為通過例如中止由操作系統架構提供的當前操作系統來切換操作系統223a-d訪問至系統資源200,諸如通過中斷例程和睡眠、空閑、休眠和/或其它中止使用的實例化,以及基于用戶輸入、預定次序,或優選的通 過將處理器216或其它系統資源200恢復控制到上ー個操作系統以擁有切換之前的控制來喚醒另一操作系統。中止使用操作的示例性實施例已在名為“Computer System Capableof Fast Switching Between Multiple Operating Systems and Applications”,專利號為7356677的美國專利中描述,在此通過參考而引入。在其中操作系統不具有自身的中止使用的實施例中,虛擬機224a被配置為在包括程序計數器,(ー個或多個)處理控制塊,和/或存儲器/寄存器,存儲器映射,表格,和/或(ー個或多個)列表值的數據存儲裝置中保存上下文,使得按照用戶所指示的,通過反轉上下文切換,失去控制的操作系統能夠恢復控制。仍然參考圖3,在依據本發明的TOT 200的一個示例性實施例中,(ー個或多個)Windows應用226a至少包括被配置為與Windows Mobile操作系統223a通信的掃描驅動器應用程序225,以控制成像部件202和照明部件208來獲得諸如條形碼的目標214的圖像并可選地對目標214的圖像解碼。具體地,當調用吋,掃描驅動器應用程序225被編譯以產生包含特定于Windows格式的ニ進制信息的文件,隨后該文件由Windows Mobile操作系統223a解釋并用于確定相應的指令。盡管描述是針對Windows格式的掃描驅動器應用程序225進行的,在其它實施例中,(ー個或多個)Linux應用226b,(ー個或多個)Android應用226c,或任意其它(ー個或多個)應用226d中的ー個或多個包含被配置為與相應的操作系統通信的掃描驅動器應用程序225。因此,PDT 200被配置為在例如與按鈕(諸如小鍵盤108按鈕),開關,和/或觸摸屏104的用戶交互時如上所述在操作系統223a-d的任意兩個或更多個之間切換,啟動掃描驅動器應用程序225-這可選地通過編譯高級代碼以產生ニ進制文件進行,基于包含在所述ニ進制文件中的信息傳輸指令至虛擬機224a,以及如果必要,使虛擬機224a翻譯所述指令,或另外依據處理器216的指令集架構傳輸所述指令至處理器216。其后,在一個實施例中,虛擬機224a被配置為維持處理器216對操作系統223a_d的控制,掃描驅動器應用程序225被配置為與操作系統223a-d通信直到另一事件發生為止,所述另一事件例如是與小鍵盤108按鈕的用戶交互或與觸發器106的后續交互。另ー實施例中,PDT 200被配置為基于產生指示條形碼掃描嘗試事件的電信號的觸發器106按壓而在任意兩個或更多個操作系統223a-d之間切換。因此,在該實施例中,例如在與觸發器106的用戶交互時,掃描驅動器應用程序225被實例化。掃描驅動器應用程序225可被配置為與操作系統223a-d中的一個通信,并因此在觸發器106按壓時,虛擬機224a被配置為如上所述切換操作系統223a-d到掃描驅動器應用程序225被配置為與其通信的操作系統223a-d。掃描驅動器應用程序225可被進一步配置為傳輸條形碼掃描嘗試的完成至虛擬機224a,虛擬機224a可被配置為將操作系統223a_d切換回在掃描嘗試之前具有控制的操作系統223a-d和/或切換回任意其它操作系統223a-d。在又一實施例中,虛擬機224a被配置為基于成功的條形碼解碼嘗試事件切換一個或多個系統資源200的操作系統223a-d控制。在該實施例中,掃描驅動器應用程序225被進一步配置為包括或自動實例化包括程序指令的單獨的(一個或多個)軟件應用程序,所述程序指令被配置為解碼編碼在從傳感器206檢索到的像素數據中的任意條形碼數據。因此,掃描驅動器應用程序225被配置為傳輸條形碼解碼嘗試的成功和/或失敗至虛擬機224a。虛擬機224a被配置為在成功的條形碼解碼操作時如上所述切換一個或多個系統資源200 (諸如處理器216)的控制至另一操作系統223a-d。
在又一實施例中,虛擬機224a被配置為基于編碼在任意條形碼中的數據切換一個或多個系統資源200的操作系統223a-d控制,所述任意條形碼包含在由傳感器206傳輸的像素數據中。在該實施例中,掃描驅動器應用程序225被進一步配置為包括或自動實例化包括程序指令的單獨的(一個或多個)軟件應用程序,所述程序指令被配置為解碼被編碼在從傳感器206檢索到的像素數據中的任意條形碼數據。因此,成像掃描驅動器應用程序225被配置為傳輸表示編碼在被掃描的條形碼中的數據的信息和/或(一個或多個)值至虛擬機224a,所述虛擬機224a解釋所述信息以確定所述值是否匹配指示操作系統223a-d切換的預設切換信息值。(一個或多個)預設值可由制造商存儲在數據存儲裝置222中,或可由用戶輸入,諸如通過與小鍵盤108的交互以及由用戶輸入接口解釋并存儲在數據存儲裝置中。在主操作系統和(一個或多個)客戶操作系統之間的(一個或多個)虛擬機參考圖4,虛擬機224b_d被示出,配置為從諸如Linux操作系統223b、Android操作系統223c或任意其它操作系統223d的客戶操作系統(guest operating system) 223b_d接收由(一個或多個)應用226b-d傳輸的指令,以及傳輸指令(如有必要經過翻譯的)至諸如Windows Mobile的主操作系統223a,以與PDT硬件系統資源200通信。由虛擬機224b傳輸至主操作系統的223a的指令對應于PDT硬件200和處理器216的指令集架構。在該實現中,每個虛擬機224b-d作為用于一個或多個客戶操作系統223b-d和相關(一個或多個)應用226b-d的容器運行在主操作系統223a之上。仍然參考圖4,為了提供(一個或多個)系統資源200并且特別是處理器216的操作系統223a-d控制的直接用戶管理,在本發明一個實施例中,虛擬機224b-d通過與主Windows操作系統223a的通信而對系統資源200的訪問,通過接收表示與用戶接口設備的用戶交互的電信號來確定,所述用戶接口設備例如是按鈕,小鍵盤108,和/或觸摸屏104中的一個或多個。如果所指示的虛擬機224b-d沒有運行,與用戶接口設備的用戶交互使得PDT 200實例化所指示的虛擬機224b-d。虛擬機可通過與同一接口設備的連續交互的預定次序而被指示,或可替換地,單獨的接口設備可被提供以指示至相應操作系統223b-d的切換。一旦虛擬機224b-d以及相關的操作系統223b-d正在運行,或者如果所指示的虛擬機224b-d已經運行,與I3DT 200的后續用戶交互由傳輸指令至相應的虛擬機224b-d的操作系統223b-d解釋,所述相應的虛擬機224b-d翻譯指令并將已翻譯的指令傳輸至主Windows操作系統223a,所述主Windows操作系統223a隨后基于處理器216的指令集架構與所述處理器216通信。由于虛擬機224b-d是在主Windows操作系統223a上運行的程序,因此上下文能夠被切換,和/或通過與用戶接ロ設備的用戶交互所指示的被列入優先的線程或處理與任意其它應用程序一樣當在Windows操作系統上運行時能夠被切換。在一個實施例中,在實例化和/或切換至虛擬機224b時,Windows操作系統223a能夠被配置為與顯示接ロ 232通信以使得顯示器104指示哪個虛擬機224b-d/操作系統223b-d當前正與Windows操作系統223通信以控制ー個或多個系統資源200。
在圖4所示出的本發明另一示例性實施例中,(ー個或多個)Windows應用226a包括掃描驅動器應用程序225。被配置為與Linux 223b,Android 223c,或任意其它操作系統223d通信的掃描驅動器應用程序也是在預期之中的。在該實施例中,例如系統資源200的控制在與表示條形碼解碼嘗試的觸發/掃描按鈕106的用戶交互時可從(ー個或多個)虛擬機224b-d切換至主Windows操作系統223a,使得掃描驅動器應用程序225被實例化。在其它實施例中,在條形碼解碼嘗試時,在成功的條形碼解碼時,和/或基于被編碼在包含在被捕獲的像素數據中的任意條形碼中的信息/ ( ー個或多個)值,系統資源200的控制可從(ー個或多個)虛擬機224b-d切換至主Windows操作系統223a。通過上述方法的任意ー個或多個,操作系統控制可返回至在切換至主Windows操作系統223a之前操作的虛擬機224b_d或返回至另ー其它虛擬機224b_d。盡管該示例性實施例已關于主Windows擦作系統和相關的掃描驅動器應用程序225被描述,但任意操作系統可以作為主操作系統,虛擬機和相關操作系統的所有排列組合都是預期之中的,掃描驅動器應用程序225可被配置為與主操作系統通信或掃描驅動器應用程序225可以是應用226b-d的ー個或多個。主操作系統與客戶應用之間的虛擬機參考圖5,本發明的示例性實施例被示出,包括被配置為存儲諸如Linux主操作系統223b的第一操作系統的數據存儲裝置222,第一操作系統被配置為與處理器216通信,處理器216例如具有ARM指令集架構,諸如Windows應用程序226a (諸如掃描驅動器應用程序225)的第一應用程序-被配置為以諸如Windows平臺223a的第二操作系統(未安裝)可理解的格式傳輸指令,以及被配置為接收所述指令并依據所述指令與成像部件202和照明部件208通信以獲取表示目標214的圖像的像素數據的虛擬機應用224e。在本實施例中,Linux應用程序226b直接與Linux操作系統223b通信,但Windows應用程序225,226a通過虛擬機224e與Linux操作系統223b通信。包括其它和/或附加的主操作系統223、虛擬機224以及應用程序226的可替換的TOT 200實施例是預期之中的。因此,在與小鍵盤108按鈕和/或觸發器106的用戶交互吋,圖5的示例性I3DT200被配置為傳輸由此產生的電信號至主Linux操作系統223b,其中所述電信號被解釋為命令以實例化虛擬機224e,所述虛擬機224e被配置為自動實例化被編譯的掃描驅動器應用程序225,以及Windows格式化的輸出由虛擬機224e解釋,翻譯并傳輸至Linux主操作系統223b,由此所述Linux主操作系統223b操作PDT硬件200的成像部件。在與小鍵盤108按鈕和/或觸發器106的后續用戶交互時,在條形碼解碼嘗試完成時,在成功的條形碼解碼時,和/或基于被編碼在任意被掃描的條形碼中的信息/(一個或多個)值,系統資源200的控制能夠從虛擬機224e被切換,諸如如上所述通過將涉及應用226b的指令、處理和/或線程列入優先,或另外地空閑/中止虛擬機224e。雖然在此本發明的原理已被描述,但是本領域技術人員應該理解所做出的描述僅僅是為了示例而不是限制本發明的范圍。除在此所示和描述的示例性實施例之外在本發明范圍之內的其它實施例也是在預期之中的。本領域技術人員所做出的修改和替換被認為落在本發明的范圍之內,該范圍僅 被后續的權利要求限制。
權利要求
1.一種便攜式數據終端,包括 具有指令集架構的處理器;以及 數據存儲裝置,被配置為存儲 多個操作系統;以及 虛擬機器應用程序,被配置為從每個操作系統接收至少一個指令,依據所述指令集架構與處理器通信,以及在接收到表示事件的電信號時將操作系統訪問切換到處理器。
2.如權利要求I所述的便攜式數據終端,其中所述事件包括與從由觸發器,按鈕,小鍵盤以及觸摸屏組成的組中選擇的用戶輸入接口進行的用戶交互。
3.如權利要求I所述的便攜式數據終端,進一步包括 成像部件; 照明部件;以及 其中所述數據存儲裝置被進一步配置為存儲 被配置為與成像部件和照明部件通信的掃描驅動器應用程序;以及 解碼器應用程序。
4.如權利要求3所述的便攜式數據終端,其中所述成像部件進一步包括成像光學器件和至少一個圖像傳感器,且其中所述照明部件進一步包括照明光學器件和至少一個光源。
5.如權利要求3所述的便攜式數據終端,進一步包括 至少一個鏡面; 其中所述成像部件進一步包括至少一個濾波器,至少一個光電二極管,至少一個放大器,以及至少一個數字化器; 其中所述照明部件進一步包括至少一個激光發生器;以及 至少一個被配置為與所述至少一個激光發生器通信的激光控制器。
6.—種便攜式數據終端,包括 用戶接口設備; 具有指令集架構的處理器; 數據存儲裝置,被配置為存儲 被配置為依據所述指令集架構與所述處理器通信的第一操作系統; 被配置為與所述第一操作系統通信的第一應用程序; 第二操作系統; 被配置為與第二操作系統通信的第二應用程序;以及 被配置為從所述第二操作系統接收至少一個指令并基于所述至少一個指令與所述第一操作系統通信的虛擬機應用程序;以及 其中所述便攜式數據終端被配置為在與所述用戶接口設備進行的用戶交互時切換操作系統。
7.如權利要求6所述的便攜式數據終端,進一步包括 成像部件; 照明部件;以及 其中所述第一應用程序包括被配置為與所述成像部件和照明部件通信的掃描驅動器應用程序,以及被配置為解釋由傳感器傳輸的像素數據以解碼包含在所述像素數據中的任意條形碼的解碼器應用程序。
8.如權利要求7所述的便攜式數據終端,其中所述成像部件進一步包括成像光學器件和至少一個圖像傳感器,以及其中所述照明部件進一步包括照明光學器件和至少一個光源。
9.如權利要求7所述的便攜式數據終端,進一步包括 至少一個鏡面; 其中所述成像部件進一步包括至少一個濾波器,至少一個光電二極管,至少一個放大器,以及至少一個數字化器; 其中所述照明部件進一步包括至少一個激光發生器;以及 至少一個被配置為與所述至少一個激光發生器通信的激光控制器。
10.如權利要求9所述的便攜式數據終端,其中 所述用戶接口設備是掃描按鈕; 所述數據存儲裝置被進一步配置為存儲切換信息;以及 所述便攜式數據終端被進一步配置為在與所述掃描按鈕進行的用戶交互時以及依據任意被解碼的條形碼信息與切換信息的比較來切換操作系統。
全文摘要
一種便攜式數據終端,包括具有指令集架構的處理器,被配置為存儲多個操作系統的數據存儲裝置,以及虛擬機監視應用程序,所述虛擬機監視應用程序被配置為從每個操作系統接收至少一個指令,依據所述指令集架構與所述處理器通信,并在接收到表示事件的電信號時切換操作系統訪問至所述處理器。
文檔編號G06K7/00GK102682254SQ201110462509
公開日2012年9月19日 申請日期2011年12月7日 優先權日2010年12月7日
發明者H·屈, Y·P·王 申請人:手持產品公司