Перейти к содержимому

Legacy driver что это

  • автор:

Legacy driver что это

Классификация драйверов

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

По расположению в стеке драйверов:

Драйверы высшего уровня — получают запросы от пользовательского приложения и взаимодействуют с нижестоящими драйверами;

Промежуточные драйверы — получают запросы от вышестоящих драйверов и взаимодействуют с нижестоящими драйверами;

Драйверы низшего уровня — получают запросы от вышестоящих драйверов, осуществляют конечную обработку пакетов запросов.

Также выделяют понятие монолитного драйвера — драйвера высшего уровня, не взаимодействующего ни с какими другими драйверами.

В связи с усовершенствованием модели драйверов Windows (WDM — Windows Driver Model), в которой были добавлены поддержка Plug and Play и энергосберегающие технологии, драйвера стали разделять на:

Унаследованные драйвера (Legacy-драйвера, драйвера «в стиле NT») — драйвера, написанные в старом манере, без поддержки нововведений;

WDM-драйвера — драйвера, которые удовлетворяют всем требованиям расширенной модели WDM.

Общая структура Legacy-драйвера

Legacy-драйвер имеет следующие основные точки входа:

DriverEntry — процедура загрузки драйвера;

DriverUnload — процедура выгрузки драйвера;

Рабочие процедуры обработки IRP-пакетов;

ISR-процедура (Interrupt Service Routine) — процедура обработки прерывания;

DPC-процедура (Deferred Procedure Call) — процедура отложенного вызова.

Процедура DriverEntry

Данная процедура присутствует в любом драйвере и вызывается диспетчером ввода/вывода при загрузке драйвера.

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

Определяется аппаратное обеспечение, которое драйвер будет контролировать;

Создаются объекты устройств (функция IoCreateDevice) для каждого физического или логического устройства под управлением данного драйвера;

Для устройств, которые должны быть видимы пользовательским приложениям, создаются символьные ссылки (функция IoCreateSymbolicLink);

При необходимости, устройство подключается к объекту прерываний. В случае, если ISR-процедура требует использования DPC-процедуры, то соответсвующий ей объект создаётся и инициализируется на этом этапе;

Выделение памяти, необходимой для работы драйвера.

Сведения о устаревших драйверах фильтров файловой системы

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

Для оптимальной надежности и производительности используйте драйверы минифильтров файловой системы с поддержкой диспетчера фильтров вместо устаревших драйверов фильтров файловой системы. Сведения о переносе устаревшего драйвера в драйвер минифильтра см. в статье Рекомендации по переносу устаревших драйверов фильтров.

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Windows driver documentation

Что такое legacy code?

@deprecated — это не тег, а аннотация. Она служит для пометки элементов публичного API, которые более не рекомендованы к применению и будут убраны в одной из следующих версий библиотеки.

5 июл 2018 в 6:22

@ Grundy , то есть если этот код достался в наследство от предыдущих разработчиков, то он по определению — legacy код? И он не может быть ‘not legacy’?

5 июл 2018 в 6:30

То есть legacy можно сказать, что весь код legacy включая import классов. В широком смысле весь код унаследован?

5 июл 2018 в 6:34

5 ответов 5

Сортировка: Сброс на вариант по умолчанию

Legacy code — тяжелая наследственность : ) Устаревший код, который более не поддерживается и не обновляется, но используется. Второе значение — код от сторонних разработчиков, или из старых версий.

Отслеживать
ответ дан 25 сен 2012 в 2:52
30.7k 4 4 золотых знака 48 48 серебряных знаков 86 86 бронзовых знаков

«Тяжелая наследственность» — это сильно ! IMHO все таки более правильно второе значение, причем с уточнением от @Barmaley о традиционности.

25 сен 2012 в 8:56

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

Legacy code — код, подпадающий под один или несколько признаков:

  • написан другими разработчиками, возможно, уже недоступными для контакта;
  • не покрыт юнит-тестами;
  • сохранён для совместимости с предыдущими версиями системы;
  • устарел и/или более не поддерживается в связи с развитием системы (написан на предыдущем языке, под старую архитектуру, аппаратную платформу, операционную систему и т.д.).

Отслеживать
ответ дан 25 сен 2014 в 14:51
Cowboy_BeBoob Cowboy_BeBoob
427 4 4 серебряных знака 3 3 бронзовых знака

Требование «опыт работы с legacy кодом» в вакансии означает, что вам достанется код, написанный лет 10-20 назад давно уволившимися программистами. Не исключено, что он изначально был плохо написан, что требования к проекту менялись уже много раз и каждый раз код правился как придётся в режиме жёсткого дедлайна, что документацию никто не писал и рефакторинг не делал. Поэтому вместо того чтобы писать новый код на прогрессивных технологиях, вам большую часть времени придётся разбираться в старом и править его, ловя потом каскады багов. Добро пожаловать в чудесный мир кровавого энтерпрайза, основного потребителя Java.

введите сюда описание изображения

Отслеживать
ответ дан 5 июл 2018 в 6:34
Sergey Gornostaev Sergey Gornostaev
66.5k 6 6 золотых знаков 53 53 серебряных знака 112 112 бронзовых знаков

