RU2574205C2 - Multi-environment operating system - Google Patents

Multi-environment operating system Download PDF

Info

Publication number
RU2574205C2
RU2574205C2 RU2012105805/08A RU2012105805A RU2574205C2 RU 2574205 C2 RU2574205 C2 RU 2574205C2 RU 2012105805/08 A RU2012105805/08 A RU 2012105805/08A RU 2012105805 A RU2012105805 A RU 2012105805A RU 2574205 C2 RU2574205 C2 RU 2574205C2
Authority
RU
Russia
Prior art keywords
operating system
environment
operating
mobile
applications
Prior art date
Application number
RU2012105805/08A
Other languages
Russian (ru)
Other versions
RU2012105805A (en
Inventor
Джошуа Д. ГАЛИСИА
Джеффри С. КАРЛАЙЛ
Эндрю Н. ТЗАКИС
Original Assignee
Моторола Мобилити, Инк.
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
Priority claimed from US12/838,868 external-priority patent/US9348633B2/en
Application filed by Моторола Мобилити, Инк. filed Critical Моторола Мобилити, Инк.
Publication of RU2012105805A publication Critical patent/RU2012105805A/en
Application granted granted Critical
Publication of RU2574205C2 publication Critical patent/RU2574205C2/en

Links

Images

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: present invention provides a mobile computing device which operates multiple, co-existing and independent operating system environments on a common kernel. Application execution means concurrently operate with interfacing means. Furthermore, various embodiments of the present invention include processes for managing switching between one operating system environment and a second operating system environment.
EFFECT: co-existence of multiple independent operating systems in one device is achieved by using means of interfacing at least two application execution means connected to the interfacing means, wherein each of said application execution means has a corresponding application component.
22 cl, 12 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится в общем к операционным системам и способам инициирования последовательности загрузки операционной системы. Более конкретно настоящее изобретение относится к операционным системам c множеством сред и способам загрузки операционных систем с множеством сред.The present invention relates generally to operating systems and methods for initiating an operating system boot sequence. More specifically, the present invention relates to operating systems with multiple environments and methods for loading operating systems with multiple environments.

Уровень техникиState of the art

Операционные системы разрабатывают и обычно оптимизируют на основе конкретных приложений и рабочих характеристик, требуемых пользователем. Часто желательно, чтобы функциональные возможности одного типа операционной системы были доступны другим операционным системам, так как программы, предпочитаемые пользователем, могут зависеть от операционной системы.Operating systems are designed and typically optimized based on the specific applications and performance required by the user. It is often desirable that the functionality of one type of operating system is available to other operating systems, as the programs preferred by the user may depend on the operating system.

Универсальные компьютерные операционные системы, такие как Linux™ и Windows™, имеют расширенное множество функциональных возможностей, таких как файловая система, драйверы устройств, приложения, библиотеки и т.д. Такие операционные системы позволяют одновременное выполнение множества программ и пытаются оптимизировать время ответа (также называемое временем задержки) и использование центрального процессора или нагрузки, связанной с обслуживанием одновременно выполняющихся программ. Однако, к сожалению, такие операционные системы обычно не являются подходящими для встроенных приложений реального времени, таких как мобильные вычислительные устройства. При определенных обстоятельствах было бы желательно, чтобы мобильное вычислительное устройство имело рабочие характеристики, связанные со специфической встроенной операционной системой мобильного устройства, и функциональные возможности универсальной операционной системы.Universal computer operating systems, such as Linux ™ and Windows ™, have an expanded array of features, such as a file system, device drivers, applications, libraries, etc. Such operating systems allow the simultaneous execution of many programs and try to optimize the response time (also called delay time) and the use of a central processor or load associated with servicing simultaneously running programs. However, unfortunately, such operating systems are usually not suitable for embedded real-time applications, such as mobile computing devices. In certain circumstances, it would be desirable for the mobile computing device to have performance associated with the specific embedded operating system of the mobile device and the functionality of the universal operating system.

Например, Linux является широко известной универсальной настольной операционной системой со многими желаемыми функциональными возможностями для современных устройств, включая функциональные возможности современных операционных систем, многочисленные инструменты разработки, организацию сети и т.д. Однако Linux не была разработана как встроенная операционная система или операционная система реального времени. Многие современные устройства, такие как, без ограничения, телевизионные приставки, мобильные телефоны и автомобильные навигационные системы, требуют не только функциональных возможностей универсальной операционной системы, такой как Linux, но также функциональных возможностей встроенной операционной системы или операционной системы реального времени, включая рабочие характеристики реального времени.For example, Linux is a well-known universal desktop operating system with many desirable functionalities for modern devices, including the functionality of modern operating systems, numerous development tools, networking, etc. However, Linux was not designed as an embedded operating system or a real-time operating system. Many modern devices, such as, but not limited to, set-top boxes, mobile phones, and car navigation systems, require not only the functionality of a universal operating system such as Linux, but also the functionality of an embedded operating system or real-time operating system, including real-time operating characteristics time.

Исторически выполнение множества операционных сред в одном устройстве выполнено посредством методов виртуализации, таких как, например, VMware™, VirtualBox™, QEMU™ и т.д. Однако при использовании виртуализации эмулируют полный компьютер и одним или более наборами программного обеспечения управляют в эмулированном вычислительном устройстве. Эмуляцию обрабатывают с большими непроизводительными затратами.Historically, multiple operating environments in a single device have been implemented through virtualization techniques such as, for example, VMware ™, VirtualBox ™, QEMU ™, etc. However, when using virtualization, a complete computer is emulated and one or more sets of software are controlled in an emulated computing device. Emulation is processed with large overhead.

Ввиду вышеупомянутого имеется потребность в системе, осуществляющей одноядерную среду, которая эффективно и удобно предоставляет рабочие характеристики и функциональные возможности совместно существующих независимых операционных систем.In view of the above, there is a need for a system that implements a single-core environment that efficiently and conveniently provides the performance and functionality of co-existing independent operating systems.

Раскрытие изобретенияDisclosure of invention

В соответствии по меньшей мере с одним вариантом осуществления настоящего изобретения, представлена операционная система мобильного устройства, имеющая базовое ядро, выполненное с возможностью сопряжения компонента аппаратного обеспечения и компонента программного обеспечения промежуточного слоя устройства. Система включает в себя по меньшей мере две совместно существующих независимых операционных среды программного обеспечения промежуточного слоя, соединенные с базовым ядром, причем каждая из операционных сред программного обеспечения промежуточного слоя имеет соответствующий компонент приложения.According to at least one embodiment of the present invention, there is provided an operating system of a mobile device having a base core configured to interface a hardware component and a software component of an intermediate layer of a device. The system includes at least two jointly existing independent middleware operating systems that are connected to the core core, each of the middleware operating environments having a corresponding application component.

В соответствии с другим вариантом осуществления изобретения, предоставлено мобильное вычислительное устройство, имеющее запоминающее устройство памяти, соединенное с процессором компьютера. Запоминающее устройство памяти включает в себя машиноисполняемые инструкции, которые могут управлять по меньшей мере двумя средами операционной системы в общем ядре.According to another embodiment of the invention, there is provided a mobile computing device having a memory device connected to a computer processor. The memory storage device includes computer-executable instructions that can control at least two operating system environments in a common kernel.

В соответствии с еще одним альтернативным вариантом осуществления, предоставлен мобильный телефон, имеющий графический пользовательский интерфейс, выполненный с возможностью приема и передачи информации мультимедиа. Телефон включает в себя вычислительную систему с процессором, соединенным с запоминающим устройством памяти, и операционную систему с множеством сред, имеющую общее ядро. Запоминающее устройство памяти включает в себя машиноисполняемые инструкции, которые могут управлять ресурсами, совместно используемыми по меньшей мере между двумя совместно существующими независимыми средами операционной системы.According to yet another alternative embodiment, there is provided a mobile phone having a graphical user interface configured to receive and transmit multimedia information. The telephone includes a computing system with a processor connected to a memory storage device, and an operating system with multiple media having a common core. The memory storage device includes computer-executable instructions that can manage resources shared between at least two jointly existing independent operating system environments.

В соответствии с альтернативным вариантом осуществления, настоящее изобретение включает в себя мобильное вычислительное устройство с процессором компьютера, соединенным с памятью компьютера, имеющей машиноисполняемые инструкции, выполненные с возможностью инициирования операционной системы. Устройство также включает в себя операционную систему, выполненную с возможностью одновременного выполнения стандартной среды дистрибутивной операционной системы Linux и среды операционной системы Android™ в одном ядре.According to an alternative embodiment, the present invention includes a mobile computing device with a computer processor connected to a computer memory having computer-executable instructions configured to initiate an operating system. The device also includes an operating system configured to simultaneously execute a standard Linux distribution operating system environment and an Android ™ operating system environment in a single core.

В соответствии с еще одним альтернативным вариантом осуществления, изобретение включает в себя операционную систему мобильного устройства, имеющую базовое ядро, выполненное с возможностью сопряжения компонента аппаратного обеспечения устройства и компонента программного обеспечения промежуточного слоя. Устройство также включает в себя первую независимую операционную среду программного обеспечения промежуточного слоя, выполненную с возможностью выполнения приложений, интерпретируемых с помощью JAVA, и соединенную с базовым ядром, и вторую независимую операционную среду программного обеспечения промежуточного слоя, выполненную с возможностью выполнения собственных приложений и соединенную с базовым ядром.In accordance with yet another alternative embodiment, the invention includes a mobile device operating system having a core core configured to interface the device hardware component and the middleware software component. The device also includes a first independent middleware operating system environment configured to run JAVA interpreted applications and connected to the core core, and a second middleware independent operating environment software configured to run native applications and connected to base core.

Краткое описание чертежейBrief Description of the Drawings

Фиг.1 - иллюстративный вид в перспективе мобильного устройства;Figure 1 is an illustrative perspective view of a mobile device;

фиг.2 - блок-схема, представляющая иллюстративную операционную систему;figure 2 is a block diagram representing an illustrative operating system;

фиг.3 - блок-схема иллюстративной операционной системы;figure 3 is a block diagram of an illustrative operating system;

фиг.4 - блок-схема схемы совместного существования времени выполнения иллюстративной операционной системы;FIG. 4 is a block diagram of a runtime of an illustrative operating system;

фиг.5 - блок-схема схемы связи между средами иллюстративной операционной системы;5 is a block diagram of a communication circuit between environments of an illustrative operating system;

фиг.6 - блок-схема последовательности этапов, идентифицирующая этапы в последовательности загрузки для иллюстративной операционной системы;6 is a flowchart identifying steps in a boot sequence for an illustrative operating system;

фиг.7 - блок-схема последовательности этапов, идентифицирующая иллюстративные этапы для запуска приложения в первой операционной среде, в то время как иллюстративной операционной системой управляют с помощью второй операционной среды;7 is a flowchart identifying illustrative steps for starting an application in a first operating environment, while an illustrative operating system is controlled by a second operating environment;

фиг.8 - схема последовательности сообщений, идентифицирующая иллюстративные этапы для запуска приложения второй операционной среды, в то время как первая операционная среда имеет первичное управление;8 is a message flow diagram identifying illustrative steps for starting an application of a second operating environment, while the first operating environment has primary control;

фиг.9 - блок-схема, идентифицирующая иллюстративные этапы, связанные с переключением из первой операционной среды во вторую операционную среду;9 is a flowchart identifying illustrative steps associated with switching from a first operating environment to a second operating environment;

фиг.10 - схема последовательности сообщений, идентифицирующая иллюстративные этапы для переключения из первой операционной среды во вторую операционную среду;10 is a message flow diagram identifying illustrative steps for switching from a first operating environment to a second operating environment;

фиг.11 - схема последовательности сообщений, идентифицирующая иллюстративные этапы для переключения из второй операционной среды в первую операционную среду;11 is a sequence diagram of messages identifying illustrative steps for switching from a second operating environment to a first operating environment;

фиг.12 - блок-схема последовательности этапов, идентифицирующая иллюстративное использование приложения, управляемого с помощью первой операционной среды, в то время как вторая операционная среда имеет первичное управление вычислительным устройством.12 is a flowchart identifying an illustrative use of an application controlled by the first operating environment, while the second operating environment has primary control of the computing device.

Осуществление изобретенияThe implementation of the invention

Представляется, что было бы выгодным иметь встроенную операционную систему и операционную среду на базе Linux, связывающиеся непосредственно с одним ядром Linux, выполняющимся непосредственно в аппаратном обеспечении вычислительного устройства.It seems that it would be advantageous to have an embedded operating system and a Linux-based operating environment that communicate directly with a single Linux kernel running directly in the hardware of the computing device.

Ссылаясь на фиг.1, предоставлен мобильный телефон 10. Телефон включает в себя GUI 12 и множество кнопок 14 ввода данных. Мобильное устройство 10 выбрано из группы, включающей в себя мобильный персональный компьютер (PC), netbook, мобильный телефон, портативный переносной компьютер, карманный компьютер и смартфон, но не ограниченной ими. Несмотря на то, что устройство 10 является мобильным, предполагают, что оно имеет существенную вычислительную мощность со скоростью процессора свыше 500 mHz, несмотря на то, что не исключают более медленные процессоры. Принимая во внимание вычислительную мощность, пользователь может соединять устройство с большим разнообразием периферийных устройств (не изображены). Периферийные устройства выбраны из группы, включающей в себя монитор компьютера, портативный переносной компьютер, настольный компьютер, планшетный РС и экранный проектор, но не ограниченной ими.Referring to FIG. 1, a mobile telephone 10 is provided. The telephone includes a GUI 12 and a plurality of data entry buttons 14. Mobile device 10 is selected from, but not limited to, a mobile personal computer (PC), netbook, mobile phone, portable laptop computer, palmtop computer, and smartphone. Despite the fact that the device 10 is mobile, it is assumed that it has significant computing power with a processor speed of over 500 mHz, despite the fact that slower processors are not excluded. Given the computing power, a user can connect the device to a wide variety of peripheral devices (not shown). Peripheral devices are selected from the group including, but not limited to, a computer monitor, portable laptop computer, desktop computer, tablet PC, and screen projector.

Теперь, ссылаясь на фиг.2, предоставлена блок-схема иллюстративной операционной системы (OS) 16, которая находится на связи с ядром 18. OS 16 может быть дистрибутивной системой Linux, операционной системой на базе Linux или операционной системой не на базе Linux. Аппаратное обеспечение 20 устройства также находится на связи с ядром 18 Linux. Операционная система 16 включает в себя первую среду 22 операционной системы и вторую среду 24 операционной системы, находящиеся на связи с одним ядром 18 Linux. Например, вторая среда 24 операционной системы программного обеспечения промежуточного слоя является стандартным дистрибутивом Linux, а первая среда 22 операционной системы программного обеспечения промежуточного слоя является средой встроенной операционной системы, предназначенной для использования в мобильных устройствах, такой как операционная система Android™ (открытый альянс мобильной трубки, ). Дистрибутив 16 Linux находится на связи с ядром 18 Linux, которое находится на связи с аппаратным обеспечением 20 устройства. Аппаратное обеспечение 20 устройства может быть запоминающим устройством памяти (не изображено), соединенным с процессором (на изображен), которое сохраняет машиноисполняемые инструкции, которые выполнены с возможностью выполнения различных функций и операций, как описано в настоящей заявке.Now, referring to FIG. 2, a block diagram of an illustrative operating system (OS) 16 is provided, which is in communication with kernel 18. OS 16 may be a Linux distribution system, a Linux-based operating system, or a non-Linux-based operating system. The hardware 20 of the device is also in communication with the Linux kernel 18. Operating system 16 includes a first operating system environment 22 and a second operating system environment 24 in communication with one Linux kernel 18. For example, middleware second operating system environment 24 is a standard Linux distribution, and middleware second operating system environment 22 is an embedded operating system environment for use on mobile devices, such as the Android ™ operating system (an open mobile handset alliance) ,). The Linux distribution 16 is in communication with the Linux kernel 18, which is in communication with the device hardware 20. The device hardware 20 may be a memory device (not shown) connected to a processor (shown), which stores computer-executable instructions that are capable of performing various functions and operations, as described in this application.

