ОБНОВЛЕНИЯ ДРАЙВЕРА ДИСПЛЕЯ БЕЗ ПЕРЕЗАГРУЗКИ Российский патент 2010 года по МПК G06F17/00 

Описание патента на изобретение RU2397539C2

Уровень техники

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

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

Желательно, тем не менее, чтобы драйвер дисплея мог обновляться без необходимости перезагрузки при сохранении определенной функциональности, такой как 2D, например, и состояния операционной системы.

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

Как раскрыто в данном документе, функционирующий в настоящий момент аппаратно-ориентированный драйвер дисплея может быть динамически переключен на новый драйвер дисплея, в то время как аппаратные средства все еще работают. Такой способ может включать в себя три этапа. Первый, по запросу на обновление функционирующего в настоящий момент драйвера операционная система останавливает работу драйвера. Второй, система переключается на промежуточный или временный драйвер дисплея. Временный драйвер дисплея может быть драйвером по умолчанию, предоставленным с операционной системой (таким как VGA-драйвер, предоставленный с операционной системой Microsoft WINDOWS). Третий, запускается новый аппаратно-ориентированный драйвер. 3D-состояние восстанавливается, и GPU продолжает работать в обычном режиме, с полной функциональностью. Таким образом, аппаратно-ориентированный драйвер дисплея может быть обновлен без перезагрузки.

Краткое описание чертежей

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

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

Фиг. 3 является блок-схемой способа запуска нового аппаратно-ориентированного драйвера дисплея.

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

Осуществление изобретения

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

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

На этапе 30 функционирующий в настоящий момент аппаратно-зависимый драйвер останавливается. Способ остановки функционирующего в настоящий момент аппаратно-ориентированного драйвера дисплея описывается подробно ниже в связи с фиг. 2.

На этапе 40 управление переключается на временный драйвер дисплея. Временный драйвер дисплея может быть драйвером по умолчанию, предоставленным с операционной системой (таким как VGA-драйвер, предоставленный с операционной системой Microsoft WINDOWS). Когда функционирующий в настоящий момент аппаратно-ориентированный драйвер дисплея останавливается, не существует драйвера дисплея, функционирующего в системе. Это закончится черным экраном и неприятным сценарием для пользователя. Чтобы избежать этого, теперь начинает использоваться VGA-драйвер, который уже загружен в систему. Пока устанавливается новый аппаратно-ориентированный драйвер, рабочий стол отображается с помощью VGA-драйвера.

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

На этапе 50 запускается обновленный аппаратно-ориентированный драйвер дисплея. Способ запуска нового аппаратно-ориентированного драйвера дисплея описывается подробно ниже в связи с фиг. 3. Таким образом, аппаратно-ориентированный драйвер дисплея может быть обновлен без перезагрузки.

Фиг. 2 является блок-схемой способа остановки функционирующего в настоящий момент аппаратно-ориентированного драйвера дисплея. Когда пользователь запускает обновление функционирующего в настоящий момент драйвера дисплея, он начинает последовательность остановки устройства и его обновления. На этапе 31 менеджер механизма "подключи-и-работай" (plug and play, сокращенно PnP), видя запрос обновления драйвера (из пользовательского запуска, например, посредством загрузки нового драйвера из сети и т.д.), начинает этот процесс, отправляя уведомляющее сообщение, такое как пакет запроса ввода/вывода (IRP) в стек графического устройства. Уведомляющее сообщение приказывает устройству сделать все, что оно должно сделать, чтобы освободить все зависимости от программного обеспечения драйвера дисплея. Этот IRP может обрабатываться субкомпонентом (DxgPort) ядра операционной системы (DxgKrnl.sys).

Существуют две категории клиентов, которые должны быть приостановлены. Первая, Win32K, более старая (2D) часть графического стека в WINDOWS (GDI) останавливается на этапе 32. Оболочка операционной системы уведомляется об остановке использования устройства. Также, ядро приостанавливает всех клиентов.

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

На этапе 34, видя запрос менеджера PnP, DxgPort вызовет IHV драйвер в режиме ядра через свою зарегистрированную "DmStopDevice" DDI. Операционная система информирует драйвер дисплея, чтобы освободить любую память, например, или что-нибудь еще, что драйвер дисплея должен очистить. IHV драйвер отвечает за очистку своего состояния в этой функции. Он освобождает все удерживаемые ресурсы и уничтожает все активности, которые драйвер запустил в функции DmStartDevice.

