Поддержка нескольких операционных систем в мультимедийных устройствах

Иллюстрации

Показать все

Изобретение относится к области воспроизведения цифровых мультимедийных данных. Техническим результатом является расширение функциональных возможностей воспроизведения цифровых мультимедийных данных за счет поддержки нескольких операционных систем в устройствах потребительской электроники. Способ воспроизведения различных цифровых мультимедийных данных, закодированных в различных мультимедийных форматах, заключается в том, что: принимают первые цифровые мультимедийные данные в цифровом медиапроигрывателе, имеющем в памяти первую операционную систему в первом состоянии ожидания и имеющем в памяти вторую операционную систему в активном состоянии, причем первые цифровые мультимедийные данные закодированы согласно первому мультимедийному формату; пробуждают первую операционную систему из первого состояния ожидания, при этом первая операционная система поддерживает воспроизведение мультимедиа для первого мультимедийного формата, и вторая операционная система поддерживает воспроизведение мультимедиа для второго мультимедийного формата, отличного от первого мультимедийного формата; и воспроизводят первые цифровые мультимедийные данные, используя первое приложение, работающее в операционной среде, предоставленной первой операционной системой. 3 н. и 17 з.п. ф-лы, 7 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

Мультимедийные форматы для устройств потребительской электроники становятся все более и более сложными, при этом большая часть их улучшенных функциональных возможностей перемещается из аппаратных средств в программное обеспечение. В результате программные среды устройств потребительской электроники стали все более и более сложными.

Кроме того, старшие и более простые форматы, например DVD, все еще оставляют часть своей обработки программному обеспечению даже при том, что они перекладывают большую часть своей обработки на более дешевые и более простые аппаратные средства. Например, функции обработки меню (или "навигация") могут быть осуществлены в программном обеспечении, в то время как аудио и видеопотоки, вероятно, будут декодированы специализированной аппаратурой. Рынок DVD развивался в течение долгого времени, хотя основное навигационное программное обеспечение может быть относительно простым. DVD проигрыватели ответили сложной логикой обработки меню для правильной обработки DVD с большим количеством возможностей. В результате относительно простой формат DVD развился так, что программное обеспечение для его воспроизведения теперь весьма сложно. Многие производители проигрывателей имеют существенные инвестиции в это программное обеспечение, и программное обеспечение, развивавшееся в течение долгого времени, имеет зависимости от его операционной среды.

При наличии различных доступных мультимедийных форматов в устройствах потребительской электроники существует потребность в поддержке нескольких форматов. Например, предположив, что пользователи обычно ожидают, что их DVD проигрыватель также воспроизведет диски аудио CD, которые являются совсем другим мультимедийным форматом, станет ясным, что поддержка нескольких форматов желательна. Следовательно, целевая задача - как выполнить рентабельным способом несколько программных приложений, которые могут требовать своих собственных операционных систем.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

В разделе Сущность изобретения представлен набор понятий в упрощенном виде, которые дополнительно описаны ниже в Детальном Описании. Раздел Сущность изобретения не подразумевает идентификацию ключевых или существенных признаков заявляемого объекта и не подразумевает ограничить область действия заявляемого объекта.

В итоге, Детальное Описание направлено к различным методикам и инструментальным средствам для поддержки нескольких операционных систем в потребительских электронных устройствах. Например, описаны методики и инструментальные средства, которые позволяют быстро переключаться между операционными системами в проигрывателях видеодисков, которые поддерживают различные типы медиаданных, при сокращении времени ожидания и смягчении возможных негативных воздействий на опыт пользователя.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг.1 - блок-схема, поясняющая обобщенный пример соответствующей вычислительной среды, в которой могут быть осуществлены несколько из описанных вариантов осуществления.

Фиг.2 - блок-схема, показывающая приведенную в качестве примера методику "постепенной передачи обслуживания" модели обработки при изменении признаков среди различных операционных систем согласно одному или более описанным вариантам осуществления.

Фиг.3 - блок-схема, показывающая приведенную в качестве примера методику "теплая загрузка" модели обработки при изменении признаков среди различных операционных систем согласно одному или более описанным вариантам осуществления.

