专利名称:多平台支持系统与方法
技术领域:
本发明涉及便携式数据终端,更特别地涉及能够支持多平台的便携式数据终端。
背景技术:
诸如便携式数据终端、光学和激光标记读取器、条形码扫描器以及其它移动计算机的远程设备典型地读取由诸如符号、符号体系以及条形码的印刷标记所表示的数据。一种符号类型是矩形条和间隔的阵列,所述矩形条和间隔以特定方式被排列来以机器可读的形式表示数据的元素。光学标记读取设备典型地将光传输到符号上并接收从条形码符号或标记散射和/或反射回的光。所接收的光由图像处理器解译以提取由符号表示的数据。激光标记读取设备典型地利用被传输的激光。一维(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·王 申请人:手持产品公司