Иллюстративная операционная система 16 включает в себя Ubuntu® (Canonical Ltd., ) для среды 24 операционной системы на базе Linux. Специально подразумевают, что множество сред операционной системы программного обеспечения промежуточного слоя совместно существуют независимо от другой (других). Иллюстративные среды, которые могут быть включены в операционную систему 16, включают в себя Android™, Ubuntu® (Canonical Ltd., ), стандартные среды на базе Linux, Symbian (Symbian Foundation Ltd., ) и среды на базе Windows. В альтернативном варианте осуществления представляется, что более двух сред операционной системы выполнены с возможностью независимого существования в одном и том же базовом ядре 18.Illustrative operating system 16 includes Ubuntu® (Canonical Ltd.,) for environment 24 of a Linux-based operating system. Specifically, it is understood that many middleware operating system environments coexist independently of the other (s). Illustrative environments that can be included in operating system 16 include Android ™, Ubuntu® (Canonical Ltd.,), standard Linux-based environments, Symbian (Symbian Foundation Ltd.,), and Windows-based environments. In an alternative embodiment, it appears that more than two operating system environments are capable of independent existence in the same core core 18.

Ссылаясь на фиг.3, предоставлена блок-схема иллюстративной операционной системы. В настоящем иллюстративном варианте осуществления первая среда 22 OS является операционной средой на базе Android™, а вторая среда 24 OS является на базе Linux. Первая среда 22 операционной системы включает в себя модуль 26 службы портала, модуль 28 процесса портала, модуль 30 услуг OS и модуль 32 приложений OS. Вторая среда 24 операционной системы включает в себя администратора 34 ресурсов, модуль 36 Android в окне (AIW), модуль 38 приложений второй OS и второй модуль 40 услуг второй OS.Referring to FIG. 3, a block diagram of an illustrative operating system is provided. In the present exemplary embodiment, the first OS environment 22 is an Android ™ based operating environment, and the second OS environment 24 is a Linux based. The first operating system environment 22 includes a portal service module 26, a portal process module 28, an OS service module 30, and an OS application module 32. The second operating system environment 24 includes a resource manager 34, an Android in-window module (AIW) 36, a second OS application module 38, and a second second OS service module 40.

