WO2013142465A1 - Device including a plurality of selectable operating systems - Google Patents

Device including a plurality of selectable operating systems Download PDF

Info

Publication number
WO2013142465A1
WO2013142465A1 PCT/US2013/032908 US2013032908W WO2013142465A1 WO 2013142465 A1 WO2013142465 A1 WO 2013142465A1 US 2013032908 W US2013032908 W US 2013032908W WO 2013142465 A1 WO2013142465 A1 WO 2013142465A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating systems
selectable operating
selectable
operating system
input signal
Prior art date
Application number
PCT/US2013/032908
Other languages
French (fr)
Inventor
Bhanu Sharma
Original Assignee
Sony Mobile Communications Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Mobile Communications Ab filed Critical Sony Mobile Communications Ab
Publication of WO2013142465A1 publication Critical patent/WO2013142465A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Definitions

  • the invention relates generally to operating systems, more particularly, to operating systems that include hardware assisted virtualization for operating systems.
  • Fig. 1 is a diagram of an exemplary device in which methods and systems described herein may be implemented
  • Fig. 2 is a block diagram of exemplary components of the device of Fig. 1 ;
  • Fig. 3 is exemplary functional block diagram of a portion of a device for selecting an operating system based on an input signal in a manner consistent with implementations described herein;
  • Fig. 4 is a flow diagram of an exemplary process of selecting an operating system based on an input signal in a manner consistent with implementations described herein.
  • Embodiments described herein relate to devices, methods, and systems for selecting an operating system based on an input signal.
  • the operating system may be selected from among a plurality of operating systems by a processor that includes support for hardware assisted virtualization.
  • an operating system may be selected, booted and applications may be executed based on input signals, such as user selection of the operating system, detection of an environment, or user selection of an application.
  • Fig. 1 is a diagram illustrating components of an exemplary user device 100 in which systems and methods described herein may be implemented.
  • Device 100 may include any of the following devices: a mobile telephone; a cellular phone; a personal
  • PCS communications system
  • PDA personal digital assistant
  • device 100 may take the form of a mobile phone (e.g., a cell phone). As shown in Fig. 1, device 100 may include a speaker 102, a touchscreen display 104, control buttons 106, a microphone 110, sensors 112, a front camera 114, and a housing 116. Speaker 102 may provide audible information to a user of device 100.
  • a mobile phone e.g., a cell phone
  • device 100 may include a speaker 102, a touchscreen display 104, control buttons 106, a microphone 110, sensors 112, a front camera 114, and a housing 116.
  • Speaker 102 may provide audible information to a user of device 100.
  • device 100 may include fewer, more or different components, such as additional sensors, input devices, and may include associated devices (e.g., a stylus) etc.
  • Display 104 may provide visual information to the user, such as an image of a caller, video images, or pictures.
  • display 104 may include a touchscreen for providing input to device 100.
  • Display 104 may provide hardware/software to detect the coordinates of an area that is touched by a user.
  • display 104 may include a display panel, such as a liquid crystal display (LCD), organic light-emitting diode (OLED) display, and/or another type of display that is capable of providing images to a viewer.
  • LCD liquid crystal display
  • OLED organic light-emitting diode
  • Display 104 may include a transparent panel/surface for locating the position of a finger or an object (e.g., stylus) when the finger/object is touching or is close to display 104.
  • an object e.g., stylus
  • Control buttons 106 may permit the user to interact with device 100 to cause device 100 to perform one or more operations, such as place or receive a telephone call.
  • control buttons 106 may include a telephone keypad (not shown) that may be complementary to graphical user interface (GUI) objects generated on touchscreen display 104.
  • GUI graphical user interface
  • Microphone 110 may receive audible information from the user.
  • Sensors 112 may collect and provide, to device 100, information (e.g., acoustic, infrared, etc.) that is used to aid the user in capturing images or in providing other types of information (e.g., a distance between a user and device 100).
  • Front camera 114 may enable a user to view, capture and store images (e.g., pictures, video clips) of a subject in front of device 100.
  • Housing 116 may provide a casing for components of device 100 and may protect the components from outside elements.
  • device 100 may include a program that includes instructions to automatically select an operating system from a plurality of operating systems based upon an input signal.
  • the input signal may include user selection of the operating system, detection of an environment in which device 100 is operating, or user selection of an application, etc.
  • Device 100 may switch between different operating systems and associated environments (e.g., a particular desktop, user configuration settings, etc.) based on the input signal.
  • the operating systems may be selected to provide additional functionality and applications.
  • Device 100 may provide access to a wide array of applications based on multiple different operating systems and operating system kernels.
  • the applications may be run in their native form, without requiring rewriting of applications and performing customization in order to provide access to the particular application on device 100.
  • device 100 may select an operating system based upon an external environment associated with device 100.
  • the external environment may include other devices with which device 100 interacts.
  • Fig. 2 is a block diagram of exemplary components of device 200.
  • Device 200 may represent components implemented or included within device 100.
  • device 200 may include a processor 202, a memory 204, input/output components 210, a network interface 212, and a communication path 214.
  • device 200 may include additional, fewer, or different components than the ones illustrated in Fig. 2.
  • device 200 may include additional network interfaces, such as interfaces for receiving and sending data packets.
  • Processor 202 may include a processor, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or other processing logic (e.g., audio/video processor) capable of processing information and/or controlling device 200.
  • Processor 202 may be capable of running a plurality of selectable operating systems 206a-206n. Additionally, processor 202 may be configured to provide support for hardware assisted virtualization of selectable operating systems 206a-206n. In other words, each of selectable operating systems 206a-206n may be run on device 100 (via processor 202) to simulate unmodified guest operating systems operating in isolation from other operating systems on device 100.
  • Memory 204 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions.
  • Memory 204 may also include storage devices, such as a floppy disk, compact disc read only memory (CD ROM), compact disc (CD) read/write (R/W) disc, and/or flash memory, as well as other types of storage devices.
  • Memory 204 may include a plurality of selectable operating systems 206a-206n that may run on processor 202.
  • Selectable operating systems 206a-206n may be several different operating systems and distributions or kernels of operating systems that are stored in memory 204 and are available to be run on processor 202.
  • selectable operating systems 206a-206n may include Windows 7, Windows Phone, Linux, Mac operating system (OSX), Apple mobile operating system (iOS), Android operating system, PlayStation operating system etc.
  • Each of selectable operating systems 206a-206n may be completely separate from other selectable operating systems 206a-206n.
  • some selectable operating systems 206a-206n may share directories, etc.
  • Memory 204 may include operating system selector 208.
  • Operating system selector 208 may be a dedicated operating system and/or application. Alternatively, operating system selector 208 may be a distributed application that is executed (or partially executed) using selectable operating systems 206a-206n. Operating system selector 208 may select an operating system from selectable operating systems 206a-206n based on an input signal. In many instances, operating system selector 208 may select a single selectable operating systems 206 to run at a single time in device 100. However, operating system selector 208 may select multiple selectable operating systems 206a-206n to concurrently execute applications in some implementations.
  • Input/output components 210 may include a keyboard or keypad, voice recognition mechanisms, Universal Serial Bus (USB), speakers, a microphone, a thermometer, and/or other types of components for providing an input/output to/from device 200.
  • USB Universal Serial Bus
  • Network interface 212 may include any transceiver- like mechanism that enables device 200 to communicate with other devices and/or systems.
  • network interface 212 may include mechanisms for communicating via a network, such as the Internet, a terrestrial wireless network (e.g., a WLAN), a cellular network, a satellite-based network, a wireless personal area network (WPAN), etc.
  • network interface 212 may include a modem, an Ethernet interface to a LAN, and/or an interface/ connection for connecting device 200 to other devices (e.g., a Bluetooth interface).
  • Communication path 214 may provide an interface through which components of device 200 may communicate with one another.
  • Fig. 3 is a diagram illustrating data flow 300 associated with selection of an operating system from a plurality of selectable operating systems 206a-206n.
  • Data flow 300 may include operating system selector 208, and selectable operating systems 206a-206n.
  • Operating system selector 208 may execute a selection application 302 that receives selection rules 304 and input signals 306. The particular arrangement and number of components in data flow 300 as shown in Fig. 3 is illustrated for simplicity. As shown in Fig. 3, operating system selector 208 may execute selection application 302. Operating system selector 208 may be a separate operating system that is substantially dedicated to performing a gatekeeping function (via selection application 302) on device 100 and determining which of selectable operating systems 206a-206n is to be booted and used to execute particular applications. Selection application 302 may be "always on", regardless of whether one of selectable operating systems 206a-206n is currently being used or may be engaged when the user boots device 100 or closes down a particular selectable operating systems 206n.
  • Operating system selector 208 may receive selection rules 304.
  • operating system selector 304 may receive selection rules 304 from an administrator, a manufacturer or a user of device 100.
  • Selection rules 304 may determine a priority order of selectable operating systems 206a-206n and specific scenarios and particular requested applications 310 during which selectable operating systems 206a-206n may be switched for each other (or activated with each other). The priority order may be based on user preference, specifications of device 100 and processor 202, particular applications or combinations of applications, etc.
  • Selection rules 304 may also determine a priority order of resource allocation, and combinations of selectable operating systems 206a-206n that may be allowed to be booted concurrently.
  • operating system selector 208 may determine that resource allocation for the selectable operating systems 206a-206n may allow a required/desired level of functionality for both selectable operating systems 206a-206n and particular applications at the same time. Selectable operating systems 206n may then start requested application 310.
  • selection rules 304 may determine that operating system selector 208 (i.e., device 100) is to request specific input by the user prior to switching to another selectable operating system 206 (e.g., a request for acknowledgement of an incoming phone call when device 100 is in a "gaming" mode).
  • Input signal 306 may be a digital input signal, a signal based on a predetermined change associated with a timer or a signal based on an environmental change detected by device 100.
  • a TV operating system or a video gaming operating firmware or operating system e.g., for PlayStation applications
  • operating system selector 208 may switch to Android or other phone OS either automatically or in response to a positive reply to a user prompt (e.g., "incoming phone call - do you want to switch to phone mode?").
  • device 100 selects a different selectable operating system 206, such as Windows operating system.
  • device 100 may generate a graphical user interface that includes a representation of one or more available operating systems based on a particular application. For example, the user may desire to use a game application that may be executed using multiple different operating systems. Device 100 may receive an input to select at least one of the one or more available operating systems to execute the particular application.
  • Fig. 4 is a flowchart of an exemplary process 400 for selecting an operating system from a plurality of selectable operating systems 206a-206n in a manner consistent with implementations described herein.
  • Process 400 may execute in processor 202. It should be apparent that the process discussed below with respect to Fig. 4 represents a generalized illustration and that other elements may be added or existing elements may be removed, modified or rearranged without departing from the scope of process 400.
  • operating system selector 208 may receive an input signal.
  • operating system selector 208 may receive an input signal via a GUI of device 100.
  • operating system selector 208 may receive input via a motion detector.
  • the input signal may be an incoming telephone call signal or other input signal initiated by an external agent.
  • operating system selector 208 may identify an operating system from selectable operating systems 206a-206n that is associated with the input signal.
  • operating system selector 208 may access selection rules for selectable operating systems 206a-206n.
  • operating system selector 208 may determine whether a particular selectable operating system 206 associated with the input signal should be booted based on the selection rules. In one example, operating system selector 208 may select one of selectable operating systems 206a-206n based on an orientation of the device, and/or a motion of the device. Operating system selector 208 may switch to a video game operating system (among selectable operating systems 206a-206n) whenever a motion detector on device 100 indicates relatively rapid back and forth movement of device 100.
  • operating system selector 208 may load and boot up the identified selectable operating system 206.
  • the identified selectable operating system 206 may then provide an associated application based on the input signal and/or execute an application based on instructions associated with the selected operating system (block 412).
  • device 100 may continue in a current mode (block 414).
  • logic that performs one or more functions.
  • This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.