Фиг.4 - блок-схема, показывающая приведенную в качестве примера методику для обработки постепенной передачи обслуживания при изменении формата диска согласно одному или более описанным вариантам осуществления.

Фиг.5 - схема системы, показывающая микропрограмму с загрузчиком и службами базовой системы ввода-вывода для обработки изменения формата диска согласно одному или более описанным вариантам осуществления.

Фиг.6 - блок-схема, показывающая приведенную в качестве примера методику теплой загрузки для обработки изменения формата диска согласно одному или более описанным вариантам осуществления.

Фиг.7 - блок-схема, показывающая приведенную в качестве примера методику для выполнения операций параллельного переключения медиаформата при теплой загрузке согласно одному или более описанным вариантам осуществления.

ПОДРОБНОЕ ОПИСАНИЕ

Здесь описаны методики и инструментальные средства для поддержки нескольких операционных систем во встроенных устройствах, таких как, например медиапроигрыватель.

Здесь описаны различные возможные варианты реализации. Например, определенные методики, описанные со ссылкой на блок-схемы, могут быть изменены, посредством изменения порядка этапов, показанных в блок-схемах, повторяя или опуская определенные этапы, и т.д., при достижении того же самого результата. Различные варианты осуществления реализуют одну или более описанных методик и инструментальных средств. Описанные здесь некоторые из методик и инструментальных средств адресованы к одной или более задач, упомянутых в разделе уровень техники. Как правило, данная методика/инструментальные средства не решает все такие задачи, тем не менее.

I. Вычислительная среда

Фиг.1 поясняет обобщенный пример соответствующей вычислительной среды (100), в которой могут быть реализованы некоторые из описанных вариантов осуществления. Вычислительная среда (100) не предполагает наложение любых ограничений относительно области использования или функциональных возможностей, поскольку методики и инструментальные средства могут быть осуществлены в разнообразных универсальных или вычислительных средах специального назначения. Например, вычислительная среда (100) может быть предоставлена с мультимедийным устройством, например, переносным аудиоплейером, переносным видеопроигрывателем, переносным звуковым и видеопроигрывателем, консольным аудиоплейером, консольным видеопроигрывателем или консольным звуковым и видеопроигрывателем. Такое мультимедийное устройство может быть автономным модулем или встроенным в другое устройство (например, устройство связи или устройство отображения).

В отношении Фиг.1 вычислительная среда (100) включает в себя, по меньшей мере, два блока (110, 115) обработки и соответствующую память (120, 125). Блоки (110, 115) обработки могут включать центральный процессор, GPU для видеоускорения, или другие модули совместной обработки. На Фиг.1 эта типовая базовая конфигурация (130) выделена пунктирной линией. Альтернативно, вычислительная среда включает единственный процессор. Блоки (110, 115) обработки, исполняющие компьютерно-исполняемые команды, могут быть реальными или виртуальными микропроцессорами. В многопроцессорной системе для увеличения мощности обработки обработку компьютерно-исполняемых команд выполняют несколько блоков. В сценариях кодирования или декодирования ведущий процесс кодирования или декодирования использует доступные блоки (110, 115) обработки для выполнения операций кодирования или декодирования. Определенные операции могут быть выполнены специализированным процессором, например, GPU. Память (120, 125) может быть кратковременной памятью (например, регистр, кэш, оперативная память), долговременной памятью (например, ROM, СППЗУ, флэш-память и т.д.) или некоторой комбинацией из двух. Память (120, 125) может быть отдельной на один микропроцессор или разделенной между двумя или больше микропроцессорами. Память (120, 125) хранит программное обеспечение (180) для устройства, реализующего стратегии поддержки нескольких операционных систем.

У вычислительной среды могут быть дополнительные признаки. Например, вычислительная среда (100) включает хранилище (140), одно или более устройств (150) ввода, одно или более устройств (160) вывода, и одно или более соединений (170) связи. Механизм соединения (не показан), например шина, контроллер или сеть, связывает узлы вычислительной среды (100). Как правило, программное обеспечение операционной системы (не показано) обеспечивает среду для другого программного обеспечения, выполняющегося в вычислительной среде (100), и координирует действия узлов вычислительной среды (100).