Модуль 36 AIW выполнен с возможностью отображения окна приложения первой OS 22 в GUI 12, в то время как вторая OS 24 является первичной операционной средой.AIW module 36 is configured to display the application window of the first OS 22 in the GUI 12, while the second OS 24 is the primary operating environment.

Модуль 26 службы портала содержит множество инструкций, выполненных с возможностью разрешения обслуживания для первой OS 22, и управляет всей связью с администратором 34 ресурсов. В то время как устройство 10 работает, модуль 26 службы портала предпочтительно выполняется всегда. Кроме того, модуль 26 службы портала соединен с процессом, связанным с модулем 28 процесса портала, а также широковещательными событиями первой OS. Модуль 28 процесса портала является приложением или множеством машиноисполняемых инструкций, которое представляет приложение второй OS 24, расположенное в наборе первой OS 22. В качестве примера, если вторая OS 24 является Ubuntu®, модуль 28 процесса портала может представлять специфическое приложение Ubuntu, а когда модуль 28 процесса портала имеет фокус, Ubuntu является в поле зрения через GUI 12. Многочисленные приложения могут выполняться одновременно, также упомянутые как набор выполняющихся приложений, в любой данной операционной среде. Логически говоря, считают, что самое верхнее приложение имеет “фокус”.The portal service module 26 contains a plurality of instructions configured to permit service for the first OS 22, and manages all communication with the resource manager 34. While the device 10 is operating, the portal service module 26 is preferably always executed. In addition, the portal service module 26 is connected to a process associated with the portal process module 28, as well as broadcast events of the first OS. The portal process module 28 is an application or a set of computer-executable instructions that represents a second OS 24 application located in a set of the first OS 22. As an example, if the second OS 24 is Ubuntu®, the portal process module 28 may represent a specific Ubuntu application, and when the module The portal process has focus 28, Ubuntu is in view through the GUI 12. Multiple applications can run simultaneously, also referred to as a set of running applications, in any given operating environment. Logically speaking, they believe that the topmost application has a “focus”.

Ядро 18 включает в себя множество драйверов 42 и модуль 44 AEV. С драйверами 42 включены драйверы устройств ввода для компонентов 20 аппаратного обеспечения. AEV 44 является модулем ядра, который берет абсолютную координату и события клавиатуры из AIW 36 и передает их в концентратор событий. Kernel 18 includes a plurality of drivers 42 and AEV module 44. With drivers 42, input device drivers for hardware components 20 are included. AEV 44 is a kernel module that takes the absolute coordinate and keyboard events from AIW 36 and passes them to the event hub.

Совместно существующие среды в операционной системе 16 связываются друг с другом. Администратор 34 ресурсов, который является частью второй OS 24, связывается непосредственно с модулем 26 службы портала, который является частью первой OS 22. Кроме того, модуль 26 службы портала, который является частью первой OS 22, связывается непосредственно с администратором 34 ресурсов. Администратор 34 ресурсов является множеством инструкций, выполненных с возможностью администрирования ресурсами, совместно используемыми первой OS 22 и второй OS 24. Совместно используемые ресурсы включают в себя устройства отображения, устройства ввода, услуги управления мощностью и информацию состояния системы. Кроме того, администратор 34 ресурсов выполнен с возможностью управления доступом OS 22, 24 к аппаратному обеспечению 20. Кроме того, администратор 34 ресурсов идентифицирует и контролирует, пользовательский интерфейс какой OS 22, 24 отображен через GUI 12.Coexisting environments in operating system 16 communicate with each other. The resource manager 34, which is part of the second OS 24, communicates directly with the portal service module 26, which is part of the first OS 22. In addition, the portal service module 26, which is part of the first OS 22, communicates directly with the resource manager 34. The resource manager 34 is a plurality of instructions configured to administer the resources shared by the first OS 22 and the second OS 24. The shared resources include display devices, input devices, power control services, and system status information. In addition, the resource manager 34 is configured to control access of the OS 22, 24 to the hardware 20. In addition, the resource manager 34 identifies and controls which user interface which OS 22, 24 is displayed through the GUI 12.

В соответствии с настоящим вариантом осуществления, служба 26 портала является службой всех коммуникаций из первой OS 22 в администратора 34 ресурсов. Кроме того, служба портала является приемником для всех обратных вызовов из администратора 34 ресурсов в первую OS 22. Администратор ресурсов предоставляет интерфейс прикладного программирования (API) обнаруживаемого статуса в службу 26 портала. Этот API выполнен с возможностью его вызова с помощью администратора 34 ресурсов в любое время. Администратор 34 ресурсов выполнен с возможностью получения и обработки статуса времени выполнения, который предусматривает, чтобы администратор ресурсов поддерживал конечный автомат. Для первой OS 22 служба 26 портала предоставляет статус времени выполнения в процессы, которые требуют их. Аналогично, служба 26 портала запрашивает и принимает обновления статуса из процессов, которые предоставляют информацию статуса. Аналогичной связью для второй OS 24 управляют с помощью администратора 34 ресурсов, который предоставляет статус времени выполнения в процессы, которые требуют их. Администратор 34 ресурсов запрашивает и принимает обновления статуса из различных процессов, которые предоставляют информацию статуса. Драйверы 42 устройств, логически связанные с ядром 18, связываются непосредственно с администратором 34 ресурсов, а также процессами, которые предоставляют информацию статуса времени выполнения. Например, API выполняет арбитраж доступа к устройствам пользовательского интерфейса, таким как дисплеи, сенсорные экраны или GUI 12. Еще один пример, API выполняет арбитраж доступа к устройствам ввода питания, таким как батареи и/или настенные разъемы переменного тока/постоянного тока.According to the present embodiment, the portal service 26 is a service of all communications from the first OS 22 to the resource manager 34. In addition, the portal service is the receiver for all callbacks from the resource manager 34 to the first OS 22. The resource manager provides the detected status application programming interface (API) to the portal service 26. This API is configured to be called using the resource manager 34 at any time. The resource manager 34 is configured to obtain and process a run-time status that provides for the resource manager to support the state machine. For the first OS 22, portal service 26 provides runtime status to processes that require them. Similarly, portal service 26 requests and receives status updates from processes that provide status information. Similar communications for the second OS 24 are controlled by a resource manager 34, which provides run-time status to processes that require them. The resource manager 34 requests and receives status updates from various processes that provide status information. Device drivers 42, logically connected to core 18, communicate directly with resource manager 34, as well as processes that provide run-time status information. For example, the API arbitrates access to user interface devices such as displays, touch screens, or GUIs 12. Another example, the API arbitrates access to power input devices such as batteries and / or AC / DC wall jacks.

Первая OS 22 и вторая OS 24 являются независимыми друг от друга и совместно существуют относительно друг друга. Каждая OS 22, 24 является полностью функционирующей средой операционной системы и не требует, чтобы функционировала другая среда операционной системы. Две среды операционной системы существуют в одном и том же устройстве 10 со 100% независимостью относительно друг друга. Как идентифицировано выше, первая и вторая OS 22, 24 совместно не существуют в схеме виртуализации или эмуляции, а фактически работают в одном ядре 18. Вместо этого имеется совместное существование времени выполнения, при котором обе OS 22, 24 выполняются в своих соответственных собственных средах, и никакую из OS 22, 24 повторно не компилируют, так как нет необходимости применять по-новому общую среду времени выполнения С. Доступ к приложениям может быть осуществлен с помощью пользователя, который закодирован только для одной или другой OS 22, 24, без прерывания для вычислительного опыта пользователя.The first OS 22 and the second OS 24 are independent of each other and jointly exist relative to each other. Each OS 22, 24 is a fully functioning operating system environment and does not require a different operating system environment to function. Two operating system environments exist in the same device 10 with 100% independence with respect to each other. As identified above, the first and second OS 22, 24 do not coexist in the virtualization or emulation scheme, but actually work in the same core 18. Instead, there is a coexistence of run time, in which both OS 22, 24 are executed in their respective native environments, and none of OS 22, 24 is re-compiled, since there is no need to re-apply the common runtime environment C. Access to applications can be carried out using a user who is encoded only for one or the other OS 22, 24, without ryvaniya for computing user experience.

Ссылаясь на фиг.4, блок-схема предоставляет иллюстративную схему совместного существования для OS 22 Android® и OS 24 Ubuntu™. Каждая OS 22, 24 работает в отдельной среде времени выполнения, которая предоставляет услуги программного обеспечения для программ и/или процессов, в то время как работает устройство 10. Процессы 46 Android и библиотеки 48 Android осуществляют доступ к библиотеке 50 BIONIC С, которая специально оптимизирована и модифицирована для среды Android. Процессы 52 Ubuntu и библиотеки 54 Ubuntu осуществляют доступ к библиотеке 56 С Glibc, которая является библиотекой С GNU, используемой во многих стандартных настольных системах на базе Linux. Каждая среда OS выполняется в ее соответственных библиотеках С без создания конфликтных ситуаций с другой операционной средой. Referring to FIG. 4, a block diagram provides an illustrative coexistence diagram for Android 22 OS 22 and Ubuntu ™ OS 24. Each OS 22, 24 runs in a separate runtime environment that provides software services for programs and / or processes while device 10 is running. Android processes 46 and Android libraries 48 access the BIONIC C library 50, which is specially optimized and modified for the Android environment. Ubuntu Processes 52 and 54 Ubuntu Libraries access the 56 C Glibc library, which is the GNU C library used on many standard Linux-based desktop systems. Each OS environment runs in its respective C libraries without creating conflicts with a different operating environment.

Ссылаясь на фиг.5, предоставлен более подробный маршрут связи между первой OS 22 и второй OS 24, описанными на фиг.4. Система связи между процессами (IPC) выполнена с возможностью администрирования потоков связи между средами, между первой OS 22 и второй OS 24. Служба 26 портала связывается с пакетом 58 связывания DBUS, который является пакетом программного обеспечения, содержащим язык программирования и выполняемые инструкции, выполненные с возможностью связи с библиотекой 60 DBUS. Администратор 34 ресурсов связывается с пакетом 62 связывания DBUS Glib, который также является пакетом программного обеспечения, содержащим язык программирования и выполняемые инструкции, выполненные с возможностью связи с библиотекой 64 DBUS, выполненной для второй OS 24. Как библиотека 60 первой OS 22, так и библиотека 64 второй OS 24 связываются через служебный процесс «демон» 66 DBUS, который является логической частью второй OS 24 и действует как линия связи между двумя операционными средами.Referring to FIG. 5, a more detailed communication route is provided between the first OS 22 and the second OS 24 described in FIG. 4. The Inter-Process Communication System (IPC) is configured to administer communication flows between environments, between the first OS 22 and the second OS 24. The portal service 26 communicates with the DBUS binding package 58, which is a software package containing a programming language and executable instructions executed with the ability to communicate with the library 60 DBUS. The resource manager 34 contacts the Glib DBUS binding package 62, which is also a software package containing a programming language and executable instructions configured to communicate with the DBUS library 64 executed for the second OS 24. Both the library 60 of the first OS 22 and the library 64 second OS 24 communicate through the DBUS daemon service process 66, which is the logical part of the second OS 24 and acts as a communication link between the two operating environments.

Ссылаясь на фиг.6, предоставлена блок-схема последовательности этапов, представляющая последовательность загрузки. Последовательность загрузки включает в себя как общие этапы, так и специфические этапы среды операционной системы. Фактическая последовательность загрузки зависит от правил, связанных с заданным состоянием устройства, которое предписывает последовательность загрузки. В качестве примера, если устройство соединено с периферийным устройством, таким как монитор, состояние устройства считают как находящегося в фиксированном режиме, и вторая OS 24 по умолчанию является первичной средой. В качестве альтернативы, если устройство 10 не соединено с периферийным устройством, тогда оно находится в мобильном режиме, и первая OS 22 по умолчанию является первичной операционной средой. Однако вторичную операционную среду запускают одновременно с первичной средой, и она работает на заднем плане в случае, когда состояние устройства 10 изменяется, и вторичную среду переключают, чтобы она стала первичной средой. В качестве примера, когда устройство 10 находится в фиксированном режиме, а периферийное устройство не подключено, имеется автоматическое переключение в мобильный режим, что дает в результате, что вторичная среда становится первичной средой, и наоборот.Referring to FIG. 6, a flowchart representing a loading sequence is provided. The boot sequence includes both general steps and specific steps of the operating system environment. The actual boot sequence depends on the rules associated with the given state of the device, which prescribes the boot sequence. As an example, if the device is connected to a peripheral device such as a monitor, the state of the device is considered to be in a fixed mode, and the second OS 24 is the primary environment by default. Alternatively, if device 10 is not connected to a peripheral device, then it is in mobile mode, and the first OS 22 is by default the primary operating environment. However, the secondary operating environment is started simultaneously with the primary environment, and it works in the background when the state of the device 10 changes and the secondary environment is switched so that it becomes the primary environment. As an example, when the device 10 is in a fixed mode and the peripheral device is not connected, there is an automatic switch to mobile mode, which results in the secondary environment becoming the primary environment, and vice versa.

Последовательность загрузки инициируют на этапе 68, за которым следует запуск базового ядра 18 Linux на этапе 70. Программа загрузчика инициализируется до запуска ядра. После того, как ядро 18 Linux инициализировано, ядро запускает сценарии пространства пользователя на этапе 72. Администратора 34 ресурсов запускают на этапе 74, за которым следует идентификация состояния режима на этапе 76. Если состояние режима идентифицировано, выполняют доступ к библиотеке ссылок на этапе 78, чтобы определить критерий, связанный с состоянием, который идентифицирован и/или предписан этим состоянием. На этапе 80 запускают услуги, общие, как для первой OS 22, так и второй OS 24. На этапе 82 ссылаются на состояние режима, определенное на этапе 76. Если идентифицируют мобильное состояние тогда первая OS 22 является первичной операционной средой, тогда на этапе 84 запускают сценарии инициализации первой OS, за которым следуют сценарии инициализации второй OS 24, запущенные на этапе 86. Если на этапе 82 сослались на фиксированное состояние, тогда вторая OS 24 является первичной операционной средой, и тогда запускают сценарии инициализации второй OS 24 на этапе 88, за которым следует запуск сценариев инициализации первой OS 22 на этапе 90. Независимо от того, какая среда является первичной, запускают обе среды, и они выполняются до того, как устройство является работающим на этапе 92. Поскольку общие услуги запускают сначала на этапе 80, для всех намерений и целей первичную и вторичную среды запускают параллельно. Однако специфические услуги первичной среды, основанные на состоянии устройства, запускают непосредственно до специфических услуг вторичной среды. С помощью разделения запуска общих услуг со специфическими услугами среды устройство 10 может быть быстро работающим с множеством совместно существующих и независимых операционных сред.The boot sequence is initiated at step 68, followed by the launch of the Linux kernel 18 at step 70. The bootloader program is initialized before the kernel starts. After the Linux kernel 18 is initialized, the kernel runs user space scripts at step 72. The resource manager 34 is started at step 74, followed by the identification of the mode state at step 76. If the mode state is identified, access the reference library at step 78. to determine the criteria associated with a condition that is identified and / or prescribed by that condition. At step 80, services common to both the first OS 22 and the second OS 24 are started. At step 82, the mode state determined at step 76 is referred to. If the mobile state is identified then the first OS 22 is the primary operating environment, then at step 84 initialization scripts of the first OS are started, followed by initialization scripts of the second OS 24 started in step 86. If in step 82 they referred to a fixed state, then the second OS 24 is the primary operating environment, and then the initialization scripts of the second OS 24 are started in step 88,followed by the start of initialization scripts of the first OS 22 at step 90. Regardless of which environment is primary, both environments are started, and they are executed before the device is operational at step 92. Since the shared services are started first at step 80, for all intentions and goals of the primary and secondary environment run in parallel. However, the specific services of the primary environment, based on the state of the device, run directly to the specific services of the secondary environment. By sharing the launch of common services with specific services of an environment, device 10 can be quickly operating with multiple co-existing and independent operating environments.