После этапа 34, всякий раз, когда приложение вызывает графику, приложению сообщается о том, что аппаратные средства недоступны и что приложение должно очистить любые его ресурсы. На этапе 35 рабочая среда DirectX принимает уведомление "Устройство потеряно" от DxgKrnl. Это уведомление пересылается на этапе 36 приложениям DirectX. Новые приложения DirectX9L уничтожат свои объекты устройств. DirectX9 и ранее написанные приложения могут уничтожить или могут не уничтожить устройство. Следует понимать, что DirectX ссылается на графику WINDOWS 3D (dxg=графика directX).

Предпочтительно, приложения уведомляются о новом драйвере, только когда они вызовут графику. То есть, когда они захотят использовать старый драйвер, им сообщается, что он недоступен. Затем новые приложения DirectX9L перенаправляют себя на новый драйвер (который является обновленным IHV драйвером). Когда DirectX9 и ранее написанные приложения нашли, что старый драйвер был выгружен, рабочая среда D3D обманывает приложения, притворяясь, что драйвер все еще существует.

Фиг. 3 является блок-схемой способа запуска нового аппаратно-ориентированного драйвера дисплея. После того как файлы драйвера были успешно скопированы, механизм установки информирует менеджер PnP. Затем менеджер PnP загружает новый драйвер устройства в память. На этапе 51 менеджер PnP отправляет стеку графики (dxgport) уведомляющее сообщение, чтобы добавить новое устройство. Менеджер PnP затем вызовет процедуру "AddDevice" в DxgPort и потом драйвер IHV. На этапе 52 менеджер PnP отправляет стеку графики уведомляющее сообщение (IRP), чтобы запустить новое устройство.

На этапе 53 ядро (стек графики) останавливает временный драйвер. Предпочтительно, VGA-драйвер теперь останавливает работу, но все еще загружен. На мгновение может возникнуть черный экран.

На этапе 54 стек графики вызывает обновленный драйвер видеодисплея через интерфейс "устройство-драйвер" ("DDI"), который инициализирует аппаратные средства графики и выделяет необходимые для драйвера дисплея ресурсы. Стек графики приказывает новому драйверу IHV запуститься. На этапе 55 стек графики уведомляет ядро о том, чтобы создать соответствующие объекты для адаптера. Они были уничтожены, когда устройство было остановлено.

На этапе 56 восстанавливаются объекты 2D-графики. Win32K уведомляется о том, чтобы создать соответствующие виды и свои объекты графического устройства. Объекты монитора в этот момент также создаются на этой стадии через стек графики ядра. На этапе 57 восстанавливаются объекты 3D-графики. Программное обеспечение 3D-графики требует, чтобы приложения повторно создали свои объекты устройства, после чего приложения могут повторно начать воспроизведение изображения, т.е., использование нового и обновленного драйвера.

Примерное вычислительное окружение

Фиг. 4 и последующее обсуждение предназначены, чтобы предоставить краткое общее описание подходящего вычислительного окружения, в котором может быть реализован примерный вариант осуществления изобретения. Тем не менее, следует понимать, что карманные, портативные и другие вычислительные устройства всех типов рассматриваются для использования с настоящим изобретением. Хотя ниже описан компьютер общего назначения, это лишь один пример. Настоящее изобретение может также работать на «тонком» клиенте, имеющем возможность взаимодействия в качестве сетевого сервера. Таким образом, примерный вариант осуществления изобретения может быть реализован в окружении сетевых размещаемых служб, в которых привлекается немного или минимум клиентских ресурсов, к примеру, в сетевом окружении, в котором клиентское устройство выступает просто как обозреватель или интерфейс к всемирной сети.

Хотя и не обязательно, изобретение может быть реализовано посредством интерфейса прикладного программирования (API) для использования разработчиком или тестирующим и/или включено в сетевое программное обеспечение просмотра, которое будет описано в общем контексте исполняемых компьютером инструкций, таких как программные модули, приводимые в исполнение одним или более компьютерами (к примеру, клиентскими рабочими станциями, серверами и другими устройствами). Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. В типичном варианте функциональность программных модулей может быть объединена или распространена, как требуется в различных вариантах осуществления. Более того, специалисты в данной области техники примут во внимание, что изобретение может быть использовано на практике с другими конфигурациями компьютерных систем. Другие широко распространенные вычислительные системы, окружения и/или конфигурации, которые могут быть подходящими для использования с изобретением, включают в себя (но не только) персональные компьютеры (РС), банковские автоматы, серверные компьютеры, "карманные" компьютеры или портативные компьютеры, многопроцессорные системы, системы на базе микропроцессоров, программируемую бытовую электронную аппаратуру, сетевые РС, миникомпьютеры, мейнфреймы, и т.п. Вариант осуществления изобретения может также быть реализован на практике в распределенных вычислительных окружениях, в которых задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи или другую среду передачи данных. В распределенном вычислительном окружении программные модули могут быть расположены в носителе хранения и локального, и удаленного компьютера, включая в себя запоминающие устройства хранения.

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

