RU2397539C2 - Обновления драйвера дисплея без перезагрузки - Google Patents

Обновления драйвера дисплея без перезагрузки Download PDF

Info

Publication number
RU2397539C2
RU2397539C2 RU2008117123/09A RU2008117123A RU2397539C2 RU 2397539 C2 RU2397539 C2 RU 2397539C2 RU 2008117123/09 A RU2008117123/09 A RU 2008117123/09A RU 2008117123 A RU2008117123 A RU 2008117123A RU 2397539 C2 RU2397539 C2 RU 2397539C2
Authority
RU
Russia
Prior art keywords
display driver
driver
hardware
computer system
oriented
Prior art date
Application number
RU2008117123/09A
Other languages
English (en)
Other versions
RU2008117123A (ru
Inventor
Маркус Дж. ЭНДРЮС (US)
Маркус Дж. ЭНДРЮС
Макс А. МАК-МАЛЛЕН (US)
Макс А. МАК-МАЛЛЕН
Самир А. НЕНЕ (US)
Самир А. НЕНЕ
Юссеф М. БАРАКАТ (US)
Юссеф М. БАРАКАТ
Амит А. ЧИТРЕ (US)
Амит А. ЧИТРЕ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37998133&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=RU2397539(C2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008117123A publication Critical patent/RU2008117123A/ru
Application granted granted Critical
Publication of RU2397539C2 publication Critical patent/RU2397539C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

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

Description

Уровень техники
Обновление аппаратно-ориентированного драйвера дисплея (т.е. драйвера дисплея, который может использоваться для управления отображением видеографики, связанным с частью аппаратных средств) всегда требует перезагрузки. Такой аппаратно-ориентированный драйвер дисплея может называться драйвером дисплея независимого поставщика оборудования (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 или другие клиентские устройства могут быть развернуты в качестве части компьютерной сети. В этом отношении настоящее изобретение относится к любой компьютерной системе, имеющей любое число запоминающих устройств или устройств хранения и любое число приложений и процессов, происходящих в любом числе устройств и томов хранения. Вариант осуществления настоящего изобретения может применяться к окружению с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевом окружении, имеющем удаленное или локальное устройство хранения. Настоящее изобретение также может применяться к автономному вычислительному устройству, имеющему функциональность языка программирования, возможности интерпретации и исполнения.
Таким образом, были описаны системы и способы обновления драйвера видеодисплея без перезагрузки. Хотя изобретение было описано в связи с определенными предпочтительными вариантами осуществления, изображенными на различных чертежах, следует понимать, что другие подобные варианты осуществления могут использоваться, и что модификации или добавления могут быть сделаны в описанных вариантах осуществления для применения на практике изобретения без отклонения от него. Поэтому настоящее изобретение не должно быть ограничено каким-либо одним вариантом осуществления, а вместо этого должно быть истолковано в широте и рамках применения в соответствии с прилагаемой формулой изобретения.

Claims (17)

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, в котором, после того как функционирующий в текущий момент аппаратно-ориентированный драйвер дисплея остановлен, выделяются достаточные ресурсы, чтобы позволить функционировать временному драйверу видеодисплея.
RU2008117123/09A 2005-10-31 2006-10-03 Обновления драйвера дисплея без перезагрузки RU2397539C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/263,765 US8056072B2 (en) 2005-10-31 2005-10-31 Rebootless display driver upgrades
US11/263,765 2005-10-31

Publications (2)

Publication Number Publication Date
RU2008117123A RU2008117123A (ru) 2009-11-10
RU2397539C2 true RU2397539C2 (ru) 2010-08-20

Family

ID=37998133

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008117123/09A RU2397539C2 (ru) 2005-10-31 2006-10-03 Обновления драйвера дисплея без перезагрузки

Country Status (8)

Country Link
US (2) US8056072B2 (ru)
EP (1) EP1946221A4 (ru)
JP (1) JP5038321B2 (ru)
KR (1) KR101343176B1 (ru)
CN (1) CN101297284B (ru)
BR (1) BRPI0617793A2 (ru)
RU (1) RU2397539C2 (ru)
WO (1) WO2007053260A1 (ru)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8056072B2 (en) * 2005-10-31 2011-11-08 Microsoft Corporation Rebootless display driver upgrades
US8561050B2 (en) * 2005-11-10 2013-10-15 Hewlett-Packard Development Company, L.P. Method and system for updating an application
US8127310B1 (en) * 2007-03-26 2012-02-28 Celio Corporation Method and apparatus for dynamically switching display drivers in mobile device operating system
JP5007154B2 (ja) * 2007-05-25 2012-08-22 クラリオン株式会社 情報処理装置
US9292069B1 (en) * 2007-11-12 2016-03-22 Nvidia Corporation System and method for controlling mode switches in hardware
CN101520757A (zh) * 2009-04-07 2009-09-02 深圳华为通信技术有限公司 设备驱动方法、装置及通信系统
CN101655801B (zh) * 2009-09-11 2013-12-18 华为技术有限公司 驱动软件升级的方法及装置
US8505003B2 (en) * 2010-04-28 2013-08-06 Novell, Inc. System and method for upgrading kernels in cloud computing environments
CN102004655B (zh) * 2010-11-25 2013-06-19 飞天诚信科技股份有限公司 自动安装驱动程序的装置及方法
US8830228B2 (en) * 2010-12-20 2014-09-09 Microsoft Corporation Techniques for enabling remote management of servers configured with graphics processors
US8959142B2 (en) 2012-02-29 2015-02-17 Microsoft Corporation Combining server-side and client-side user interface elements
US8972964B2 (en) * 2012-07-26 2015-03-03 Unisys Corporation Dynamic firmware updating system for use in translated computing environments
CN103761126B (zh) * 2014-01-07 2017-03-15 中国神华能源股份有限公司 应用程序的升级方法和装置
KR20150102376A (ko) * 2014-02-28 2015-09-07 한국전자통신연구원 운영 환경의 변화에 적응하는 시스템 업그레이드와 진화 기법 및 그 시스템
CN105760242B (zh) * 2015-06-19 2018-12-11 深圳怡化电脑股份有限公司 自助设备的驱动程序自适应方法及装置
US10831394B2 (en) 2018-08-27 2020-11-10 International Business Machines Corporation Live upgrade of storage device driver using shim application

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654738A (en) 1993-05-17 1997-08-05 Compaq Computer Corporation File-based video display mode setup
GB2282245B (en) 1993-09-23 1998-04-15 Advanced Risc Mach Ltd Execution of data processing instructions
US5682529A (en) 1994-03-14 1997-10-28 Apple Computer, Inc. System for dynamically accommodating changes in display configuration by notifying changes to currently running application programs to generate information by application programs to conform to changed configuration
JP3451499B2 (ja) 1994-08-29 2003-09-29 日本電信電話株式会社 入出力装置制御システム構成の変更処理方法
US5831639A (en) 1995-07-05 1998-11-03 Symantec Corporation Scanning display driver
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6009480A (en) * 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device
US5889965A (en) * 1997-10-01 1999-03-30 Micron Electronics, Inc. Method for the hot swap of a network adapter on a system including a dynamically loaded adapter driver
JP3287295B2 (ja) 1998-01-16 2002-06-04 日本電気株式会社 オペレーティングシステム
US6035355A (en) * 1998-04-27 2000-03-07 International Business Machines Corporation PCI system and adapter requirements following reset
US6282646B1 (en) 1998-05-08 2001-08-28 Apple Computer, Inc. System for real-time adaptation to changes in display configuration
TW385408B (en) 1998-08-26 2000-03-21 Inventec Corp Configuration method for installing plug-and-play device
RU2237275C2 (ru) 1999-02-18 2004-09-27 Ситрикс Системз, Инк. Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер
US6832312B1 (en) 1999-12-22 2004-12-14 Evga.Com Process for automatically installing video display software upon detecting new video display controller
US6658489B1 (en) 2000-03-29 2003-12-02 International Business Machines Corporation Method for replacing a device driver during system operation
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
CZ302990B6 (cs) 2000-07-06 2012-02-08 Daiichi Sankyo Company, Limited Adicní soli derivátu hydropyridinu s kyselinou chlorovodíkovou a maleinovou, príprava a použití
KR100520058B1 (ko) 2000-12-13 2005-10-11 삼성전자주식회사 디바이스드라이버 업그레이드 시스템 및 디바이스드라이버업그레이드 방법
US7080247B2 (en) 2000-12-22 2006-07-18 Evga Corporation System and method for automated display driver management
JP3984895B2 (ja) 2001-10-03 2007-10-03 キヤノン株式会社 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
US7506147B2 (en) * 2002-02-04 2009-03-17 Sonus Networks, Inc. Policy distribution point for setting up network-based services
US20040019896A1 (en) 2002-07-23 2004-01-29 Wen-Chu Yu Method of automatic program installation for computer device
US7007049B2 (en) 2002-11-18 2006-02-28 Innopath Software, Inc. Device memory management during electronic file updating
US7197751B2 (en) 2003-03-12 2007-03-27 Oracle International Corp. Real-time collaboration client
US7457831B2 (en) 2003-03-31 2008-11-25 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8056072B2 (en) * 2005-10-31 2011-11-08 Microsoft Corporation Rebootless display driver upgrades

Also Published As

Publication number Publication date
KR20080067633A (ko) 2008-07-21
BRPI0617793A2 (pt) 2011-08-09
US8056072B2 (en) 2011-11-08
CN101297284B (zh) 2012-07-18
EP1946221A1 (en) 2008-07-23
JP2009514122A (ja) 2009-04-02
US8302089B2 (en) 2012-10-30
EP1946221A4 (en) 2009-01-14
WO2007053260A1 (en) 2007-05-10
KR101343176B1 (ko) 2013-12-19
CN101297284A (zh) 2008-10-29
US20110321027A1 (en) 2011-12-29
RU2008117123A (ru) 2009-11-10
US20070101343A1 (en) 2007-05-03
JP5038321B2 (ja) 2012-10-03

Similar Documents

Publication Publication Date Title
RU2397539C2 (ru) Обновления драйвера дисплея без перезагрузки
JP5569197B2 (ja) 計算機装置およびリセット制御プログラム
US8527982B1 (en) Auto install virtual machine monitor
JP4738534B2 (ja) 複数のブート可能装置間のブートネゴシエーション
US7421620B2 (en) Configuration proxy service for the extended firmware interface environment
US6684327B1 (en) Extensible, flexible, memory efficient technique for network boot without special DHCP/PXE hardware
US9934049B1 (en) Method for creation of device drivers and device objects for peripheral devices
US7631173B2 (en) Method and system for performing pre-boot operations from an external memory including memory address and geometry
TWI557572B (zh) 用於在主機與行動裝置間之任務的雙向動態卸載之方法、系統及電腦可讀儲存裝置(一)
US20020112090A1 (en) Method, system, and product for a java-based desktop to provide window manager services on UNIX
US7886140B2 (en) Booting a computer using a boot list when a non-volatile memory on the computer does not contain the boot list
JP2009512020A (ja) オペレーティングシステムの停止状態からの高速起動
US20030208573A1 (en) Remote execution of software using windows management instrumentation
US6829725B2 (en) Fault resistant operating system
US6715043B1 (en) Method and system for providing memory-based device emulation
US11307887B2 (en) Server deployment method and system in hypervisor architecture
JP2006164266A (ja) オペレーティングシステムのパフォーマンスの改善
US20230012979A1 (en) Containerized firmware services
US20190196846A1 (en) Information processing system, container management apparatus, and container management method
US10379872B1 (en) Method for creation of a device driver for a peripheral device
US8583837B2 (en) Systems and methods for input/output isolation
JP5275456B2 (ja) ハイパーバイザーを使用したディスクレスクライアント
US20220374244A1 (en) Systems and methods to control software version when deploying os application software from the boot firmware
US6915418B2 (en) Interrupt 21h ROM client loader and payload delivery method
CN115033139B (zh) 启动应用程序界面的方法及相关装置

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526