Ссылаясь на фиг.7, предоставлена блок-схема последовательности этапов, идентифицирующая этапы для запуска приложения второй OS 24, в то время как устройство 10 находится в мобильном режиме 94, а первая OS 22 имеет первичное управление. Приложение второй OS 24, мобильный РС, выбирают на этапе 96. Мобильный РС является приложением в первой OS 22, которая предоставляет полный вид PC, в качестве альтернативы, упомянутый как вид netbook, в то время как устройство работает в мобильном режиме, а первая OS 22 имеет первичное управление. В альтернативном варианте осуществления отдельные приложения из второй OS 24 могут быть перечислены в меню первой OS 22 и запущены отдельно, что может быть аналогичным виду netbook.Referring to FIG. 7, a flowchart is provided identifying steps for launching an application of the second OS 24, while the device 10 is in mobile mode 94, and the first OS 22 has primary control. The application of the second OS 24, the mobile PC, is selected in step 96. The mobile PC is an application in the first OS 22, which provides a complete view of the PC, alternatively referred to as a netbook view, while the device is in mobile mode and the first OS 22 has primary control. In an alternative embodiment, individual applications from the second OS 24 may be listed in the menu of the first OS 22 and run separately, which may be similar to a netbook.

Служба 26 портала посылает сообщение обновления статуса в администратора 34 ресурсов на этапе 98, указывая, что процесс 28 портала получил фокус. После этого администратор 34 ресурсов выключает ввод первой OS 22 и переключает виртуальный терминал на этапе 100. Приложение мобильного РС отображают в GUI 12 на этапе 102. Во время работы приложения мобильного РС может произойти незатребованное событие на этапе 104 или событие, затребованное пользователем, может произойти на этапе 106. Незатребованное событие включает в себя критичные и не критичные ко времени события. В качестве примера, незатребованное событие критичное ко времени, включает в себя телефонный вызов или запланированный или незапланированный предупредительный сигнал. Кроме того, в качестве примера, незатребованное событие, не критичное ко времени, включает в себя сообщение SMS, сообщение электронной почты или уведомление об обновлении устройства. После того как событие 104, 106 происходит, служба 26 портала посылает сообщение в администратора 34 ресурсов, указывая, что процесс 26 портала потерял фокус, на этапе 108. На этапе 110 администратор 34 ресурсов запрашивает первую OS 22, чтобы разрешить поток события ввода, и переключает виртуальный терминал. В качестве примера, настоящий вариант осуществления включает в себя отдельные виртуальные терминалы для переключения управления отображением между первой OS 22 и второй OS 24. Вообще говоря, виртуальный терминал является приложением Linux, которое позволяет пользователю системы переключать управления отображением между видом на базе Windows и системной консолью.The portal service 26 sends a status update message to the resource manager 34 at step 98, indicating that the portal process 28 has received focus. After that, the resource manager 34 turns off the input of the first OS 22 and switches the virtual terminal at step 100. The mobile PC application is displayed in the GUI 12 at step 102. During the operation of the mobile PC application, an unsolicited event may occur at step 104, or an event requested by the user may occur at step 106. An unsolicited event includes time critical and non-time critical events. By way of example, an unsolicited time critical event includes a telephone call or a scheduled or unplanned alert. In addition, as an example, an unsolicited, non-time critical event includes an SMS message, an email message, or a device update notification. After the event 104, 106 occurs, the portal service 26 sends a message to the resource manager 34, indicating that the portal process 26 has lost focus, at step 108. At step 110, the resource manager 34 requests the first OS 22 to allow an input event stream, and switches the virtual terminal. As an example, the present embodiment includes separate virtual terminals for switching display controls between the first OS 22 and second OS 24. Generally speaking, the virtual terminal is a Linux application that allows a system user to switch display controls between a Windows-based view and a system console .

Когда происходит незатребованное событие, или пользователь выбирает кнопку “Home” на этапе 112, процесс 28 портала переключают на второй план на этапе 114, в то время как незатребованное событие продолжается, или пользователь управляет другим приложением из меню “Home” GUI 12. В качестве альтернативы, если пользователь выбирает кнопку “Back” на этапе 112, тогда процесс 28 портала завершает выполнение приложения, и устройство 10 восстанавливается в главное меню нерабочего режима на этапе 94. События, инициированные пользователем, такие как выбор кнопки Home, кнопки Back или инициирование нового приложения, являются иллюстративными затребованными событиями. Когда происходит событие, на этапе 118 принимают решение, и первую OS 22 прерывают на этапе 120, если событие является незатребованным. В качестве альтернативы, если событие является затребованным, таким как выбор пользователем кнопки Home, тогда устройство восстанавливается в главное меню нерабочего режима на этапе 94. После прерывания OS на этапе 120, прерывание приложения завершается, и процесс 28 портала повторно получает фокус на этапе 122, и устройство 10 восстанавливается на этапе 98.When an unsolicited event occurs, or the user selects the “Home” button in step 112, the portal process 28 switches to the background in step 114, while the unsolicited event continues, or the user controls another application from the “Home” menu of GUI 12. As alternatives, if the user selects the “Back” button at step 112, then the portal process 28 terminates the execution of the application, and device 10 is restored to the idle mode main menu at step 94. Events initiated by the user, such as button selection Home, the Back buttons, or the initiation of a new application, are illustrative events requested. When an event occurs, a decision is made in step 118, and the first OS 22 is interrupted in step 120 if the event is unsolicited. Alternatively, if the event is requested, such as the user selecting the Home button, then the device restores to the idle main menu at step 94. After interrupting the OS at step 120, the interruption of the application ends, and the portal process 28 re-receives focus at step 122, and the device 10 is restored in step 98.

В альтернативном варианте осуществления средство виртуального терминала не используют. Визуализация приложения второй OS 24, когда находится в мобильном режиме, может быть выполнено через приложение, подобное VNC. Приложение второй OS 24, такое как Ubuntu, может быть визуализировано дистанционно в клиента VNC. Кроме того, этот вариант осуществления не отбирает управление физическим отображением от первой OS 22.In an alternative embodiment, the virtual terminal facility is not used. Visualization of the application of the second OS 24, when in mobile mode, can be performed through an application similar to VNC. An application of the second OS 24, such as Ubuntu, can be remotely visualized in the VNC client. Furthermore, this embodiment does not take physical display control from the first OS 22.

Еще в одном альтернативном варианте осуществления уведомления, не критичные ко времени, сгенерированные с помощью первой OS 22, идентифицируют и перечисляют в панели в виде второй OS 24. При перечислении уведомлений в панели первой OS 22, информацию статуса объединяют с видом второй OS 24, когда вторая OS 24 является первичной OS. На досуге пользователя осуществляют доступ к панели, чтобы сменить уведомления статуса, не критичные ко времени. Когда панель занята, первая OS 22 становится первичной OS и позволяет уведомлениями быть видимыми. В качестве примера, панель может быть спускающимся списком, который спускается из области статуса с помощью скользящего жеста.In yet another alternative embodiment, the non-time critical notifications generated by the first OS 22 are identified and listed in the panel as the second OS 24. When listing the notifications in the panel of the first OS 22, the status information is combined with the appearance of the second OS 24 when the second OS 24 is the primary OS. At the user's leisure, they access the panel to change status notifications that are not time critical. When the panel is busy, the first OS 22 becomes the primary OS and allows notifications to be visible. As an example, a panel may be a drop-down list that descends from the status area with a sliding gesture.

