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, а программист максимум, что сможет, это интерфейс для них написать, если его там нету,
т. е. вывести на форму то, что возможно, из того, что есть в коде.

Отслеживать
ответ дан 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-го поколения и новее?
Пользователи могут ожидать регулярных ежемесячных обновлений, а также выпусков в течение года в соответствии с «нулевым днем» поддержки игр.