Хранилище (140) может быть сменным или несменным и может включать магнитные диски, магнитные ленты или кассеты, CD-ROM, DVD, или любую другую среду, которая может использоваться, чтобы хранить информацию, и к которой можно обратиться в пределах вычислительной среды (100). Хранилище (140) хранит команды программного обеспечения (180).

Устройство(а) (150) ввода может быть сенсорным устройством ввода, таким как, клавиатура, мышь, перо, сенсорный экран или шаровой указатель, устройство голосового ввода, сканер, или другим устройством, которое обеспечивает ввод в вычислительную среду (100). Для аудио или видео, устройство(а) (150) ввода может быть звуковой платой, видеоплатой, платой телевизионного тюнера, или подобным устройством, которое принимает звук или видео в аналоговом или цифровом виде, или DVD, CD-ROM или CD-RW, которые считывают закодированное аудио или видео в вычислительную среду (100). Устройство(а) (160) вывода может быть дисплеем, принтером, динамиком, CD - или DVD - устройством записи, или другим устройством, которое обеспечивает вывод из вычислительной среды (100).

Соединение(я) (170) связи делает возможной связь посредством среды связи с другим вычислительным субъектом. Среда связи транспортирует информационные данные, например, команды, выполняемые компьютером, звуковой или видеоввод или вывод, или другие данные в модулированном сигнале данных. Модулированный сигнал данных - сигнал, который имеет одну или более своих характеристик, установленных или измененных таким образом, чтобы кодировать информацию в сигнале. Посредством примера, и не ограничиваясь им, среды связи включают в себя, проводную или беспроводную методики, с встроенным электрическим, оптическим, радиочастотным ("RF"), инфракрасным ("IR"), акустическим или другим носителем.

Методики и инструментальные средства могут быть описаны в общем контексте читаемого компьютером носителя. Читаемый компьютером носитель - любой доступный носитель, к которому можно обратиться в пределах вычислительной среды. Посредством примера, и, не ограничиваясь им, с вычислительной средой (100), читаемый компьютером носитель включает в себя память (120), хранилище (140), среду связи и комбинацию любого из вышеупомянутых.

Методики и инструментальные средства могут быть описаны в общем контексте команд, выполняемых компьютером, например, включенных в модули программы, выполняемые в вычислительной среде на предназначенном реальном или виртуальном микропроцессоре. Обычно, модули программы включают подпрограммы, программы, библиотеки, объекты, классы, узлы, структуры данных и т.д., которые выполняют специфические задачи или реализуют специфические абстрактные типы данных. Функциональные возможности модулей программы могут быть объединены или разбиты между модулями программы, как задано в различных вариантах осуществления. Команды модулей программы, выполняемые компьютером, могут быть исполнены в пределах локальной среды или среды распределенных вычислений.

Ради целей изложения, детальное описание использует термины "проверять" и "пробуждать", чтобы описать машинные операции в вычислительной среде. Эти термины - высокоуровневые абстракции для операций, выполняемых компьютером, и не должны быть перепутаны с действиями, совершенными человеком. Фактические машинные операции, соответствующие этим терминам, изменяются в зависимости от реализации.

II. Концепция поддержки нескольких операционных систем в устройствах потребительской электроники

Устройства потребительской электроники становятся все более и более сложными и передают поддержку большей части их функциональных возможностей от аппаратных средств программному обеспечению. Старшие и более простые форматы, например DVD, часто передают часть своей обработки программному обеспечению даже при том, что обычно большую часть своей обработки они передают более дешевым и более простым аппаратным средствам. Например, аудио и видеопотоки могут быть декодированы специализированной аппаратурой, в то время как функция обработки меню (или "навигация") может быть осуществлена в программном обеспечении. В результате некоторые устройства потребительской электроники, которые поддерживают относительно простые форматы, например DVD, тем не менее, имеют сложное программное обеспечение.