Ссылаясь на фиг.8, предоставлена диаграмма последовательности сообщений, идентифицирующая этапы для запуска приложения второй OS 24, в то время как первая OS 22 имеет первичное управление. Диаграмма последовательности предоставляет пошаговый, сверху вниз, поток сигналов, переданных между модулем 28 процесса портала и администратором 34 ресурсов. Процесс 28 портала принимает сигнал 124, чтобы запустить портал и выключить ввод. Первая OS 22 имеет первичное управление до того, как сигнал 126 изменяет состояние режима во вторую OS 24, получающую первичное управление. Сигнал 126 посылают из процесса 28 портала в администратора 34 ресурсов, который затем генерирует ответный сигнал 128, посланный в процесс 28 портала, указывающий, что вторая OS 24 является первичной OS. Сигнал 130 принимают с помощью процесса 28 портала, и он выключает ввод. Сигнал 132 посылают из процесса 28 портала в администратора 34 ресурсов, изменяя состояние режима из второй OS 24 в первую OS 22. После приема сигнала 132 администратор 34 ресурсов переключает виртуальный терминал. Затем администратор 34 ресурсов посылает сигнал 134 обновления статуса в процесс 28 портала, указывая, что первая OS 22 является первичной.Referring to FIG. 8, a message sequence diagram is provided identifying steps for starting an application of the second OS 24, while the first OS 22 has primary control. The sequence diagram provides a step-by-step, top-down flow of signals transmitted between the portal process module 28 and the resource manager 34. The portal process 28 receives a signal 124 to start the portal and turn off input. The first OS 22 has primary control before signal 126 changes the state of the mode to a second OS 24 receiving primary control. The signal 126 is sent from the portal process 28 to the resource manager 34, which then generates a response signal 128 sent to the portal process 28 indicating that the second OS 24 is the primary OS. The signal 130 is received using the portal process 28, and it turns off the input. The signal 132 is sent from the portal process 28 to the resource manager 34, changing the mode state from the second OS 24 to the first OS 22. After receiving the signal 132, the resource manager 34 switches the virtual terminal. Then, the resource manager 34 sends a status update signal 134 to the portal process 28, indicating that the first OS 22 is primary.

Ссылаясь на фиг.9, предоставлена блок-схема последовательности этапов, идентифицирующая переключение из первой операционной среды во вторую операционную среду. На этапе 136 устройство является не работающим в мобильном режиме (OS1 22). На этапе 138 устройство соединяют со стыковочной станцией или соединяют с периферийным устройством. В качестве примера, между устройством 10 и монитором или телевизором может быть создано соединение HDMI. Администратора 34 ресурсов уведомляют об обновленном статусе соединения на этапе 140, и первую OS 22 выключают на этапе 142 в ответ на изменение статуса соединения. На этапе 144 портал первой OS 22 переключает буфер кадров совместно используемой памяти, за которым следует переключение администратором 34 ресурсов виртуального терминала на этапе 146. Если приложение мобильного РС находится в поле зрения на этапе 148, тогда процесс 26 портала завершает выполнение на этапе 150. В качестве альтернативы, если приложение мобильного РС не находится в поле зрения, тогда включают фиксированный режим на этапе 152. В случае, когда состояние устройства изменяется на этапе 154, тогда администратор 34 ресурсов принимает обновление состояния статуса на этапе 156. В качестве примера, состояние системы изменяется, когда пользователь удаляет кабель HDMI, или аналогичный соединитель, который используют для соединения устройства 10 с периферийным устройством. После обновления 156 состояния события первую OS 22 выключают 158, и устройство работает в мобильном режиме. Переключение буфера кадров запрашивают на этапе 160, а переключение виртуального терминала запрашивают на этапе 162, причем оба переключения выполняют с помощью процесса 26 портала. После этапа 162 устройство восстанавливается в нерабочее состояние в мобильном режиме 136.Referring to FIG. 9, a flowchart is provided identifying a switch from a first operating environment to a second operating environment. At step 136, the device is not in mobile mode (OS1 22). At step 138, the device is connected to a docking station or connected to a peripheral device. As an example, an HDMI connection may be created between device 10 and a monitor or TV. The resource manager 34 is notified of the updated connection status in step 140, and the first OS 22 is turned off in step 142 in response to a change in connection status. At step 144, the portal of the first OS 22 switches the shared memory frame buffer, followed by the administrator switching resources of the virtual terminal 34 at step 146. If the mobile PC application is in view at step 148, then the portal process 26 completes at step 150. B alternatively, if the mobile PC application is not in sight, then the fixed mode is turned on at step 152. In the case where the state of the device changes at step 154, then the resource manager 34 receives an update s status state at step 156. As an example, the system state changes when the user removes the HDMI cable or similar connector that is used to connect the device 10 to the peripheral device. After updating the event state 156, the first OS 22 is turned off 158, and the device is in mobile mode. Switching the frame buffer is requested in step 160, and switching of the virtual terminal is requested in step 162, both of which are performed using the portal process 26. After step 162, the device is restored to an idle state in mobile mode 136.

Ссылаясь на фиг.10, предоставлена диаграмма последовательности сообщений, идентифицирующая этапы, выполняемые, когда устройство 10 переходит из мобильного режима (OS1) в фиксированный режим (OS2). Устройство 10 работает в мобильном режиме, и первая OS 22 является первичной OS. Сигнал 164 кабеля принимают с помощью администратора 34 ресурсов, который указывает, что HDMI или альтернативный разъем подключен к устройству 10. Сигнал 164 кабеля является иллюстративным сигналом изменения инициализации мобильного состояния. В альтернативном варианте осуществления разъем может быть беспроводным соединением между устройством 10 и периферийным устройством, и отключение беспроводной связи вызвало бы генерируемый сигнал изменения инициализации состояния мобильного устройства. Инициируют последовательность сигналов, переводящих устройство из мобильного режима в фиксированный режим. Сигнал 164 посылают из администратора 34 ресурсов в процесс 28 портала, указывая переход статуса режима и выключение главного ввода данных. Процесс 28 портала посылает сигнал 168 в администратора 34 ресурсов, идентифицируя, что вторая OS 24 теперь является первичной, и переключение виртуального терминала. Сигнал 170 посылают из администратора 34 ресурсов в процесс портала, идентифицируя вторую OS 24 как первичную, и взял монопольное использование буфера кадров. Сигнал 172 подтверждения изменения состояния режима посылают из процесса 28 портала в администратора 34 ресурсов, идентифицируя, что устройство теперь находится в фиксированном режиме и, что вторая OS 24 является первичной OS. Сигнал обновления режима системы посылают из администратора 34 ресурсов в AIW 36.Referring to FIG. 10, a message sequence diagram is provided identifying steps performed when the device 10 transitions from the mobile mode (OS1) to the fixed mode (OS2). The device 10 is in mobile mode, and the first OS 22 is the primary OS. The cable signal 164 is received by the resource manager 34, which indicates that an HDMI or alternative connector is connected to the device 10. The cable signal 164 is an illustrative signal for changing the initialization of the mobile state. In an alternative embodiment, the connector may be a wireless connection between the device 10 and the peripheral device, and disabling the wireless connection would cause a generated signal to change the initialization state of the mobile device. Initiate a sequence of signals that transfer the device from mobile mode to fixed mode. The signal 164 is sent from the resource manager 34 to the portal process 28, indicating the transition of the status of the mode and turning off the main data input. The portal process 28 sends a signal 168 to the resource manager 34, identifying that the second OS 24 is now primary, and switching the virtual terminal. The signal 170 is sent from the resource manager 34 to the portal process, identifying the second OS 24 as primary, and took up exclusive use of the frame buffer. A status change confirmation signal 172 is sent from the portal process 28 to the resource manager 34, identifying that the device is now in fixed mode and that the second OS 24 is the primary OS. A system mode update signal is sent from resource manager 34 to AIW 36.

Ссылаясь на фиг.11, предоставлена диаграмма последовательности сообщений, идентифицирующая этапы, выполняемые, когда устройство 10 переходит из фиксированного режима (OS2) в мобильный режим (OS1). Сигнал 176 кабеля принимают с помощью администратора 34 ресурсов, который указывает, что HDMI или альтернативный проводной разъем удален от устройства 10. Удаление разъема указывает, что периферийное устройство (не изображено) больше не находится на связи с устройством 10. В альтернативном варианте осуществления разъем может быть беспроводной связью между устройством 10 и периферийным или альтернативным устройством (не изображено). Инициируют последовательность сигналов, переводящих устройство из фиксированного режима в мобильный режим. Сигнал 178 посылают из администратора 34 ресурсов в процесс 28 портала, указывая переход статуса режима и выключение главного ввода данных и главного буфера кадров. Процесс 28 портала посылает сигнал 180 в администратора 34 ресурсов, идентифицируя, что первая OS 22 теперь является первичной, и переключение виртуального терминала. Сигнал 182 посылают из администратора 34 ресурсов в процесс портала, идентифицируя первую OS 22 как первичную, и взял монопольное использование буфера кадров. Сигнал 184 подтверждения изменения состояния режима посылают из процесса 28 портала в администратора 34 ресурсов, идентифицируя, что устройство теперь находится в мобильном режиме и, что первая OS 22 является первичной OS. Сигнал обновления режима системы посылают из администратора 34 ресурсов в AIW 36.Referring to FIG. 11, a message sequence diagram is provided identifying steps performed when the device 10 transitions from the fixed mode (OS2) to the mobile mode (OS1). Cable signal 176 is received by resource manager 34, which indicates that the HDMI or alternative wired connector is removed from device 10. Removing the connector indicates that the peripheral device (not shown) is no longer in communication with device 10. In an alternative embodiment, the connector may be a wireless connection between device 10 and a peripheral or alternative device (not shown). Initiate a sequence of signals that transfer the device from a fixed mode to a mobile mode. The signal 178 is sent from the resource manager 34 to the portal process 28, indicating the transition of the mode status and turning off the main data input and the main frame buffer. The portal process 28 sends a signal 180 to the resource manager 34, identifying that the first OS 22 is now primary, and switching the virtual terminal. The signal 182 is sent from the resource manager 34 to the portal process, identifying the first OS 22 as primary, and took exclusive use of the frame buffer. A status change confirmation signal 184 is sent from the portal process 28 to the resource manager 34, identifying that the device is now in mobile mode and that the first OS 22 is the primary OS. A system mode update signal is sent from resource manager 34 to AIW 36.