Abstract

A method includes receiving, by a device that includes a plurality of selectable operating systems, an input signal. The selectable operating systems are a plurality of different operating systems or a plurality of different kernels of operating systems. The method includes identifying one of the selectable operating systems associated with the input signal. Selection rules are identified. The selection rules identify when some of the selectable operating systems are to be booted. The method also includes determining whether to boot the identified selectable operating system based on the selection rules. The method further includes booting the identified selectable operating system in response to determining that the identified selectable operating system is to be booted.

Description

DEVICE INCLUDING A PLURALITY OF SELECTABLE OPERATING SYSTEMS
BACKGROUND
The invention relates generally to operating systems, more particularly, to operating systems that include hardware assisted virtualization for operating systems.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate one or more embodiments described herein and, together with the description, explain the embodiments. In the drawings:
Fig. 1 is a diagram of an exemplary device in which methods and systems described herein may be implemented;
Fig. 2 is a block diagram of exemplary components of the device of Fig. 1 ;
Fig. 3 is exemplary functional block diagram of a portion of a device for selecting an operating system based on an input signal in a manner consistent with implementations described herein; and
Fig. 4 is a flow diagram of an exemplary process of selecting an operating system based on an input signal in a manner consistent with implementations described herein.
DETAILED DESCRIPTION
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description is exemplary and explanatory only and is not restrictive of the invention, as claimed.
Embodiments described herein relate to devices, methods, and systems for selecting an operating system based on an input signal. The operating system may be selected from among a plurality of operating systems by a processor that includes support for hardware assisted virtualization.
Consistent with embodiments described herein, an operating system may be selected, booted and applications may be executed based on input signals, such as user selection of the operating system, detection of an environment, or user selection of an application.
Fig. 1 is a diagram illustrating components of an exemplary user device 100 in which systems and methods described herein may be implemented. Device 100 may include any of the following devices: a mobile telephone; a cellular phone; a personal
communications system (PCS) terminal that may combine a cellular radiotelephone with data processing, facsimile, and/or data communications capabilities; an electronic notepad, a tablet computer, a laptop, and/or a personal computer; a personal digital assistant (PDA) that can include a telephone; a gaming device or console; a peripheral (e.g., wireless headphone); a digital camera; or another type of computational or communication device.
In this implementation, device 100 may take the form of a mobile phone (e.g., a cell phone). As shown in Fig. 1, device 100 may include a speaker 102, a touchscreen display 104, control buttons 106, a microphone 110, sensors 112, a front camera 114, and a housing 116. Speaker 102 may provide audible information to a user of device 100.
Although device 100 is shown with particular components and a particular configuration, device 100 may include fewer, more or different components, such as additional sensors, input devices, and may include associated devices (e.g., a stylus) etc.
Display 104 may provide visual information to the user, such as an image of a caller, video images, or pictures. In addition, display 104 may include a touchscreen for providing input to device 100. Display 104 may provide hardware/software to detect the coordinates of an area that is touched by a user. For example, display 104 may include a display panel, such as a liquid crystal display (LCD), organic light-emitting diode (OLED) display, and/or another type of display that is capable of providing images to a viewer.
Display 104 may include a transparent panel/surface for locating the position of a finger or an object (e.g., stylus) when the finger/object is touching or is close to display 104.
Control buttons 106 may permit the user to interact with device 100 to cause device 100 to perform one or more operations, such as place or receive a telephone call. In some implementations, control buttons 106 may include a telephone keypad (not shown) that may be complementary to graphical user interface (GUI) objects generated on touchscreen display 104. Microphone 110 may receive audible information from the user. Sensors 112 may collect and provide, to device 100, information (e.g., acoustic, infrared, etc.) that is used to aid the user in capturing images or in providing other types of information (e.g., a distance between a user and device 100). Front camera 114 may enable a user to view, capture and store images (e.g., pictures, video clips) of a subject in front of device 100. Housing 116 may provide a casing for components of device 100 and may protect the components from outside elements.
In implementations described herein, device 100 may include a program that includes instructions to automatically select an operating system from a plurality of operating systems based upon an input signal. The input signal may include user selection of the operating system, detection of an environment in which device 100 is operating, or user selection of an application, etc. Device 100 may switch between different operating systems and associated environments (e.g., a particular desktop, user configuration settings, etc.) based on the input signal. The operating systems may be selected to provide additional functionality and applications.
Device 100 may provide access to a wide array of applications based on multiple different operating systems and operating system kernels. The applications may be run in their native form, without requiring rewriting of applications and performing customization in order to provide access to the particular application on device 100. For example, device 100 may select an operating system based upon an external environment associated with device 100. The external environment may include other devices with which device 100 interacts.
Fig. 2 is a block diagram of exemplary components of device 200. Device 200 may represent components implemented or included within device 100. As shown in Fig. 2, device 200 may include a processor 202, a memory 204, input/output components 210, a network interface 212, and a communication path 214. In different implementations, device 200 may include additional, fewer, or different components than the ones illustrated in Fig. 2. For example, device 200 may include additional network interfaces, such as interfaces for receiving and sending data packets.
Processor 202 may include a processor, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and/or other processing logic (e.g., audio/video processor) capable of processing information and/or controlling device 200. Processor 202 may be capable of running a plurality of selectable operating systems 206a-206n. Additionally, processor 202 may be configured to provide support for hardware assisted virtualization of selectable operating systems 206a-206n. In other words, each of selectable operating systems 206a-206n may be run on device 100 (via processor 202) to simulate unmodified guest operating systems operating in isolation from other operating systems on device 100.
Memory 204 may include static memory, such as read only memory (ROM), and/or dynamic memory, such as random access memory (RAM), or onboard cache, for storing data and machine-readable instructions. Memory 204 may also include storage devices, such as a floppy disk, compact disc read only memory (CD ROM), compact disc (CD) read/write (R/W) disc, and/or flash memory, as well as other types of storage devices.
Memory 204 may include a plurality of selectable operating systems 206a-206n that may run on processor 202. Selectable operating systems 206a-206n may be several different operating systems and distributions or kernels of operating systems that are stored in memory 204 and are available to be run on processor 202. For example, selectable operating systems 206a-206n may include Windows 7, Windows Phone, Linux, Mac operating system (OSX), Apple mobile operating system (iOS), Android operating system, PlayStation operating system etc. Each of selectable operating systems 206a-206n may be completely separate from other selectable operating systems 206a-206n. Alternatively, some selectable operating systems 206a-206n may share directories, etc.
Memory 204 may include operating system selector 208. Operating system selector 208 may be a dedicated operating system and/or application. Alternatively, operating system selector 208 may be a distributed application that is executed (or partially executed) using selectable operating systems 206a-206n. Operating system selector 208 may select an operating system from selectable operating systems 206a-206n based on an input signal. In many instances, operating system selector 208 may select a single selectable operating systems 206 to run at a single time in device 100. However, operating system selector 208 may select multiple selectable operating systems 206a-206n to concurrently execute applications in some implementations.
Input/output components 210 may include a keyboard or keypad, voice recognition mechanisms, Universal Serial Bus (USB), speakers, a microphone, a thermometer, and/or other types of components for providing an input/output to/from device 200.
Network interface 212 may include any transceiver- like mechanism that enables device 200 to communicate with other devices and/or systems. For example, network interface 212 may include mechanisms for communicating via a network, such as the Internet, a terrestrial wireless network (e.g., a WLAN), a cellular network, a satellite-based network, a wireless personal area network (WPAN), etc. Additionally or alternatively, network interface 212 may include a modem, an Ethernet interface to a LAN, and/or an interface/ connection for connecting device 200 to other devices (e.g., a Bluetooth interface).
Communication path 214 may provide an interface through which components of device 200 may communicate with one another.
Fig. 3 is a diagram illustrating data flow 300 associated with selection of an operating system from a plurality of selectable operating systems 206a-206n. Data flow 300 may include operating system selector 208, and selectable operating systems 206a-206n.
Operating system selector 208 may execute a selection application 302 that receives selection rules 304 and input signals 306. The particular arrangement and number of components in data flow 300 as shown in Fig. 3 is illustrated for simplicity. As shown in Fig. 3, operating system selector 208 may execute selection application 302. Operating system selector 208 may be a separate operating system that is substantially dedicated to performing a gatekeeping function (via selection application 302) on device 100 and determining which of selectable operating systems 206a-206n is to be booted and used to execute particular applications. Selection application 302 may be "always on", regardless of whether one of selectable operating systems 206a-206n is currently being used or may be engaged when the user boots device 100 or closes down a particular selectable operating systems 206n.
Operating system selector 208 may receive selection rules 304. For example, operating system selector 304 may receive selection rules 304 from an administrator, a manufacturer or a user of device 100. Selection rules 304 may determine a priority order of selectable operating systems 206a-206n and specific scenarios and particular requested applications 310 during which selectable operating systems 206a-206n may be switched for each other (or activated with each other). The priority order may be based on user preference, specifications of device 100 and processor 202, particular applications or combinations of applications, etc. Selection rules 304 may also determine a priority order of resource allocation, and combinations of selectable operating systems 206a-206n that may be allowed to be booted concurrently. For example, operating system selector 208 may determine that resource allocation for the selectable operating systems 206a-206n may allow a required/desired level of functionality for both selectable operating systems 206a-206n and particular applications at the same time. Selectable operating systems 206n may then start requested application 310. In another example, selection rules 304 may determine that operating system selector 208 (i.e., device 100) is to request specific input by the user prior to switching to another selectable operating system 206 (e.g., a request for acknowledgement of an incoming phone call when device 100 is in a "gaming" mode).
Input signal 306 may be a digital input signal, a signal based on a predetermined change associated with a timer or a signal based on an environmental change detected by device 100. In one example, if a user places device 100 in an associated cradle next to a television (TV), a TV operating system or a video gaming operating firmware or operating system (e.g., for PlayStation applications) may automatically be launched. If a phone call is received during this time, operating system selector 208 may switch to Android or other phone OS either automatically or in response to a positive reply to a user prompt (e.g., "incoming phone call - do you want to switch to phone mode?"). In another example, by selecting a word processing icon in a menu or sidebar via input/output components 210, device 100 selects a different selectable operating system 206, such as Windows operating system.
According to one implementation, device 100 may generate a graphical user interface that includes a representation of one or more available operating systems based on a particular application. For example, the user may desire to use a game application that may be executed using multiple different operating systems. Device 100 may receive an input to select at least one of the one or more available operating systems to execute the particular application.
Fig. 4 is a flowchart of an exemplary process 400 for selecting an operating system from a plurality of selectable operating systems 206a-206n in a manner consistent with implementations described herein. Process 400 may execute in processor 202. It should be apparent that the process discussed below with respect to Fig. 4 represents a generalized illustration and that other elements may be added or existing elements may be removed, modified or rearranged without departing from the scope of process 400.
At block 402, operating system selector 208 may receive an input signal. For example, operating system selector 208 may receive an input signal via a GUI of device 100. In another example, operating system selector 208 may receive input via a motion detector. In another example, the input signal may be an incoming telephone call signal or other input signal initiated by an external agent.
At block 404, operating system selector 208 may identify an operating system from selectable operating systems 206a-206n that is associated with the input signal.
For example, at block 406, operating system selector 208 may access selection rules for selectable operating systems 206a-206n.
At block 408, operating system selector 208 may determine whether a particular selectable operating system 206 associated with the input signal should be booted based on the selection rules. In one example, operating system selector 208 may select one of selectable operating systems 206a-206n based on an orientation of the device, and/or a motion of the device. Operating system selector 208 may switch to a video game operating system (among selectable operating systems 206a-206n) whenever a motion detector on device 100 indicates relatively rapid back and forth movement of device 100.
At block 410, operating system selector 208 may load and boot up the identified selectable operating system 206. The identified selectable operating system 206 may then provide an associated application based on the input signal and/or execute an application based on instructions associated with the selected operating system (block 412). However, in response to a determination that the particular selectable operating system 206 is not to be booted, device 100 may continue in a current mode (block 414).
The foregoing description of implementations provides illustration, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the teachings.
In the above, while series of blocks have been described with regard to the exemplary processes, the order of the blocks may be modified in other implementations. In addition, non-dependent blocks may represent acts that can be performed in parallel to other blocks. Further, depending on the implementation of functional components, some of the blocks may be omitted from one or more processes.
It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code - it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
It should be emphasized that the term "comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.
Further, certain portions of the implementations have been described as "logic" that performs one or more functions. This logic may include hardware, such as a processor, a microprocessor, an application specific integrated circuit, or a field programmable gate array, software, or a combination of hardware and software.
No element, act, or instruction used in the present application should be construed as critical or essential to the implementations described herein unless explicitly described as such. Also, as used herein, the article "a" is intended to include one or more items. Further, the phrase "based on" is intended to mean "based, at least in part, on" unless explicitly stated otherwise.

