1. A terminal, comprising: a processor having an instruction set architecture; an imaging assembly; and data storage means configured to store: a plurality of operating systems; a virtual machine application program configured to receive at least one instruction from each operating system, communicate with the processor according to the instruction set architecture, and switch operating system access to the processor upon receipt of an electrical signal representing an event; a decoder application program; and a scan driver application program configured to communicate with the imaging assembly, illumination assembly, virtual machine application program, and the decoder application program; wherein the event comprises the scan driver application communicating an electrical signal representing data encoded in a barcode decoded by the decoder application program from an image captured by the imaging assembly to the virtual machine application program.