Ссылаясь на фиг.12, на этапе 188 устройство 10 является неработающим в фиксированном режиме, и вторая OS 24 является первичной операционной средой. Если незатребованное событие происходит на этапе 190 или пользователь выбирает OS1 22 в оконном приложении на этапе 192, тогда OS1 22 в оконном приложении запускают на этапе 194. В качестве примера, если Android является операционной средой 22 мобильного устройства, тогда запускают Android в (AIW) оконном приложении. Приложение AIW дает возможность пользователю осуществлять доступ к приложениям Android, в то время как устройство работает в фиксированном режиме. Администратора 34 ресурсов также уведомляют об обновлении статуса на этапе 194. Ввод в первую OS 22 выключают на этапе 198, за которым следует передача уведомления обновления отображения первой OS на этапе 198. Приложение AIW работает и имеет фокус на этапе 200. Если работу приложения AIW завершают на этапе 202 или пользователь удаляет AIW из фокуса на этапе 204, тогда ввод первой OS 22 выключают на этапе 206. Отображение первой OS 22 останавливают на этапе 208. Если работу приложения AIW завершают на этапе 210, тогда система восстанавливается в нерабочий фиксированный режим 188. В качестве альтернативы, если отменяют фокус приложения AIW, тогда приложение работает в этом состоянии на этапе 212. В случае незатребованного события на этапе 214 или затребованного взаимодействия с приложением AIW на этапе 216, AIW повторно получает фокус на этапе 218. В то время как отменяют фокус AIW, пользователь может выбрать приложение AIW и продолжить взаимодействие с окном AIW, что повторно фокусирует AIW и уведомляет администратора ресурсов 34 об обновлении статуса. После того как AIW повторно получает фокус, ввод первой OS 22, которая является Android для настоящего варианта осуществления, выключают на этапе 220. Уведомления обновления отображения первой OS 22 передают в администратора 34 ресурсов на этапе 222, за которым следует восстановление системы на этапе 220, на котором отключают AIW, и AIW находится в фокусе. Когда приложение находится в фокусе, это приложение находится на логическом верху набора выполняющихся приложений.Referring to FIG. 12, at block 188, device 10 is idle in fixed mode, and second OS 24 is the primary operating environment. If the unsolicited event occurs at step 190 or the user selects OS1 22 in the window application at step 192, then OS1 22 in the window application is started at step 194. As an example, if Android is the operating environment of the mobile device 22, then Android is launched in (AIW) window application. The AIW application enables the user to access Android applications while the device is in fixed mode. The resource manager 34 is also notified of the status update in step 194. The input to the first OS 22 is turned off in step 198, followed by the transmission of the display update notification of the first OS in step 198. The AIW application works and has focus in step 200. If the AIW application is completed at step 202, or the user removes the AIW from focus at step 204, then the first OS 22 is turned off at step 206. The first OS 22 is stopped at step 208. If the AIW application is terminated at step 210, then the system is restored to non-working fixed mode 188. Alternatively, if the focus of the AIW application is canceled, then the application operates in this state at step 212. In the case of an unsolicited event at step 214 or the requested interaction with the AIW application at step 216, the AIW re-receives focus at step 218. At that while the AIW focus is canceled, the user can select the AIW application and continue interacting with the AIW window, which re-focuses the AIW and notifies the resource manager 34 of the status update. After the AIW re-focuses, the input of the first OS 22, which is Android for the present embodiment, is turned off at step 220. The display update notifications of the first OS 22 are sent to the resource manager 34 at step 222, followed by a system restore at step 220, on which AIW is turned off, and AIW is in focus. When an application is in focus, this application is at the logical top of the set of running applications.

В альтернативном варианте осуществления предполагают, что устройство 10 может переходить между состояниями режима на основании событий, отличных от фиксирования и отмены фиксирования устройства 10. В качестве примера, если устройство 10 является стационарным в течение предварительно установленного периода времени, устройство 10 может быть запрограммировано с возможностью работы в состоянии режима с самой эффективной энергией или же независимо от статуса устройства. Еще в одном примере, пользователь может перевести состояние режима из фиксированного в мобильное, если устройство имеет соединение с периферийным устройством. Кроме того, тип периферийного устройства, соединенного с устройством 10, может предписывать, инициировать ли последовательность автоматического изменения состояния режима, или предоставить пользователю запрос изменения состояния режима. Таким образом, пользователь может выбрать состояние режима, в котором будет работать устройство 10. Еще в одном альтернативном варианте осуществления подразумевают дополнительные состояния режима, на основании использования конкретного устройства 10 и приложений, доступных в памяти 20 устройства. In an alternative embodiment, it is contemplated that device 10 may transition between mode states based on events other than locking and unlocking of device 10. As an example, if device 10 is stationary for a predetermined period of time, device 10 may be programmed to work in the state of the mode with the most effective energy or regardless of the status of the device. In yet another example, the user can transfer the state of the mode from fixed to mobile if the device is connected to a peripheral device. In addition, the type of peripheral device connected to the device 10 may prescribe whether to initiate a sequence of automatically changing the state of the mode, or to provide the user with a request to change the state of the mode. Thus, the user can select the state of the mode in which the device 10 will operate. In yet another alternative embodiment, additional mode states are implied based on the use of a particular device 10 and the applications available in the device memory 20.

В частности, подразумевается, что настоящее изобретение не ограничено вариантами осуществления и иллюстрациями, содержащимися в настоящей заявке, а включает в себя модифицированные виды этих вариантов осуществления, включая части вариантов осуществления и комбинации элементов разных вариантов осуществления, которые находятся в пределах объема следующей формулы изобретения.In particular, it is understood that the present invention is not limited to the embodiments and illustrations contained in this application, but includes modified views of these embodiments, including portions of embodiments and combinations of elements of different embodiments that are within the scope of the following claims.

Claims (22)