Относительно фиг. 4, примерная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не только, обрабатывающий блок 120, системную память 130 и системную шину 121, которая соединяет различные компоненты системы, включая системную память, с обрабатывающим блоком 120. Системная шина 121 может быть любой из некоторых типов шинных структур, включающих в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из многообразия шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину взаимосвязи периферийных компонентов (PCI), также известную как " шина расширения".

Компьютер 110 в типичном варианте включает в себя многообразие машиночитаемых носителей. Машиночитаемые носители могут быть любыми имеющимися в распоряжении носителями, к которым может быть осуществлен доступ компьютером 110, и включают в себя как энергозависимые и энергонезависимые, так и съемные и несъемные носители. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные запоминающие носители и среду передачи данных. Компьютерный запоминающий носитель включает в себя как энергозависимые и энергонезависимые носители, так и съемные и несъемные носители, реализованные в рамках любого способа или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Носитель хранения компьютера включает в себя, но не только, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое и программируемое постоянное запоминающее устройство (EEPROM), флэш-память или другую технологию памяти, постоянное запоминающее устройство на компакт-диске (диски CD-ROM), универсальные цифровые диски (DVD) или другое оптическое дисковое устройство хранения, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные устройства хранения, или любые другие носители, которые могут быть использованы для сохранения желаемой информации и которые могут быть доступны посредством компьютера 110. Среда связи в типичном варианте объединяет машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированных сигналах данных, таких как несущая волна или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который обладает одной или несколькими характеристиками, заданными или измененными таким способом, как кодирование информации в сигнале. Для примера, но не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая среда, радиочастота, инфракрасное излучение и другая беспроводная среда. Комбинации любых из вышеприведенных также должны быть включены в объем машиночитаемых носителей.

Системная память 130 включает в себя носитель хранения компьютера в виде энергозависимой и/или энергонезависимой памяти, такой как ROM 131 и RAM 132. Базовая система 133 ввода/вывода (BIOS), содержащая в себе базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 110, к примеру, во время запуска, в типичном варианте сохранена в ROM 131. RAM 132 в типичном варианте содержит в себе данные и/или программные модули, которые непосредственно доступны и/или являются собственно выполняемыми обрабатывающим блоком 120. В качестве примера, но не ограничения, фиг. 4 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137. RAM 132 может содержать другие данные и/или программные модули.

Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения. Только в качестве примера фиг. 4 иллюстрирует накопитель 141 на жестком диске, который считывает из или записывает на несъемный энергонезависимый магнитный носитель, накопитель 151 на магнитных дисках, который считывает из или записывает на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптических дисках, который считывает с или записывает на съемный энергонезависимый оптический диск 156, такой как CD-ROM, или другой оптический носитель. Другой съемный/несъемный, энергозависимый/энергонезависимый носитель хранения компьютера, который может быть использован в примерном вычислительном окружении, включает в себя, но без ограничения, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и подобное. Накопитель 141 на жестком диске в типичном варианте подключен к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140, а накопитель 151 на магнитном диске и накопитель 155 на оптическом диске в типичном варианте подключены к системной шине 121 посредством интерфейса съемной памяти, такого как интерфейс 150.

Накопители и связанный с ним носитель хранения компьютера, обсужденные выше и проиллюстрированные на фиг. 4, предоставляют хранение машиночитаемых инструкций, структур данных, программных модулей, и других данных для компьютера 110. На фиг. 4, например, накопитель 141 на жестких дисках проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут либо быть такими же как или отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 даны в настоящем документе с разными номерами, чтобы проиллюстрировать, что, как минимум, они являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указательное устройство 161, обычно называемое мышью, шаровой манипулятор (трекбол) или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или тому подобное. Эти и другие устройства ввода часто подключены к обрабатывающему блоку 120a-f посредством пользовательского интерфейса 160 ввода данных, который соединен с системной шиной 121, однако могут быть подключены по другому интерфейсу и структурам шин, таким как параллельный порт, игровой порт или универсальная последовательная шина (USB).