Кроме того, инструментальные средства воспроизведения для различных мультимедийных форматов могут иметь различные требования операционной системы и могут дополнительно усложнить программные среды устройств, которые обрабатывают их. Например, информационное наполнение видео высокой четкости, закодированное согласно стандарту видеодиска HD DVD (иногда упоминаемому здесь как формат HD DVD), может быть декодировано с использованием приложения для воспроизведения поддерживаемого первой операционной системой (например, операционной системой Windows®CE от Корпорации Microsoft или другой операционной системой), и информационное наполнение видео высокой четкости, закодированное согласно стандарту видеодиска Blu-ray (иногда упоминаемое здесь как формат Blu-ray), может быть декодировано с использованием приложения для воспроизведения поддерживаемого второй операционной системой (например, Linux-подобной операционной системой, операционной системой варианта Unix или другой Unix-подобной, или другой операционной системой). Диски двойного формата (например, диски с информационным наполнением в формате Blu-ray и информационным наполнением в формате HD DVD), могут иметь, однако, другие требования к операционной системе. Некоторое программное обеспечение, разработанное для специфических рабочих сред, развивалось в течение долгого времени и имеет зависимость от этих сред. В результате этих и других факторов, устройства потребительской электроники имеют все более и более сложные программные среды.

Задача, адресуемая устройствами потребительской электроники, - как выполнить несколько приложений (каждое из которых может требовать своей собственной операционной системы) эффективным в отношении затрат способом. Одно решение состоит в том, чтобы встроить процессор, дополняемый операционной системой и приложениями для каждого типа поддерживаемого мультимедийного формата. Более рентабельное решение состоит в том, чтобы хранить несколько операционных систем и приложений (например, по одной операционной системе и программному приложению на мультимедийный формат) и перезагружать проигрыватель при обработке другого типа мультимедиа. Например, проигрыватель может иметь одну операционную систему для HD DVD, другую для DVD и другую для аудио CD. Соответствие между операционными системами и поддерживаемыми приложениями не взаимно-однозначно. Например, воспроизведение DVD и аудио CD могло бы работать на одной операционной системе, в то время как воспроизведение HD DVD выполняться на другой операционной системе.

Однако, существуют потенциальные проблемы, связанные с выполнением нескольких операционных систем. Рассмотрим устройство, которое поддерживает два цифровых видеодисковых мультимедийных формата: формат HD DVD, работающий на первой операционной системе, и формат Blu-ray (иногда называемый дисковый формат Blu-ray), работающий на второй операционной системе, сильно отличающейся от первой операционной системы. Одна проблема к рассмотрению - время загрузки диска при переходе от одного формата к другому (например, от воспроизведения Blu-ray, поддерживаемого второй операционной системой, к воспроизведению HD DVD - поддерживаемого первой операционной системой). Другая проблема к рассмотрению - как позволить пользователям переключаться между несколькими программными приложениями (которые требуют их собственных операционных систем), сохраняя переключение между операционными системами невидимыми для пользователя для уменьшения потенциального негативного воздействия на опыт пользователя.

Описанные "мультизагрузочные" методики и инструментальные средства позволяют устройствам переключаться между операционными системами с низкими затратами и без чрезмерного влияния на опыт пользователя. При описании здесь, термин "двойная загрузка" иногда используется для описания устройства, которое переключается между двумя операционными системами, хотя идеи, рассмотренные здесь, могут быть распространены на устройства, которые способны к работе более чем на двух операционных системах. Устройства с двойной загрузкой с двумя доступными операционными системами - подмножество мультизагрузочных устройств, у которых может быть две или больше доступных операционных систем. Термины мультизагрузка или двойная загрузка не обозначают требование перезагрузки устройства для переключения между операционными системами, как объяснено подробно ниже.

Варианты для мультизагрузочных конструкций включают следующее.

1. Переходы операционных систем выполняются совместно с механизмом передачи обслуживания (или постепенной передачи обслуживания), при котором две или больше операционные системы работают одновременно. Например, в описанной реализации, передача обслуживания между первой операционной системой и второй операционной системой выполняется в то время, как и первая и вторая операционные системы работают. После передачи обслуживания одну операционную систему оставляют в состоянии ожидания.