1. Система управления мобильным устройством, содержащая:
средство для сопряжения компонента аппаратного обеспечения устройства и компонента программного обеспечения промежуточного слоя и
по меньшей мере два средства для выполнения приложений, соединенные со средством для сопряжения, причем каждое из упомянутых средств для выполнения приложений имеет соответствующий компонент приложения, причем упомянутые по меньшей мере два средства для выполнения приложений одновременно работают со средством для сопряжения без схемы виртуализации или эмуляции.
1. The control system of a mobile device containing:
means for interfacing the hardware component of the device and the software component of the middle layer and
at least two means for executing applications connected to the means for interfacing, each of which means for executing applications has a corresponding application component, said at least two means for executing applications simultaneously operating with means for interfacing without a virtualization or emulation circuit.
2. Система управления мобильным устройством по п. 1, в которой по меньшей мере одно из средств для выполнения приложений является средой Linux.2. The mobile device management system of claim 1, wherein at least one of the means for executing the applications is a Linux environment. 3. Система управления мобильным устройством по п. 1, дополнительно содержащая средство управления ресурсами, совместно используемыми по меньшей мере двумя средствами для выполнения приложений.3. The mobile device management system of claim 1, further comprising means for managing resources shared by at least two means for executing the applications. 4. Мобильное вычислительное устройство, содержащее
запоминающее устройство памяти, соединенное с процессором компьютера, причем запоминающее устройство памяти имеет машиноисполняемые инструкции, способные управлять по меньшей мере двумя средами операционной системы в общем ядре, причем упомянутые по меньшей мере две среды операционной системы одновременно выполняются на общем ядре без схемы виртуализации или эмуляции.
4. A mobile computing device containing
a memory device connected to a computer processor, the memory device having computer-executable instructions capable of controlling at least two operating system environments in a common kernel, said at least two operating system environments simultaneously running on a common core without a virtualization or emulation circuit.
5. Устройство по п. 4, в котором первая среда операционной системы оптимизирована для мобильной связи.5. The device according to claim 4, in which the first operating system environment is optimized for mobile communications. 6. Устройство по п. 5, в котором вторая среда операционной системы оптимизирована для настольной связи.6. The device according to claim 5, in which the second operating system environment is optimized for desktop communications. 7. Устройство по п. 5, в котором первая среда операционной системы является стандартным дистрибутивом на базе Linux.7. The device of claim 5, wherein the first operating system environment is a standard Linux-based distribution. 8. Устройство по п. 5, в котором заданное состояние устройства предписывает первичную и вторичную операционные среды.8. The device according to claim 5, in which the predetermined state of the device prescribes primary and secondary operating environments. 9. Устройство по п. 8, в котором первичная операционная среда является операционной системой Android, работающей в мобильном режиме.9. The device according to claim 8, in which the primary operating environment is an Android operating system operating in a mobile mode. 10. Устройство по п. 8, в котором первичная операционная среда переключается из первой во вторую операционную среду, когда пользователь активирует приложение, связанное со второй операционной средой.10. The device according to claim 8, in which the primary operating environment switches from the first to the second operating environment when the user activates an application associated with the second operating environment. 11. Устройство по п. 8, в котором первичная операционная среда переключается из второй в первую операционную среду, когда пользователь выбирает программы, связанные с первой операционной средой.11. The device according to claim 8, in which the primary operating environment switches from the second to the first operating environment when the user selects programs associated with the first operating environment. 12. Мобильный телефон, содержащий:
графический пользовательский интерфейс, выполненный с возможностью приема и передачи информации мультимедиа,
вычислительную систему, содержащую процессор, соединенный с запоминающим устройством памяти,
операционную систему с множеством сред, имеющую общее ядро, причем запоминающее устройство памяти имеет машиноисполняемые инструкции, способные управлять ресурсами, совместно используемыми по меньшей мере двумя совместно существующими независимыми средами операционной системы, которые одновременно работают на общем ядре без схемы виртуализации или эмуляции.
12. A mobile phone containing:
a graphical user interface configured to receive and transmit multimedia information,
a computing system comprising a processor connected to a memory storage device,
an operating system with multiple environments having a common core, the memory device having computer-executable instructions capable of managing resources shared by at least two jointly existing independent operating system environments that simultaneously operate on a common core without a virtualization or emulation scheme.
13. Мобильное вычислительное устройство, содержащее:
процессор компьютера, соединенный с памятью компьютера, имеющей машиноисполняемые инструкции, выполненные с возможностью инициирования операционной системы, и
операционную систему, выполненную с возможностью одновременного выполнения стандартной среды дистрибутивной операционной системы Linux и среды операционной системы Android в одном ядре без схемы виртуализации или эмуляции.
13. A mobile computing device comprising:
a computer processor connected to a computer memory having computer-executable instructions configured to initiate an operating system, and
an operating system configured to simultaneously run a standard Linux distribution operating system environment and an Android operating system environment in one core without a virtualization or emulation scheme.
14. Мобильное вычислительное устройство по п. 13, в котором заданное состояние устройства предписывает первичную и вторичную операционные среды.14. The mobile computing device of claim 13, wherein the predetermined state of the device prescribes primary and secondary operating environments. 15. Мобильное вычислительное устройство по п. 14, в котором операционная система дополнительно содержит службу портала и администратора ресурсов.15. The mobile computing device of claim 14, wherein the operating system further comprises a portal service and a resource manager. 16. Мобильное вычислительное устройство по п. 15, в котором Android является первичной операционной средой, когда устройство работает в мобильном режиме.16. The mobile computing device of claim 15, wherein Android is the primary operating environment when the device is in mobile mode. 17. Мобильное вычислительное устройство по п. 16, в котором служба портала и администратор ресурсов позволяют устройству выборочно управлять операционной системой Ubuntu и Android по меньшей мере частично на основании множества заданных критериев устройства.17. The mobile computing device of claim 16, wherein the portal service and the resource manager allow the device to selectively control the Ubuntu and Android operating system at least partially based on a variety of predetermined device criteria. 18. Мобильное вычислительное устройство по п. 17, в котором заданное состояние устройства является программируемым.18. The mobile computing device of claim 17, wherein the predetermined state of the device is programmable. 19. Система управления мобильным устройством, содержащая
средство для сопряжения компонента аппаратного обеспечения устройства и компонента программного обеспечения промежуточного слоя, и
средство для выполнения приложений, интерпретируемых с помощью JAVA, причем средство для выполнения приложений, интерпретируемых с помощью JAVA, соединено со средством для сопряжения, и
средство для выполнения собственных приложений, причем средство для выполнения собственных приложений соединено со средством для сопряжения, при этом средство для выполнения приложений, интерпретируемых с помощью JAVA, и средство для выполнения собственных приложений одновременно работают со средством для сопряжения без схемы виртуализации или эмуляции.
19. A mobile device management system comprising
means for interfacing the hardware component of the device and the software component of the middle layer, and
means for executing applications interpreted using JAVA, wherein means for executing applications interpreted using JAVA is connected to means for interfacing, and
means for executing native applications, wherein means for executing native applications is connected to the means for interfacing, while means for executing applications interpreted using JAVA, and means for executing their own applications simultaneously operate with means for interfacing without a virtualization or emulation scheme.
20. Система управления мобильным устройством по п. 19, в которой каждое из средства для выполнения приложений, интерпретируемых с помощью JAVA, и средства для выполнения собственных приложений имеет соответствующий компонент приложения.20. The mobile device management system of claim 19, wherein each of the means for executing applications interpreted using JAVA and the means for executing its own applications has a corresponding application component. 21. Система управления мобильным устройством по п. 20, в которой средство управления ресурсами управляет ресурсами системы, совестно используемыми средством для выполнения приложений, интерпретируемых с помощью JAVA, и средством для выполнения собственных приложений.21. The mobile device management system of claim 20, wherein the resource management tool manages system resources shared by the means for executing applications interpreted by JAVA and the means for executing native applications. 22. Система управления мобильным устройством по п. 21, в которой совместно используемые ресурсы включают в себя средства отображения и средства ввода. 22. The mobile device management system of claim 21, wherein the shared resources include display means and input means.
RU2012105805/08A 2009-07-20 2010-07-20 Multi-environment operating system RU2574205C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US22698809P 2009-07-20 2009-07-20
US61/226,988 2009-07-20
US12/838,868 2010-07-19
US12/838,868 US9348633B2 (en) 2009-07-20 2010-07-19 Multi-environment operating system
PCT/US2010/042513 WO2011011354A2 (en) 2009-07-20 2010-07-20 Multi-environment operating system

Publications (2)

Publication Number Publication Date
RU2012105805A RU2012105805A (en) 2013-08-27
RU2574205C2 true RU2574205C2 (en) 2016-02-10

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571282B1 (en) * 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
EP1577783A1 (en) * 2002-12-26 2005-09-21 Fujitsu Limited Operation managing method and operation managing server
RU2005136419A (en) * 2004-12-30 2007-05-27 Майкрософт Корпорейшн (Us) SYSTEM AND METHOD FOR VIRTUALIZING GRAPHIC SUBSYSTEMS
RU2331160C2 (en) * 2003-10-29 2008-08-10 Квэлкомм Инкорпорейтед Interface with high speed of data transmission

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571282B1 (en) * 1999-08-31 2003-05-27 Accenture Llp Block-based communication in a communication services patterns environment
EP1577783A1 (en) * 2002-12-26 2005-09-21 Fujitsu Limited Operation managing method and operation managing server
RU2331160C2 (en) * 2003-10-29 2008-08-10 Квэлкомм Инкорпорейтед Interface with high speed of data transmission
RU2005136419A (en) * 2004-12-30 2007-05-27 Майкрософт Корпорейшн (Us) SYSTEM AND METHOD FOR VIRTUALIZING GRAPHIC SUBSYSTEMS

Similar Documents

Publication Publication Date Title
US8868899B2 (en) System and method for switching between environments in a multi-environment operating system
KR101399161B1 (en) System and method for initiating a multi-environment operating system
US9348633B2 (en) Multi-environment operating system
US9367331B2 (en) Multi-environment operating system
US9389877B2 (en) Multi-environment operating system
EP2668572B1 (en) Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
US20120173986A1 (en) Background synchronization within a multi-environment operating system
US20120174021A1 (en) Systems and methods for displaying android applications launchers in webtop application tray
CN109308241B (en) Method and device for monitoring starting process of application program, terminal equipment and storage medium
WO2011011368A2 (en) Multi-environment operating system
TWI668634B (en) Software container based systems and methods for providing cloud services
RU2574205C2 (en) Multi-environment operating system
WO2011011365A2 (en) Multi-environment operating system