RU2574205C2 - Multi-environment operating system - Google Patents
Multi-environment operating system Download PDFInfo
- 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
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 4
- 230000005055 memory storage Effects 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 41
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 15
- 230000002093 peripheral Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 3
- 230000000977 initiatory Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
Images
Abstract
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
Теперь, ссылаясь на фиг.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
Иллюстративная операционная система 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
Ссылаясь на фиг.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
Модуль 36 AIW выполнен с возможностью отображения окна приложения первой OS 22 в GUI 12, в то время как вторая OS 24 является первичной операционной средой.
Модуль 26 службы портала содержит множество инструкций, выполненных с возможностью разрешения обслуживания для первой OS 22, и управляет всей связью с администратором 34 ресурсов. В то время как устройство 10 работает, модуль 26 службы портала предпочтительно выполняется всегда. Кроме того, модуль 26 службы портала соединен с процессом, связанным с модулем 28 процесса портала, а также широковещательными событиями первой OS. Модуль 28 процесса портала является приложением или множеством машиноисполняемых инструкций, которое представляет приложение второй OS 24, расположенное в наборе первой OS 22. В качестве примера, если вторая OS 24 является Ubuntu®, модуль 28 процесса портала может представлять специфическое приложение Ubuntu, а когда модуль 28 процесса портала имеет фокус, Ubuntu является в поле зрения через GUI 12. Многочисленные приложения могут выполняться одновременно, также упомянутые как набор выполняющихся приложений, в любой данной операционной среде. Логически говоря, считают, что самое верхнее приложение имеет “фокус”.The
Ядро 18 включает в себя множество драйверов 42 и модуль 44 AEV. С драйверами 42 включены драйверы устройств ввода для компонентов 20 аппаратного обеспечения. AEV 44 является модулем ядра, который берет абсолютную координату и события клавиатуры из AIW 36 и передает их в концентратор событий.
Совместно существующие среды в операционной системе 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
В соответствии с настоящим вариантом осуществления, служба 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
Первая OS 22 и вторая OS 24 являются независимыми друг от друга и совместно существуют относительно друг друга. Каждая OS 22, 24 является полностью функционирующей средой операционной системы и не требует, чтобы функционировала другая среда операционной системы. Две среды операционной системы существуют в одном и том же устройстве 10 со 100% независимостью относительно друг друга. Как идентифицировано выше, первая и вторая OS 22, 24 совместно не существуют в схеме виртуализации или эмуляции, а фактически работают в одном ядре 18. Вместо этого имеется совместное существование времени выполнения, при котором обе OS 22, 24 выполняются в своих соответственных собственных средах, и никакую из OS 22, 24 повторно не компилируют, так как нет необходимости применять по-новому общую среду времени выполнения С. Доступ к приложениям может быть осуществлен с помощью пользователя, который закодирован только для одной или другой OS 22, 24, без прерывания для вычислительного опыта пользователя.The
Ссылаясь на фиг.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
Ссылаясь на фиг.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
Ссылаясь на фиг.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
Последовательность загрузки инициируют на этапе 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
Ссылаясь на фиг.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
Служба 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
Когда происходит незатребованное событие, или пользователь выбирает кнопку “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
В альтернативном варианте осуществления средство виртуального терминала не используют. Визуализация приложения второй 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
Еще в одном альтернативном варианте осуществления уведомления, не критичные ко времени, сгенерированные с помощью первой 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
Ссылаясь на фиг.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
Ссылаясь на фиг.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
Ссылаясь на фиг.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
Ссылаясь на фиг.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
Ссылаясь на фиг.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
В альтернативном варианте осуществления предполагают, что устройство 10 может переходить между состояниями режима на основании событий, отличных от фиксирования и отмены фиксирования устройства 10. В качестве примера, если устройство 10 является стационарным в течение предварительно установленного периода времени, устройство 10 может быть запрограммировано с возможностью работы в состоянии режима с самой эффективной энергией или же независимо от статуса устройства. Еще в одном примере, пользователь может перевести состояние режима из фиксированного в мобильное, если устройство имеет соединение с периферийным устройством. Кроме того, тип периферийного устройства, соединенного с устройством 10, может предписывать, инициировать ли последовательность автоматического изменения состояния режима, или предоставить пользователю запрос изменения состояния режима. Таким образом, пользователь может выбрать состояние режима, в котором будет работать устройство 10. Еще в одном альтернативном варианте осуществления подразумевают дополнительные состояния режима, на основании использования конкретного устройства 10 и приложений, доступных в памяти 20 устройства. In an alternative embodiment, it is contemplated that
В частности, подразумевается, что настоящее изобретение не ограничено вариантами осуществления и иллюстрациями, содержащимися в настоящей заявке, а включает в себя модифицированные виды этих вариантов осуществления, включая части вариантов осуществления и комбинации элементов разных вариантов осуществления, которые находятся в пределах объема следующей формулы изобретения.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. 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.
запоминающее устройство памяти, соединенное с процессором компьютера, причем запоминающее устройство памяти имеет машиноисполняемые инструкции, способные управлять по меньшей мере двумя средами операционной системы в общем ядре, причем упомянутые по меньшей мере две среды операционной системы одновременно выполняются на общем ядре без схемы виртуализации или эмуляции.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.
графический пользовательский интерфейс, выполненный с возможностью приема и передачи информации мультимедиа,
вычислительную систему, содержащую процессор, соединенный с запоминающим устройством памяти,
операционную систему с множеством сред, имеющую общее ядро, причем запоминающее устройство памяти имеет машиноисполняемые инструкции, способные управлять ресурсами, совместно используемыми по меньшей мере двумя совместно существующими независимыми средами операционной системы, которые одновременно работают на общем ядре без схемы виртуализации или эмуляции.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.
процессор компьютера, соединенный с памятью компьютера, имеющей машиноисполняемые инструкции, выполненные с возможностью инициирования операционной системы, и
операционную систему, выполненную с возможностью одновременного выполнения стандартной среды дистрибутивной операционной системы 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.
средство для сопряжения компонента аппаратного обеспечения устройства и компонента программного обеспечения промежуточного слоя, и
средство для выполнения приложений, интерпретируемых с помощью 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.
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)
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)
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 |