2. Переходы операционных систем выполняются с механизмом передачи обслуживания, который включает в себя теплую загрузку одной из операционных систем. Использованный здесь термин "теплая загрузка" указывает на загрузку операционной системы на устройстве, которая происходит после того, как устройство было включено и операционная система была загружена.

Выбор между мультизагрузочными вариантами может зависеть от ряда факторов, таких как: выбор микросхемы (например, одно- или двуядерная), стоимость реализации и внешние зависимости. Архитектуры многих микросхем имеют однопроцессорное ядро и поддерживают одну операционную систему одномоментно (если аппаратные средства нижнего уровня или другая методика не обеспечивают поддержку для одновременного выполнения нескольких операционных систем). Архитектуры других микросхем включают два микропроцессорных ядра, и простая симметричная операционная система, осведомленная о мультипроцессорности, обычно не использует их оба. В любом случае, выбор архитектуры системы на микросхеме часто более зависит не только от ядра(ер) микропроцессора, также принимаются во внимание другие функциональные блоки на микросхеме, такие как, модули для декодирования аудио/видео, двумерного ускорения графики, декодирования и т.д.

A. Примеры

Следующие примеры поясняют методики для обработки переходов между операционными системами и для учета таких факторов, как длительность переходного процесса и потенциальное влияние на пользовательский опыт. Примеры в этом разделе описывают переключение между двумя операционными системами, но возможно переключение между более чем двумя операционными системами. В вариантах реализации этапы, показанные в примерах ниже, могут быть переупорядочены, опущены или заменены другими этапами. Например, примеры, которые описывают переключение операционной системы А на операционную систему B, могут быть дополнены переключением назад на операционную систему А по умолчанию, после того, как запрошенный признак операционной системы B больше не используется, или, в ответ на последующее действие пользователя, использующее признак в операционной системе A. Переходы между операционными системами могут продолжаться пока необходимо или по желанию. Примеры, в которых операционная система A является стартовой первичной операционной системой, могут быть изменены так, чтобы операционная система B была стартовой первичной операционной системой, или наоборот.

Примеры реализованы на цифровом медиапроигрывателе, который может быть автономным или встроенным, как часть другого устройства. Альтернативно, эти примеры реализуются с другим устройством потребительской электроники или другим вычислительным устройством.

1. Примеры постепенной передачи обслуживания

Пример 1: В этом сценарии постепенной передачи обслуживания устройство потребительской электроники настроено так, чтобы позволить операционной системе A и операционной системе B работать одновременно. В этом примере операционная система A является первичной операционной системой и в текущий момент управляет большинством аспектов устройства. Она обнаруживает, что пользователь пытается использовать признак, предоставляемый операционной системой B (например, помещая видеодиск определенного формата в устройство). Способ по Примеру 1 включает в себя следующие этапы.

1. Сохранение идентифицированного требования(й) признака (например, в энергонезависимой памяти).

2. Отключение управления с аппаратных ресурсов, которые будут использоваться операционной системой B (в случае необходимости).

3. Передача управления операционной системе B.

4. Считывание данных, сохраненных на этапе 1, выше, и определение (операционной системой B) затребованного признака.

5. Активация, в случае необходимости, и использование (операционной системой B) необходимых аппаратных ресурсов для соответствия требованиям признака. Переход от одной операционной системы к другой может быть выполнен постепенно для некоторых аппаратных ресурсов (например, дисплеев), таким образом что их состояние (например, в настоящий момент отображение меню) полностью или частично сохраняется через передачу обслуживания от операционной системы А на операционную систему B, чтобы снизить длительность переходного процесса и/или смягчить негативное воздействие на опыт пользователя.

6. Обеспечить (операционной системой B) желаемый признак.