Монитор 191 или другой тип дисплейного устройства также подключен к системной шине 121 посредством такого интерфейса, как видеоинтерфейс 190. Помимо монитора 191, компьютеры могут также включать в себя другие периферийные устройства вывода, например, динамики 197 и принтер 196, которые могут быть подключены средствами периферийного интерфейса 195 вывода.

Компьютер 110 может работать в сетевом окружении, использующем логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленным компьютером 180 может быть РС, сервер, маршрутизатор, сетевой РС, одноранговое устройство или другой общий узел сети, и она в типичном варианте включает в себя многие или все элементы, описанные выше относительно компьютера 110, хотя на фиг. 4 проиллюстрировано только запоминающее устройство 181 хранения. Логические соединения, показанные на фиг. 4, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет и Интернет.

Когда используется в сетевом окружении LAN, компьютер 110 подключен к LAN 171 через сетевой интерфейс или адаптер 170. Когда используется в сетевом окружении WAN, компьютер 110 в типичном варианте включает в себя модем 172 или другое средство для установления связи по WAN 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через интерфейс 160 пользовательского ввода или с использованием другого подходящего устройства. В сетевом окружении программные модули, изображенные относительно компьютера 110, или их части, могут быть сохранены в удаленном запоминающем устройстве хранения. В качестве примера, а не ограничения, фиг. 4 иллюстрирует удаленные прикладные программы 185 как находящиеся на запоминающем устройстве 181. Должно быть очевидно, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.

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

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

Похожие патенты RU2397539C2

название год авторы номер документа
РАСШИРЯЕМАЯ АРХИТЕКТУРА ДЛЯ ВСПОМОГАТЕЛЬНЫХ ДИСПЛЕЕВ 2005
  • Фуллер Эндрю Дж.
  • Поливи Дэниел Дж.
  • Ротен Мэттью П.
  • Бернстейн Майкл С.
  • Уинн Роджер Х.
RU2406119C2
СПОСОБ И СИСТЕМА ДЛЯ ОБМЕНА ДАННЫМИ МЕЖДУ КОМПЬЮТЕРНЫМИ СИСТЕМАМИ И ВСПОМОГАТЕЛЬНЫМИ ДИСПЛЕЯМИ 2005
  • Фуллер Эндрю Дж.
  • Поливи Дэниел Дж.
  • Ротен Мэттью П.
  • Бернстейн Майкл С.
  • Уинн Роджер Х.
RU2400802C2
СПОСОБ ВЫПОЛНЕНИЯ ОБРАЩЕНИЯ К ПРОЦЕДУРАМ ЗАГРУЗОЧНОГО ДРАЙВЕРА 2014
  • Русаков Вячеслав Евгеньевич
  • Киржеманов Андрей Леонидович
  • Паршин Юрий Геннадьевич
RU2586576C1
МИГРИРОВАНИЕ ВИРТУАЛЬНОЙ МАШИНЫ, КОТОРАЯ ВЛАДЕЕТ РЕСУРСОМ, ТАКИМ, КАК АППАРАТНОЕ УСТРОЙСТВО 2007
  • Ошинс Джейкоб
RU2436149C2
АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ USB В ИГРОВОЙ МАШИНЕ 2004
  • Лэм Рекс Йинзок
  • Кураиши Надим Ахмад
  • Лимэй Стивен Дж.
RU2331927C9
ПРОЦЕДУРЫ ЗАГРУЗКИ ДЛЯ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ 2004
  • Кураиши Надим Ахмад
  • Лэм Рекс Йинзок
  • Пикеринг Роберт Лилэнд
  • Куна Венката Дхананджайа
  • Пэтил Сангшетти
  • Лимэй Стивен Дж.
RU2331928C9
ЭНТРОПИЙНЫЙ КОДЕР ДЛЯ СЖАТИЯ ИЗОБРАЖЕНИЯ 2011
  • Абдо Надим Й.
RU2575679C2
ПРОСТАЯ И ДИНАМИЧЕСКАЯ КОНФИГУРАЦИЯ СЕТЕВЫХ УСТРОЙСТВ 2004
  • Сэзер Дэйл А.
  • Симонне Гийом
  • Гельсен Джон М.
  • Джафф Косар А.
  • Лайп Ральф А.
  • Айала Роланд Дж.
  • Чань Шэннон Дж.
  • Кюнель Томас В.
  • Пэрри Уилльямс Г.
