АккумуляторMAX
BatteryMAX — это система обнаружения простоя, используемая для управления питанием компьютера под контролем операционной системы, разработанная в Digital Research, Inc. Европейском центре развития (EDC) компании в Хангерфорде, Великобритания. Он был создан для нового жанра портативных персональных компьютеров ( ноутбуков ), работающих от аккумулятора. Таким образом, он также был неотъемлемой частью операционной системы Novell PalmDOS 1.0, адаптированной для первых карманных компьютеров в 1992 году.
Описание
[ редактировать ]Экономия энергии в портативных компьютерах традиционно основывалась на таймерах бездействия оборудования, определяющих, находится ли компьютер в режиме ожидания. Обычно проходит несколько минут, прежде чем компьютер сможет определить поведение в режиме ожидания и переключиться в состояние с более низким энергопотреблением. Контролируя программные приложения изнутри операционной системы , BatteryMAX может сократить время, необходимое для обнаружения простоя, с минут до микросекунд. Более того, он может переключать состояния питания примерно 18 раз в секунду между нажатиями клавиш пользователя. Этот метод получил название Dynamic Idle Detection и включает в себя остановку или остановку процессора на периоды всего в несколько микросекунд, пока не произойдет аппаратное событие, требующее его перезапуска.
DR DOS 5.0, вышедшая в 1990 году, была первой для персональных компьютеров операционной системой , в которую была включена система обнаружения простоя для управления питанием. [1] [2] Его изобрели британские инженеры Роджер Алан Гросс и Джон П. Констант в августе 1989 года. [3] Патент США, описывающий систему обнаружения холостого хода, был подан 9 марта 1990 г. и выдан 11 октября 1994 г. [4]
Несмотря на раннее лидерство и защиту патента, BatteryMAX не добилась значительного коммерческого успеха, поскольку была отодвинута на второй план после беспорядка, последовавшего за интеграцией Digital Research в Novell, Inc. в 1991 году. Это продолжалось только в 1992 году, примерно через три года. после изобретения это программное управление питанием под управлением операционной системы стало повсеместным после запуска Advanced Power Management (APM) компаниями Microsoft и Intel .
Функциональный обзор
[ редактировать ]BatteryMAX использует технику динамического обнаружения простоя, чтобы обеспечить экономию энергии за счет определения того, что делает приложение (независимо от того, находится ли оно в режиме ожидания), и переключения состояний питания (перехода в режим низкого энергопотребления), что продлевает срок службы батареи продукта.
BatteryMAX использует многоуровневую модель программного обеспечения обнаружения, инкапсулированного в символьный драйвер устройства DOS, называемый $IDLE$
который содержит весь аппаратно-зависимый код для поддержки динамического обнаружения простоя. [5] Его можно либо связать с BIOS операционной системы DR-DOS , либо загрузить динамически с помощью директивы CONFIG.SYS DEVICE , перегружая встроенный драйвер по умолчанию. Все версии DR-DOS, начиная с версии 5.0, содержат поддержку динамического обнаружения простоя внутри ядра операционной системы . Когда операционная система считает, что приложение простаивает, она вызывает $IDLE$
Уровень BIOS/драйвера, который выполняет специальный код, написанный производителем компьютера или третьими сторонами, для проверки запроса и переключения состояний питания. Используя концепцию драйвера устройства, BatteryMAX можно интегрировать с аппаратными средствами управления питанием, которые могут предоставляться базовым оборудованием, включая взаимодействие с APM или ACPI системными BIOS .
Состояния питания зависят от компьютера и варьируются от производителя к производителю. Экономия энергии может быть достигнута несколькими способами, включая замедление/остановку тактовой частоты процессора или отключение питания целых подсистем.
Перед переключением состояний питания $IDLE$
Драйвер использует любую доступную аппаратную поддержку, чтобы определить, обращалось ли приложение к другим компонентам системы. Например, приложение может опрашивать последовательный порт или обновлять графический экран. В этом случае драйвер устройства определяет, что приложение на самом деле не простаивает, и отменяет вызов ядра о переключении состояний питания, передавая информацию обратно на уровни и позволяя возобновить выполнение приложения.
COMMAND.COM в DR DOS 5.0 и выше реализует внутреннюю команду. IDLE
принимая ON|OFF
параметры для включения или отключения динамического обнаружения простоя. [6]
Обнаружение бездействия приложения
[ редактировать ]Приложение простаивает, если оно ожидает возникновения какого-либо внешнего события, например нажатия клавиши или движения мыши, или прохождения фиксированного периода времени. Ядро DR-DOS отслеживает все вызовы DOS API , создавая профиль поведения приложений. Определенные комбинации вызовов API предполагают, что приложение простаивает.
The $IDLE$
Драйвер способен провести тонкое различие между программой, которая действительно простаивает, например, той, которая опрашивает клавиатуру в узком цикле, и той, которая активна, но также опрашивает клавиатуру, чтобы проверить, не была ли нажата клавиша отмены. Водитель делает это различие, отслеживая время, необходимое для простоя. Если время находится в пределах заданного периода, драйвер предполагает, что программа простаивает, например, в тесном цикле опрашивая клавишу, которую нужно нажать. Если время выходит за пределы указанного предела, драйвер предполагает, что между опросом клавиатуры произошла какая-то обработка, и позволяет возобновить выполнение приложения без переключения состояний питания. Локальная переменная IDLE_CNTDN определяет время, с которым сравнивается фактическое время простоя. Значение этой переменной динамически рассчитывается при инициализации и периодически пересчитывается.
Истоки BatteryMAX
[ редактировать ]Методика обнаружения простоя была впервые использована для улучшения многозадачности однозадачных приложений DOS в многозадачной/многопользовательской Concurrent DOS 386 операционной системе (CDOS386) компании Digital Research.
Программы, написанные для однозадачных операционных систем, таких как MS-DOS/PC DOS, могут работать в бесконечных циклах, пока их не прервут; например, когда пользователь ожидает нажатия клавиши. Хотя это не является проблемой, если нет других процессов, ожидающих запуска, это приводит к потере драгоценного процессорного времени, которое могло бы быть использовано другими программами в многозадачной/многопользовательской среде, такой как CDOS386. Приложения, разработанные для многозадачной среды, используют вызовы API для «сна», когда они простаивают в течение определенного периода времени, но обычные приложения DOS не делают этого, поэтому необходимо использовать обнаружение простоя.
Версия Concurrent DOS 386 включала в ядро операционной системы функцию обнаружения простоя, которая отслеживала вызовы API DOS, чтобы определить, выполняет ли приложение полезную работу или фактически простаивает. Если он простаивал, процесс приостанавливался, позволяя диспетчеру запланировать выполнение другого процесса.
Патентные споры
[ редактировать ]BatteryMAX и патент на «обнаружение простоя» сыграли важную роль в предполагаемом нарушении патентных прав, касающихся программного управления питанием под контролем операционной системы.
15 мая 2009 г. консультанты по интеллектуальной собственности St. Clair. подал гражданский иск № 09-354 в Окружной суд США в Делавэре против ответчиков Acer , Dell , Gateway и Lenovo , а 18 сентября 2009 г. подал гражданский иск № 09-704 против Apple и Toshiba. В действиях утверждалось нарушение им принадлежало несколько патентов США, касающихся управления питанием программного обеспечения под контролем операционной системы.
Сент-Клер утверждал, что Генри Фунг изобрел программное управление питанием под контролем операционной системы, и утверждал, что эти компании нарушили патенты Сент-Клера и, следовательно, задолжали Сент-Клеру выплаты роялти . Microsoft выступила от имени ответчиков и 7 апреля 2010 года подала декларативное решение против Сент-Клера, требуя признания ненарушения и недействительности патентов Фунга. (ДИ 1, СА № 10-282). Intel подала ходатайство от имени ответчиков, и оно было удовлетворено 4 июня 2010 г. (DI 178, CA № 09-354).
Юридическая фирма из Сиэтла Perkins Coie , выступающая от имени ответчиков, обнаружила патент BatteryMAX и Гросса на обнаружение простоя в ходе поиска по известному уровню техники . Патент Гросса имел более раннюю дату приоритета , чем патенты Фунга, что, если оно будет доказано, подорвет дело Сент-Клера. 28 февраля 2011 года Гросс был нанят Intel в качестве эксперта по предмету для предоставления свидетельских показаний обвиняемым по делу. Гросс представил доказательства В своем экспертном отчете того, что именно он, а не Фунг, изобрел программное управление питанием под контролем операционной системы, и в качестве доказательства этого привел патент Idle Detection и существование BatteryMAX.
Сент-Клер подал ходатайство об исключении заключений относительно BatteryMAX, пытаясь отклонить экспертное заключение Гросса, но 29 марта 2013 года окружной суд отклонил ходатайство Сент-Клера о признании показаний Гросса для обвиняемых допустимыми. [7] [ нужен неосновной источник ] заявляя, что «Суд согласен с Ответчиками в том, что существует достаточное подтверждающее доказательство того, что BatteryMAX был доступен общественности до даты приоритета патентов Фунга. Кроме того, Суд приходит к выводу, что даже если BatteryMAX не появился до патентов Фунга, показания г-на Гросса […] было бы актуально и полезно для лица, устанавливающего факты при расследовании очевидности ».
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Совместимая операционная система ПК может больше, чем MS-DOS и PC-DOS — Digital Research бросает вызов монополисту с помощью DR-DOS 5.0» . Компьютерная неделя (на немецком языке). ИДГ Бизнес Медиа ГмбХ . 06.07.1990. Архивировано из оригинала 25 июля 2019 г. Проверено 26 июля 2019 г.
- ^ Рош, Винн Л. (12 февраля 1991 г.). «DR DOS 5.0 — лучшая операционная система?» . Журнал ПК . Том. 10, нет. 3. стр. 241–246, 257, 264, 266. Архивировано из оригинала 25 июля 2019 г. Проверено 26 июля 2019 г.
- ^ Гласс, Бретт (27 мая 1991 г.). «DR DOS 5.0 повышает ценность для конкуренции с ведущим брендом» . Инфоморлд : 91–94 . Проверено 7 января 2017 г.
- ^ Патент США 5355501 , Гросс, Роджер Алан и Констант, Джон П., «Система обнаружения холостого хода», выдан 11 октября 1994 г.
- ^ Пол, Матиас Р. (30 июля 1997 г.) [1 мая 1994 г.]. NWDOS-TIPs — Советы и рекомендации по Novell DOS 7 с учетом недокументированных подробностей, ошибок и обходных путей . Выпуск 157 (на немецком языке) (3-е изд.). Архивировано из оригинала 10 сентября 2017 г. Проверено 6 августа 2014 г.
{{cite book}}
:|work=
игнорируется ( помощь ) (Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01, включая описание многих недокументированных функций и внутренних устройств. Это часть еще более обширной работы автора.MPDOSTIP.ZIP
Коллекция сохранялась до 2001 года и в то время распространялась на многих сайтах. Предоставленная ссылка указывает на более старую версию файла, преобразованную в HTML.NWDOSTIP.TXT
файл.) [1] - ^ Пол, Маттиас Р. (13 апреля 1997 г.) [1 декабря 1993 г.]. функций DR DOS документированных и недокументированных Краткое изложение 6.0 Выпуск 60 (на немецком языке). Архивировано из оригинала 11 октября 2018 г. Проверено 14 августа 2019 г.
{{cite book}}
:|work=
игнорируется ( помощь ) [2] - ^ «В Окружном суде США по округу Делавэр – объединенный гражданский иск № 09-354-LPS: St. Clair Intellectual Property Consultants, Inc. (истец) против Acer Inc. и др. (ответчики); Гражданский иск № 10-282-LPS: Microsoft, Inc. (Истец) против St. Clair Intellectual Property Consultants, Inc. (Ответчик)» (PDF) (Меморандум). 2013-03-29. Архивировано из оригинала (PDF) 30 декабря 2016 г.
Внешние ссылки
[ редактировать ]- «Реализация управления питанием (BatteryMAX) в DR-DOS» . Caldera, Inc., 1997. Архивировано из оригинала 8 января 2017 г. Проверено 8 января 2017 г.