Claims

WHAT IS CLAIMED IS:
1. A computer- implemented method comprising:
receiving, by a device that includes a plurality of selectable operating systems, an input signal , wherein the selectable operating systems comprise a plurality of different operating systems or a plurality of different kernels of operating systems;
identifying one of the selectable operating systems associated with the input signal; identifying selection rules, wherein the selection rules identify when at least some of the selectable operating systems are to be booted;
determining whether to boot the identified selectable operating system based on the selection rules; and
booting the identified selectable operating system in response to determining that the identified selectable operating system is to be booted.
2. The computer-implemented method of claim 1, wherein identifying the selection rules further comprises:
identifying one of more of a priority order of booting for the selectable operating systems, a priority order of resource allocation, and combinations of the selectable operating systems that are allowed to be booted concurrently.
3. The computer- implemented method of claim 1, wherein the plurality of selectable operating systems includes one or more of Windows 7, Windows phone, Mac OSX, Apple mobile operating system, Android, and a PlayStation operating system.
4. The computer-implemented method of claim 1, further comprising:
supporting the selectable operating systems using hardware assisted virtualization.
5. The computer- implemented method of claim 1, wherein receiving the input signal further comprises receiving one or more of a digital input signal input by a user of the device, identifying a predetermined change based on a timer, or identifying an environmental change detected by the device.
6. The computer-implemented method of claim 1, wherein the device includes a program that includes instructions to automatically select among the plurality of selectable operating systems.
7. The computer-implemented method of claim 1, further comprising: selecting one of the plurality of selectable operating systems based on at least one of an orientation of the device, or a motion of the device.
8. A device, comprising:
a memory to store a plurality of instructions, including a plurality of selectable operating systems, wherein the selectable operating systems are different operating systems or different kernels of operating systems; and
a processor configured to execute instructions in the memory to:
receive an input signal;
identify a selectable operating system associated with the input signal from the plurality of selectable operating systems;
identify selection rules, wherein the selection rules identify when the selectable operating systems are to be booted;
determine whether to boot the identified selectable operating system based on the selection rules; and
execute an application associated with the input signal using the identified operating system.
9. The device of claim 8, wherein the selection rules include a priority order of booting for the selectable operating systems, a priority order of resource allocation, and combinations of the selectable operating systems that are allowed to be booted concurrently.
10. The device of claim 8, wherein the plurality of selectable operating systems includes one or more of Windows 7, Windows phone, Mac OSX, Apple mobile operating system, Android, and a PlayStation operating system.
11. The device of claim 8, wherein the processor is further configured to support the selectable operating systems using hardware assisted virtualization.
12. The device of claim 8, wherein the input signal includes at least one of a digital input signal, a predetermined change based on a timer, or an environmental change detected by the device.
13. The device of claim 8, wherein the device includes an operating system that includes instructions to select among the plurality of selectable operating systems.
14. The device of claim 8, wherein device is one of a mobile telephone, a cellular phone, a personal communications system terminal, an electronic notepad, a tablet computer, a laptop, a personal computer, a personal digital assistant, a gaming device, a peripheral, or a digital camera.
15. A non- transitory computer-readable medium including instructions to be executed by a processor, the instructions including one or more instructions, when executed by the processor, for causing the processor to:
receive an input signal;
identify a selectable operating system associated with the input signal from a plurality of selectable operating systems, wherein the selectable operating systems are one or more of different operating systems or different kernels of operating systems;
identify selection rules, wherein the selection rules identify when the selectable operating systems are to be booted;
determine whether to boot the identified selectable operating system based on the selection rules; and
provide an application associated with the input signal using the identified selectable operating system.
16. The non-transitory computer-readable medium of claim 15, further including instructions, when executed by the processor, for causing the processor to:
generate a graphical user interface that includes a representation of one or more available operating systems based on a particular application; and
receive an input to select at least one of the one or more available operating systems to execute the particular application.
PCT/US2013/032908 2012-03-19 2013-03-19 Device including a plurality of selectable operating systems WO2013142465A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261612424P 2012-03-19 2012-03-19
US61/612,424 2012-03-19