RU2383921C2
ТРАНСЛЯЦИЯ ДОКУМЕНТОВ ДЛЯ СЕТЕВОЙ ПЕЧАТИ НА КЛИЕНТЕ 2003
  • Лоренс Марк А.
  • Кирали Стивен
RU2349953C2
МЕХАНИЗМ ПРОТИВ МОШЕННИЧЕСТВА НА ОСНОВЕ ДОВЕРЕННОГО ОБЪЕКТА 2010
  • Рэй Кеннет Д.
  • Алкоув Джеймс М.
  • Макмайкл Лонни Дин
  • Льюис Натан Т.
  • Шнелль Патрик
RU2541879C2

Иллюстрации к изобретению RU 2 397 539 C2

Реферат патента 2010 года ОБНОВЛЕНИЯ ДРАЙВЕРА ДИСПЛЕЯ БЕЗ ПЕРЕЗАГРУЗКИ

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

Формула изобретения RU 2 397 539 C2

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

2. Способ по п.1, дополнительно содержащий этапы, на которых
обнаруживают запрос обновления драйвера дисплея; и останавливают функционирующий в текущий момент аппаратно-ориентированный драйвер дисплея в ответ на запрос обновления.

3. Способ по п.1, дополнительно содержащий этап, на котором механизм установки копирует файлы, связанные с обновленным драйвером дисплея, в память на главной компьютерной системе.

4. Способ по п.1, в котором временный драйвер дисплея является драйвером по умолчанию, предоставленным с операционной системой, функционирующей на главной компьютерной системе.

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

6. Способ по п.1, в котором остановка функционирующего в текущий момент аппаратно-ориентированного драйвера дисплея содержит этап, на котором менеджер механизма «подключи-и-работай» (PnP) отправляет стеку графического устройства уведомление о том, чтобы освободить зависимость от программного обеспечения драйвера дисплея.

7. Способ по п.1, в котором остановка функционирующего в текущий момент аппаратно-ориентированного драйвера дисплея содержит этап, на котором приостанавливают клиента видеодисплея.

8. Способ по п.1, в котором остановка функционирующего в текущий момент аппаратно-ориентированного драйвера дисплея содержит этап, на котором информируют драйвер дисплея об очистке его состояния.

9. Способ по п.1, в котором запуск обновленного аппаратно-ориентированного драйвера дисплея содержит этап, на котором менеджер механизма PnP отправляет стеку графического устройства уведомление начать процедуры, чтобы добавить и запустить новое устройство, чтобы инициировать использование обновленного аппаратно-ориентированного драйвера дисплея.

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

11. Способ по п.10, в котором вызов из приложения принимается после того, как первый драйвер дисплея остановлен.

12. Способ по п.10, дополнительно содержащий этап, на котором
запускают третий драйвер видеодисплея, связанный с существующим устройством аппаратных средств после запуска второго драйвера дисплея.

13. Способ по п.12, в котором третий драйвер видеодисплея запускается после того, как принимается вызов из приложения.

14. Способ по п.10, дополнительно содержащий этап, на котором
имитируют первый драйвер дисплея для приложения до тех пор, пока приложение не перенаправит себя на второй драйвер дисплея.

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

16. Способ по п.15, в котором временный драйвер видеодисплея является драйвером по умолчанию, предоставленным с операционной системой, функционирующей на главной компьютерной системе.

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

Документы, цитированные в отчете о поиске Патент 2010 года RU2397539C2

СЕРВЕР И СПОСОБ (ВАРИАНТЫ) ОПРЕДЕЛЕНИЯ ПРОГРАММНОГО ОКРУЖЕНИЯ КЛИЕНТСКОГО УЗЛА В СЕТИ С АРХИТЕКТУРОЙ КЛИЕНТ/СЕРВЕР 1999
  • Дуурсма Мартин
  • Панасюк Анатолий
  • Унгерман Энтони
  • Педерсен Брэдли Джей
  • Дэвис Том С. Iii
  • Блумфилд Марк А.
  • Сиралдо Роберт
RU2237275C2
ВЫПОЛНЕНИЕ ИНСТРУКЦИИ ОБРАБОТКИ ДАННЫХ 1994
  • Дэвид Вивиан Джаггар
RU2137182C1
US 5889965 A, 30.03.1999
US 6009480 A, 28.12.1999.

RU 2 397 539 C2

Авторы

Эндрюс Маркус Дж.

Мак-Маллен Макс А.

Нене Самир А.

Баракат Юссеф М.

Читре Амит А.

Даты

2010-08-20Публикация

2006-10-03Подача