На этапе 3 из Примера 1, управление передается в операционную систему B, посредством отправки одного или более сообщений операционной системе B. Эти сообщения могут быть реализованы несколькими способами. Например, в некоторых реализациях, у каждой операционной системы / ядра микропроцессора (где операционная система A выполняется на ядре микропроцессора A, и операционная система B выполняется на ядре микропроцессора B) есть драйвер, в котором реализована аппаратная почтовая очередь. Почтовые очереди могут быть простыми очередями обслуживания в порядке поступления, используемыми для обмена сообщениями между операционной системой A и операционной системой B. Узел управления операционной системы (например, в драйвере) ждет сообщения прибывающего в его очередь для передачи ему команды перевести свою операционную систему и ядро в сон.

Сообщение может быть словом памяти, значения которого зарезервированы для целей постепенных передач обслуживания между операционными системами (например, значение 1 указывает, что узел управления должен поместить свою операционную систему / ядро в состояние сна, значение 2 указывает, что узел управления должен пробудить свою операционную систему / ядро из состояния сна, другие значения зарезервированы для других целей). Альтернативно, обмен сообщениями реализуется с другим протоколом и/или другим типом структуры данных.

В приведенной в качестве примера реализации почтовой очереди, когда операционная система A обнаруживает диск в формате, который она не воспроизводит, она отправляет сообщение (например, со значением 2) в ее драйвер обмена сообщениями, который доставляет сообщение в почтовую очередь драйвера операционной системы B. Драйвер операционной системы B ждет сообщений в своей почтовой очереди, получает сообщение от операционной системы A, интерпретирует сообщение (чье значение означает "проснуться"), и предпринимает шаги, чтобы пробудить операционную систему B и ядро B (например, делая доступными соответствующие драйверы). Операционная система A переводит себя в режим сна после того, как она отправит сообщение пробуждения операционной системе B, предполагая, что операционная система B успешно пробудится. Альтернативно, операционная система A ждет сообщения от операционной системы B (например, со значением 1), инструктирующего операционную систему А поместить себя в режим сна. Наличие операционной системы B, отправившей такое сообщение после того, как операционная система B успешно пробудилась, позволяет лучшую обработку ошибок - если операционная система A не получает такое сообщение сна после некоторого промежутка времени, операционная система A может инициализировать обработку ошибок, информируя пользователя, перезагружая всю систему и/или выполняя другой этап.

Методика обмена сообщениями реверсивна, в случае если операционная система B встречается с диском в формате, который она не воспроизводит. Операционная система B отправляет сообщение (например, со значением 2) на ее драйвер обмена сообщениями, который поставляет сообщение в почтовую очередь драйвера операционной системы A. Драйвер операционной системы A ждет сообщений в своей почтовой очереди, получает сообщение от операционной системы B, интерпретирует сообщение (чье значение означает "проснуться"), и предпринимает шаги, чтобы пробудить операционную систему A и ядро A. Операционная система B помещает себя в режим сна после того, как она отправляет сообщение пробуждения операционной системе A или, альтернативно, ждет сообщения о переходе в режим сна от операционной системы A.

Пример 2: Фиг.2 - блок-схема, показывающая приведенную в качестве примера методику (200) согласно модели постепенной передачи обслуживания для использования признаков в параллельно работающих операционных системах. Методика (200) показанная на Фиг.2 отличается в некотором отношении от этапов в Примере 1 выше, все еще достигая постепенного перехода между двумя операционными системами.

В методике (200), загрузчик (205) активирован и операционные системы (210, 255) A, и B загружены. На Фиг.2 операционные системы запускаются (210, 255) в состоянии ожидания. Любая из операционных систем может быть выведена из состояния (215, 260) ожидания сообщением (220, 265) пробуждения от другой операционной системы. Это может произойти, например, когда пользователь запрашивает операцию, выполняет навигационные действия, проверяет или изменяет параметры настройки, или изменяет мультимедийный носитель (например, меняя диск).

