A non-transitory computer-readable storage medium storing instructions that, when executed by a fixed-function consumer electronics (CE) device, cause the fixed-function CE device to perform a method for providing a general-purpose computing function, the method comprising:
- obtaining a virtual machine at the fixed-function CE device, wherein the fixed-function CE device includes hardware, a host operating system, a host user interface, a virtual machine monitor to execute virtual machines, and a set of fixed-functions that does not include a virtual machine monitor that is capable of executing virtual machines, wherein the host operating system interacts directly with the hardware, wherein the host user interface interacts directly with the host operating system, wherein the set of fixed-functions interact directly with the host user interface, wherein the virtual machine monitor interacts directly with the host user interface, wherein the fixed-function CE device allows a user to directly interact with the set of fixed-functions, but does not allow the user to directly interact with the host user interface, wherein the set of fixed-functions includes a television function, and wherein the set of fixed-functions do not include a general purpose computing function;
- executing the virtual machine on the virtual machine monitor of the fixed-function CE device, wherein the virtual machine supports a general-purpose computing function, wherein the executing virtual machine provides the general purpose computing function, and wherein the fixed-function CE device allows the user to directly interact with the virtual machine executing on the virtual machine monitor;
- and
- providing the set of fixed-functions and the general-purpose computing function to the user.