Publications (1)

Publication Number Publication Date
WO2013142465A1 true WO2013142465A1 (en) 2013-09-26

Family

ID=48083613

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/032908 WO2013142465A1 (en) 2012-03-19 2013-03-19 Device including a plurality of selectable operating systems

Country Status (1)

Country Link
WO (1) WO2013142465A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140137A1 (en) * 2014-07-30 2017-05-18 Yulong Computer Telecommunication Scientific (Shenzhen), Co., Ltd. Multi-System Entering Method, Apparatus and Terminal
TWI587147B (en) * 2016-08-24 2017-06-11 旺玖科技股份有限公司 Method and device capable of automatically identifying host operating system
US9697010B2 (en) 2014-03-25 2017-07-04 Microsoft Technology Licensing, Llc User selectable operating systems
US9766944B2 (en) 2014-03-25 2017-09-19 Microsoft Technology Licensing, Llc Dynamic partition dual boot mobile phone device
CN111857835A (en) * 2020-07-23 2020-10-30 珠海优特物联科技有限公司 Signal processing method and device, smart card and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020157001A1 (en) * 2001-04-19 2002-10-24 Alec Huang Computer system capable of switching operating system
US20070162901A1 (en) * 2006-01-12 2007-07-12 Samsung Electronics Co., Ltd. Operating system switching device and operating system switching method
US20090089569A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Multi-os (operating system) boot via mobile device
US20100306774A1 (en) * 2009-05-28 2010-12-02 Subash Kalbarga Instant-On Computing System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020157001A1 (en) * 2001-04-19 2002-10-24 Alec Huang Computer system capable of switching operating system
US20070162901A1 (en) * 2006-01-12 2007-07-12 Samsung Electronics Co., Ltd. Operating system switching device and operating system switching method
US20090089569A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Multi-os (operating system) boot via mobile device
US20100306774A1 (en) * 2009-05-28 2010-12-02 Subash Kalbarga Instant-On Computing System

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697010B2 (en) 2014-03-25 2017-07-04 Microsoft Technology Licensing, Llc User selectable operating systems
US9766944B2 (en) 2014-03-25 2017-09-19 Microsoft Technology Licensing, Llc Dynamic partition dual boot mobile phone device
US20170140137A1 (en) * 2014-07-30 2017-05-18 Yulong Computer Telecommunication Scientific (Shenzhen), Co., Ltd. Multi-System Entering Method, Apparatus and Terminal
TWI587147B (en) * 2016-08-24 2017-06-11 旺玖科技股份有限公司 Method and device capable of automatically identifying host operating system
CN111857835A (en) * 2020-07-23 2020-10-30 珠海优特物联科技有限公司 Signal processing method and device, smart card and readable storage medium
CN111857835B (en) * 2020-07-23 2024-01-19 珠海优特电力科技股份有限公司 Signal processing method and device, smart card and readable storage medium