После пробуждения активированная операционная система (225 или 270) выполняет разрешенные функциональные признаки, используя эту операционную систему. После обнаружения изменения (230 или 275) признака активированная операционная система проверяет (235 или 280), может ли она выполнить новый признак. Иначе, операционная система по мере необходимости готовит (240 или 285) аппаратные ресурсы, для перехода на другую операционную систему, и отправляет сообщение (245 или 290) пробуждения на другую операционную систему. Операционная система, которая отправляет сообщение пробуждения, может затем возвратиться к состоянию ожидания для ожидания возможного сообщения пробуждения.

В примере, показанном на Фиг.2, операционные системы A и B, после загрузки (210, 255), переводят первоначально в состояние (215, 260) ожидания. Альтернативно, одна или более операционных систем находится первоначально в активном состоянии. Например, в проигрывателе видеодисков, который воспроизводит и Blu-ray и диски HD DVD, первая операционная система первоначально переходит в активное состояние, если диск HD DVD находится в проигрывателе при включении. Вместо перехода в начальное состояние ожидания и выполнения проверки на наличие сообщения пробуждения, первая операционная система разрешает использование функциональных признаков, используя программное обеспечение, работающее на первой операционной системе (например, запуская меню HD DVD или запуская воспроизведение HD DVD), пока не происходит событие, которое требует, чтобы другая операционная система стала активной (например, пользователь вставляет диск Blu-ray). Иначе, устройство может быть настроено таким образом, что одна операционная система является активной по умолчанию при запуске.

2. Примеры теплой загрузки

Пример 3: В этом сценарии теплой загрузки операционная система A и операционная система B настроены так, чтобы работать индивидуально, а не одновременно. В этом примере операционная система A является первичной операционной системой и в настоящий момент управляет большинством аспектов устройства. Она обнаруживает, что пользователь пытается использовать признак, обеспечиваемый операционной системой B. Способ Примера 3 включает следующие этапы.

1. Сохранение идентифицированного требования признака в энергонезависимой памяти.

2. Сохранение требования операционной системы в энергонезависимой памяти.

3. Завершение выполнения операционной системы A.

4. Перезагрузка.

5. Считывание данных, сохраненных выше на этапе 2, и определение (совместно с загрузчиком) требуемой операционной системы. В этом примере это - операционная система B.

6. Загрузка операционной системы B.

7. Определение (с операционной системой B) требуемого признака чтением данных, сохраненных на этапе 1, выше.

8. Активизация, в случае необходимости, и использование (с операционной системой B) необходимых аппаратных ресурсов для удовлетворения требованиям признака. Переход от одной операционной системы к другой может быть выполнен постепенно для некоторых аппаратных ресурсов (например, дисплеи), таким образом, что их состояние (например, отображение меню в текущий момент ) полностью или частично сохраняется через передачу обслуживания от операционной системы А на операционную систему B, для снижения времени перехода и/или смягчения негативного воздействия на опыт пользователя.

9. Обеспечение (операционной системой B) затребованного признака.

Пример 4: Фиг.3 - блок-схема, показывающая приведенную в качестве примера методику (300) согласно модели теплой загрузки для использования признаков в различных операционных системах в устройстве, в котором операционные системы не работают одновременно. Методика (300), показанная на Фиг.3, отличается в некотором отношении от этапов в Примере 3, выше, все еще достигая постепенного перехода между двумя операционными системами.

В методике (300) загрузчик (305) активизирован и установлен флажок (310), показывая, должна ли быть загружена операционная система B. Если флажок установлен, начальную загрузку (315) устройства выполняет операционная система B и делает доступными (320) функциональные признаки, использующие операционную систему B. Альтернативно, кроме флажка, используются другие индикаторы для указания функций, которые будут выполнены, и/или операционных систем, которые будут использоваться.

Если обнаружено (325) изменение признака, операционная система определяет (330), поддерживает ли она новый признак. Если она не поддерживает новый признак, информация о признаке сохраняется (335) в энергонезависимой памяти. Загрузочный флажок сбрасывается, чтобы показать, что должна использоваться другая операционная система, и выполняется перезагрузка (340).

