Multi-environment operating system
First Claim
1. A run-time method performed by mobile device, the method comprising:
- interpreting a first software application on a register-based virtual machine coupled to a kernel; and
concurrently executing a second software application also coupled to the kernel, wherein the second software application is a compiled software application,wherein the interpreting of the first software application is performed using a first library,wherein the executing of the second software application is performed using a second library,wherein the first library is comprised of first middleware of a first environment established on the device, wherein the second library is comprised of a second middleware of a second environment established on the device,wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment,wherein each one of the first and second environment is configured to communicate directly with the kernel,wherein each one of the first and second environments is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information,wherein the first and second environments are configured to operate concurrently directly in relation to the kernel even if the other of the first and second environments is not present, andwherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment.
4 Assignments
0 Petitions
Accused Products
Abstract
A device with multiple, co-existing, and independent environments interacting with a common kernel, and related methods of operation, are disclosed herein. In at least one embodiment, the device is a mobile device on which a run-time method is performed. The run-time method includes interpreting a first software application on a register-based virtual machine coupled to a kernel. The method additionally includes concurrently executing a second software application also coupled to the kernel, where the second software application is a compiled software application. The interpreting of the first software application is performed using a first library, and the executing of the second software application is performed using a second library.
-
Citations
22 Claims
-
1. A run-time method performed by mobile device, the method comprising:
-
interpreting a first software application on a register-based virtual machine coupled to a kernel; and concurrently executing a second software application also coupled to the kernel, wherein the second software application is a compiled software application, wherein the interpreting of the first software application is performed using a first library, wherein the executing of the second software application is performed using a second library, wherein the first library is comprised of first middleware of a first environment established on the device, wherein the second library is comprised of a second middleware of a second environment established on the device, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment, wherein each one of the first and second environment is configured to communicate directly with the kernel, wherein each one of the first and second environments is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein the first and second environments are configured to operate concurrently directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment. - View Dependent Claims (2, 3, 4, 5, 19)
-
-
6. A run-time method performed by a mobile device, the method comprising:
-
interpreting at least one first software application on a register-based virtual machine coupled to a kernel, wherein the at least one first software application and the register-based virtual machine are comprised in a first environment; and concurrently executing at least one second software application also coupled to the kernel, wherein the second software application is a compiled software application and is comprised in a second environment, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of first middleware of the first environment and second middleware of the second environment, wherein each one of the first and second environments is configured to communicate directly with the kernel, wherein each one of the first and second environment is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein each one of the first and second environments is capable of operation directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment. - View Dependent Claims (20)
-
-
7. A device comprising:
-
at least one processing device; and at least one storage device that stores computer executable instructions, wherein the computer executable instructions include; first instructions that when performed by the at least one processing device establish a first environment that interacts with a kernel, wherein the first environment includes a first library and is configured for interpreting run-time interpreted code on a register-based virtual machine by way of the first library; second instructions that when performed by the at least one processing device establish a second environment that interacts with the kernel, wherein the second environment includes a second library and is configured for executing pre-run-time compiled C/C++ code by way of the second library; and third instructions that when performed by the at least one processing device establish the kernel, wherein the first environment includes first middleware and the second environment includes second middleware, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment, wherein each one of the first and second environments is configured to communicate directly with the kernel, wherein each one of the first and second environment is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, wherein each one of the first and second environments is capable of operation directly in relation to the kernel even if the other of the first and second environments is not present, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 21)
-
-
17. A method for operating a device having a kernel, a first environment with first middleware, and a second environment with second middleware, wherein each of the environments interfaces the kernel, the method comprising:
-
initializing the kernel, wherein the kernel is configured to allocate resources of the device by managing interactions between device hardware and each of the first middleware of the first environment and the second middleware of the second environment; identifying a device mode state; launching services common to each of the first environment and the second environment, wherein each one of the first and second environments is capable of operation directly in relation to the kernel even if the other of the first and second environments is not present, wherein each one of the first and second environments is configured to communicate directly with the kernel, wherein each one of the first and second environment is configured to communicate directly with the other of the first and second environments and to provide status updates for processes that provide run-time status information, and wherein the second environment comprises a resource manager that is configured to communicate with the first environment and to manage a group of the resources of the device that are shared by the first environment and the second environment; determining one of the first and second environments as being a primary environment based at least in part upon the mode state; and launching initializing scripts for each of the first and second environments, wherein the first middleware of the first environment is configured to interpret application code at run-time with a byte-code interpreter, and the second middleware of the second environment is configured to execute a pre-run-time-compiled application. - View Dependent Claims (18, 22)
-
Specification