Similar Documents

Publication Publication Date Title
EP3073379B1 (en) Firmware recovery method, device and terminal
US11630553B2 (en) Electronic device and method for displaying history of executed application thereof
US11650722B2 (en) Electronic device and method for managing window
US10403241B2 (en) Electronic device and method for running function according to transformation of display of electronic device
US10318328B2 (en) Method for managing operating system and electronic device supporting the same
US10732793B2 (en) Apparatus and method for providing information via portion of display
US11460882B2 (en) Method and apparatus for performing display in electronic device
US10474507B2 (en) Terminal application process management method and apparatus
KR102145515B1 (en) Method for controlling window and an electronic device thereof
US10095527B2 (en) Method for managing device and electronic device supporting the same
CN111164539A (en) Electronic equipment and operation method thereof
US10154399B2 (en) Method for outputting content and electronic device for supporting the same
KR20180089229A (en) Display control method, storage medium and electronic device for controlling the display
US11073942B2 (en) Touch recognition method and electronic device executing same
WO2013142465A1 (en) Device including a plurality of selectable operating systems
US20170192746A1 (en) Method for outputting sound and electronic device supporting the same
KR20190032861A (en) Electronic device and control method thereof
KR102475230B1 (en) Method for controlling communication network connection, storage medium and electronic device therefor
US20060294358A1 (en) Methods and computers for presenting a graphical user interface during a boot process
AU2014312541B2 (en) Method, apparatus, and recording medium for interworking with external terminal
US20140282058A1 (en) Electronic device with a funiction of applying applications of different operating systems, system and method thereof
WO2014166307A1 (en) Method for determining performance of process of application and computer system
CN114401336B (en) Electronic equipment, operation method thereof, chip and computer storage medium
US11150913B2 (en) Method, device, and terminal for accelerating startup of application
US10908645B2 (en) Method for controlling screen output and electronic device supporting same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13715503

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13715503

Country of ref document: EP

Kind code of ref document: A1