При перезагрузке (340) загрузчик (305) активируется и загрузочный флажок (310) указывает, что должна быть загружена операционная система A. Начальную загрузку (350) устройства выполняет операционная система А и делает доступными (320) функциональные признаки, использующие операционную систему А. Если обнаружено (360) изменение признака, операционная система определяет (365), поддерживает ли она новый признак. Если она не поддерживает новый признак, информация о признаке сохраняется (370) в энергонезависимой памяти и устройство может перезагрузиться (375) на операционную систему B.

Перезагрузки (340, 375) являются теплыми перезагрузками, так как они происходят после того, как устройство было включено. Одна типичная характеристика теплой перезагрузки операционной системы - то, что не все в операционной системе повторно инициализируется. Примеры функциональных возможностей теплой загрузки включают признаки "ожидание" или "спящий режим" в ноутбуках - некоторые состояния сохраняются, когда ноутбук переходит в ожидание или в спящий режим, так, что, когда ноутбук заново пробуждается, он может быстрее возобновить нормальную работу с того места, где она была оставлена.

B. Обсуждение

Примеры 1, 2, 3 и 4 выше отличаются от методик (иногда называемых методиками виртуализации), в которых первичная операционная система является ведущей для одной или больше сред операционных систем и все среды разделяют доступ к необходимым аппаратным ресурсам. Например, переходы операционных систем в Примерах 1, 2, 3 и 4 выше не обязательно являются результатом сознательного действия пользователя для переключения операционных систем, и при этом они не вызывают одну операционную систему, являющейся ведущей для другой операционной системы или эмулирующую платформу, на которой выполняется другая операционная система. У пользователя нет никакого понимания множественности операционных систем, доступных на устройстве.

Некоторые преимущества и усовершенствования для описанных реализаций включают снижение количества времени для выполнения переходов между операционными системами, необходимыми для специфичных функциональных возможностей, а также делающие переходы операционной системы малозаметными для пользователей.

Рассмотрим пример устройства, которое использует две операционных системы для охвата диапазона признаков. В этом примере устройства, операционная система A поддерживает воспроизведение мультимедиа с оптического диска, в то время как операционная система В поддерживает просмотр интернета. Операционная система В управляет устройством, в то время как пользователь просматривает Интернет. Если затем пользователь вставит оптический диск и нажмет кнопку "Проигрывать" на устройстве, то пользователь будет ожидать, что оптическое воспроизведение мультимедиа с оптического диска произойдет без специального действия пользователя для переключения с операционной системы В на операционную систему A. Описанные реализации позволяют скрыть от пользователя переходы операционной системы и выбор.

Как правило, когда операционная система и драйверы устройств загружены, драйвер устройства инициализирует аппаратные средства к известному состоянию. В случае видимого пользователем экрана или внешнего отображения, эта инициализация может закончиться заметным для пользователя нежелательным мерцанием, или может вызвать на внешнем дисплее кратковременную потерю синхронизации с сигналом устройства. Изменяя реализацию драйвера устройства для каждого экземпляра операционной системы, фаза инициализации может быть сделана с учетом текущего состояние дисплея, чтобы не выполнять ненужные этапы инициализации, которые закончились бы нежелательным мерцанием, повреждением, или потерей сигнала. Это - один пример того, как может быть спроектирована последовательность перезагрузки, чтобы сделать перемещение между операционными системами менее заметными пользователю.

III. Примеры реализации для устройств воспроизведения звука и видео

Этот раздел включает характерные примеры методик и инструментальных средств для обработки переходов операционной системы в мультимедийных устройствах, которые обрабатывают различные мультимедийные форматы (например, видеодисковые форматы) для звукового и видеовоспроизведения. В вариантах реализаций этапы, показанные в примерах ниже, могут быть переупорядочены, опущены или заменены другими этапами.

Например, примеры, которые описывают переключение со второй операционной системы на первую операционную систему, могут быть распространены на переключение назад на вторую операционную систему по умолчанию, после того, как запрошенный признак, поддерживаемый первой операционной системой больше не используется, или в ответ на последующее действие пользователя, которое использует признак, поддерживаемый второй операционной системой. Переходы между операционными системами могут продолжаться пока необходимо или задано. Примеры, которые определяют вторую операционную