@sergiks все написал верно, но все таки уточню: вообще термин Legacy в программировании означает прилагательное означающее принадлежность к традиционному. Скажем, Legacy Driver — означает драйвер от производителя и т.д.

Отслеживать
ответ дан 25 сен 2012 в 6:42
81.3k 7 7 золотых знаков 72 72 серебряных знака 153 153 бронзовых знака

Ещё бывает «доставшийся по наследству legacy code», который никто не знает как работает. Только программист здесь вряд ли поможет — здесь нужен либо аналитик, либо data scientist, а программист максимум, что сможет, это интерфейс для них написать, если его там нету,
т. е. вывести на форму то, что возможно, из того, что есть в коде.

Честно сжыженый legacy code

Отслеживать
ответ дан 3 ноя 2020 в 18:36
user236980 user236980

Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.

    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Intel переходит на «legacy» модель поддержки графических процессоров 10-го поколения и старше

С 27 июля компания Intel переходит на «legacy» модель поддержки драйверов Intel Graphics Drivers для графических процессоров Intel c 6-го по 10-е поколение и связанной графики Intel Atom, Pentium и Celeron

«Legacy» модель поддержки драйверов Intel Graphics Drivers для графических процессоров Intel c 6-го по 10-е поколение и связанной графики Intel Atom, Pentium и Celeron на практике это означает, что компания будет выпускать только критические исправления и патчи безопасности для этих продуктов. Обновления программного обеспечения для этих графических чипов переходят на квартальный цикл, либо же они будут выпускаться по мере необходимости.

Данное изменение затрагивает следующие продукты:

Кодовые названия семейств графических процессоров: Skylake, Apollo Lake, Kaby Lake, Amber Lake, Coffee Lake, Whiskey Lake, Comet Lake, Gemini Lake, Ice Lake, Lakefield, Jasper Lake, Elkhart Lake.

  • Процессоры Intel Core 10-го поколения с графикой Intel Iris Plus (Ice Lake).
  • Процессоры Intel Core 10-го поколения с графикой Intel UHD Graphics (Comet Lake).
  • Процессоры Intel Core 9-го поколения, родственные процессоры Pentium/Celeron и процессоры Intel Xeon с графическим адаптером Intel UHD Graphics 630 (Coffee Lake-R).
  • Процессоры Intel Core 8-го поколения, родственные процессоры Pentium/ Celeron и процессоры Intel Xeon с графикой Intel Iris Plus Graphics 655 и Intel UHD Graphics 610, 620, 630, P630 (Kaby Lake-R, Coffee Lake).
  • Семейство процессоров Intel Pentium и Celeron (Gemini Lake).
  • Процессоры Intel Core 7-го поколения, родственные процессоры Pentium/Celeron и процессоры Intel Xeon с графикой Intel Iris Plus Graphics 640, 650 и Intel HD Graphics 610, 615, 620, 630, P630 (Kaby Lake).
  • Процессоры Intel Core, Intel Core M и родственные процессоры Pentium 6-го поколения с Intel Iris Graphics 540, Intel Iris Graphics 550, Intel Iris Pro Graphics 580 и Intel HD Graphics 510, 515, 520 , 530 (Skylake).
  • Семейство процессоров Intel Pentium и семейство процессоров Intel Celeron (Jasper Lake).
  • Процессор Intel Core с Intel Hybrid Technology (Lakefield).
  • Семейство процессоров Intel Atom, Pentium и Celeron (Elkhart Lake).

Intel переходит на «legacy» модель поддержки графических процессоров 10-го поколения и старше. Что это значит для пользователей

Компания Intel ответила на основные вопросы, которые могут возникнуть у пользователей:

Как изменится пакет драйверов Intel Windows DCH?

Пакет Intel Graphics Driver теперь будет включать файлы драйверов для процессоров Intel 10-го поколения и старше и файлы драйверов для процессоров Intel 11-го поколения и более новых. Это означает, что в одном пакете драйверов фактически будет два драйвера.

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

Почему в Центре загрузки перечислены графические драйвера с двумя разными номерами версий?

Пакет драйверов содержит два отдельных файла драйверов (один для процессоров Intel 10-го поколения и старше, а другой для процессоров Intel 11-го поколения и новее), поэтому в дальнейшем на странице Центра загрузки будут перечислены две версии драйвера.

Как узнать, какой драйвер нужно устанавливать?

Установка выполняется с помощью одного файла installer.exe, доступного для скачивания на странице Центра загрузки. Программа установки графики автоматически выберет и установит правильный графический драйвер для вашей системы.

Будут ли графические процессоры Intel 10-го поколения и старше получать исправления?

В дальнейшем в ежеквартальных выпусках драйверов будут устраняться только критические исправления и уязвимости системы безопасности.

Будут ли драйверы Intel Graphics для процессоров Intel 10-го поколения и старше получать игровую поддержку «нулевого дня»?

Игровая поддержка «нулевого дня» больше не будет доступна для этих продуктов.

Как часто будут выходить новые графические драйверы для процессоров Intel 10-го поколения и более ранних версий?

Обновления будут выпускаться ежеквартально или по мере необходимости для устранения критических проблем или уязвимостей в системе безопасности.

Как часто будут выходить новые графические драйверы для процессоров Intel 11-го поколения и новее?

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *