Драйверы устройств это программы системные системы программирования прикладные
Драйвер устройства – это системная программа, которая под управлением ОС выполняет все операции с конкретным периферийным устройством. Драйвер является как бы посредником между ОС и устройством. Перед драйверами стоят две одинаково важные, но трудно совместимые задачи:
· обеспечить возможность стандартного обращения к любому устройству, скрывая от остальных частей ОС специфические особенности отдельных устройств;
· добиться максимально эффективного использования всех функциональных возможностей и особенностей конкретных устройств.
Возможность стандартными средствами работать с разными устройствами очень желательна с точки зрения архитектуры ОС и удобства программирования. Было бы крайне противно, если бы при написании прикладной программы нужно было заранее учитывать, какая модель принтера будет использоваться для выдачи результатов. Наоборот, в большинстве случаев прикладной программист даже не должен знать, будет ли это принтер или плоттер-графопостроитель, или же результаты будут отображаться на экране. Большие проблемы могли бы возникнуть и при замене одной модели принтера, диска, монитора на другую, если бы такая замена потребовала переписывать заново все программы, работающие с этим устройством. Другое дело, если все особенности устройства учитываются в одном-единственном месте, а именно – в драйвере этого устройства.
Разумеется, полностью скрыть все различия между устройствами невозможно. Никаким образом нельзя приравнять, скажем, диск к клавиатуре, и даже разные типы дисков похожи, но не совсем. Например, для дискет можно выполнить такую операцию, как проверка смены носителя (фактически при этом проверяется, открывался ли карман дисковода). Для жестких дисков эта операция не имеет смысла.
В большинстве ОС различаются, как минимум, два разных типа драйверов: для символьных и для блочных устройств.
Обращаясь к драйверу, ОС указывает функцию, которую требуется выполнить. Список этих функций общий для драйверов различных устройств, при этом каждый драйвер может реализовать только те функции, которые имеют смысл для данного устройства. Наиболее общими являются функции чтения данных, записи данных, инициализации устройства (эта функция вызывается системой один раз, сразу после загрузки), открытия и закрытия устройства (используются, когда символьное устройство открывается как файл). Для блочных устройств имеют смысл функции форматирования, поиска сектора. Для символьных устройств ввода – функция «неразрушающего ввода», т.е. проверки очередного символа без его изъятия из входного потока.
Для того, чтобы учесть все разнообразие возможных операций, в число функций драйвера вводят такую, как «выполнение специальных функций», и здесь уже для каждого устройства определен свой набор этих специальных функций.
Типичный драйвер устройства содержит, как минимум, три основных блока:
Заголовок содержит различную информацию о данном драйвере и об управляемом устройстве. Сюда может включаться имя устройства, тип устройства, число однотипных устройств, обслуживаемых одним драйвером, объем памяти на устройстве и т.п. Заголовок содержит также адреса блока стратегии и блока прерываний.
В обязанность блока стратегии входит прием заявок на выполнение операции, ведение очереди заявок (в многозадачных системах, а также при асинхронных операциях, выполнения могут дожидаться несколько заявок), а также запуск операции и ее завершение.
Заявка на выполнение операции представляет собой стандартную запись, формируемую системой перед обращением к драйверу. Заявка содержит код требуемой функции драйвера и сведения об адресе данных в памяти и на устройстве, о количестве передаваемых данных. Заявка также содержит поле, в которое драйвер должен будет записать код завершения операции (обычно 0 – нормально выполненная операция, другие значения – коды ошибок).
Блок прерываний выполняет примерно тот алгоритм, который в п. 2.5.1 назывался вводом/выводом по прерываниям. Система вызывает этот блок, когда получает сигнал прерывания от устройства, обслуживаемого драйвером. Закончив выполнение заявки, блок прерываний возвращает управление блоку стратегии для завершения операции.
Помимо трех основных блоков, в разных ОС драйверы могут содержать, например, блок инициализации (он используется один раз при загрузке ОС, а затем может быть выгружен из памяти), блок изменения параметров драйвера и др.
В последние годы возрастающее усложнение периферийных устройств и самих ОС сделало популярной многоуровневую схему использования драйверов. По этой схеме, помимо описанных выше низкоуровневых драйверов аппаратуры, допускается еще создание высокоуровневых драйверов, лежащих между драйверами аппаратуры и остальной частью ОС. Высокоуровневый драйвер не содержит блока прерываний, он принимает заявки от системы, преобразует данные тем или иным образом, а затем вызывает низкоуровневый драйвер для работы с устройством. Например, высокоуровневый графический драйвер может преобразовывать команды рисования фигур, заливок, текста в набор команд конкретной модели принтера, а связанный с ним драйвер параллельного порта отвечает за передачу этих команд принтеру. Для диска можно реализовать в виде отдельного драйвера алгоритм шифрации данных, которые потом передаются обычному драйверу диска.
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
Видеолекции для
профессионалов
- Свидетельства для портфолио
- Вечный доступ за 120 рублей
- 311 видеолекции для каждого
«Как закрыть гештальт: практики и упражнения»
Свидетельство и скидка на обучение каждому участнику
Описание презентации по отдельным слайдам:
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПК Учитель информатики Борисова Н.М. ГБОУ СОШ №249 С-Петербург
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПК §9 Ресурсы ПК можно разделить на две равноправные составляющие: аппаратные (hardware) – это дисководы, монитор, мышь, клавиатура и т.д.; программные(software). Программное обеспечение – неотъемлемая часть ПК. Оно является логическим продолжением аппаратуры ПК, расширяющим их возможности и сферу использования. Сфера применения ПК определяется имеющимся ПО.
Монитор Принтер Системный блок ….. ? Ресурсы ПК Программные (ПО) software Аппаратные hardware
Виды ПО (стр.56) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Инструментальное (системы программирования) Системное Прикладное
Программное обеспечение Прикладное ПО – программы, которые пользователь использует для решения своих задач текстовые редакторы графические редакторы базы данных игры … Системное ПО – обеспечивает взаимодействие пользователя и прикладных программ с аппаратными средствами операционные системы драйверы утилиты Системы программирования – средства создания новых программ. Программы пользователей – пользователи составляют их для своих собственных нужд.
СТРУКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПК Системное ПО Прикладное ПО Системы программирования Прикладное ПО – это программы, с помощью которых пользователь имеет возможность решать свои задачи, не прибегая к программированию. Системное программное обеспечение – обязательная часть ПО. Его ядро составляет операционная система (ОС). Системы программирования – это инструменты для работы программистов, ориентированные на определенный язык программирования. Язык программирования – это фиксированная система обозначений для описания алгоритмов и структур данных. Существует множество языков программирования разного уровня и назначения: Ассемблеры ФОРТРАН Паскаль С (Си) ЛОГО ЛИСП Пролог Делфи Бейсик . . . . . . . . . . Прикладное П О специального назначения Прикладное П О общего назначения Операционная система (ОС) Диалоговые оболочки Сервисные программы Пакет прикладных программ MS Office, компьютерные игры бухгалтерские программы математические пакеты экспертные системы обучающие программы конструкторские пакеты графические пакеты
К прикладным программам общего назначения относятся: текстовые редакторы; графические редакторы; электронные таблицы(табличные процессоры); системы управления базами данных(СУБД); коммуникационные(сетевые) программы, предназначенные для обмена информацией с другими ПК, объединенными в сеть; игровые программы. Прикладное ПО Прикладные программы – это программы, ориентированные на решение задач пользователя.
Кроме того, имеется множество прикладных программ специального назначения для профессиональной деятельности и обучения: обучающие программы; системы деловой и научной графики; бухгалтерские; экспертные системы; САПР и другие.
Офисное ПО Электронные таблицы – для выполнения расчетов с табличными данными Microsoft Excel – файлы *.xls, *.xlsx Libre Office Calc – файлы *.ods – бесплатно Системы управления базами данных Microsoft Access – файлы *.mdb, *.accdb Libre Office Base – файлы *.odb – бесплатно Создание презентаций Microsoft PowerPoint – файлы *.ppt, *.pptx Libre Office Impress – файлы *.odp – бесплатно
Инструментальное ПО Инструментальные программы используются для создания новых программ для ПК. К этому виду ПО относятся системы программирования – инструмент для работы программиста. Система программирования – это система для разработки новых программ на конкретном языке программирования.
СИСТЕМЫ ПРОГРАММИРОВАНИЯ Системы программирования – это инструменты для работы программистов, ориентированные на определенный язык программирования Назначение систем программирования Создание, отладка и выполнение программ с целью: решения вычислительных задач обработки текстов, графики создания системного ПО создания прикладного ПО и пр. Режимы работы систем программирования ввод текста программы редактирование отладка компиляция исполнение работа с файлами режим помощи
Системное ПО Системные программы выполняются вместе с прикладными и служат для управления ресурсами ПК - процессором, памятью, вводом-выводом. Это программы общего пользования, предназначенные для всех пользователей
Взаимодействие между пользователем, прикладным ПО, операционной системой и аппаратным обеспечением.
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Системное программное обеспечение – это комплекс программ, обеспечивающих выполнение общих для всех программ технических задач, взаимодействие с аппаратурой, диалог с пользователем Операционная система Набор программ, управляющих ОП, процессором, внешними устройствами ифайлами, ведущих диалог с пользователем. Примеры ОС: UNIX Windows Linux Mac OS … Сервисные программы Множество специальных программ обслуживающего (сервисного)характера. Диагностические программы Sandra, Test CPU, 3D Mark, 3D Winbench Программы обслуживания дисков Norton Speed Disk, Norton Disk Doctor, Norton Unerase Программы для работы сCD/DVD Easy CD Creator, Nero, Alcohol 120% Архиваторы WinRar, WinZip Антивирусные программы Norton Antivirus, AVP,DrWeb Вьюверы, плейеры ACDSee,WinAmp
Специальный вид системного ПО– операционная система, которая обеспечивает эффективное управление ресурсами ПК. Важным классом системных программ являются также программы вспомогательного назначения, выполняющие различные обслуживающие функции – сервисные программы (утилиты). Они либо расширяют и дополняют возможности ОС, либо решают самостоятельные задачи.
Основные виды утилит: программы контроля, тестирования и диагностики ПК, которые используются для проверки правильности функционирования устройств ПК и для обнаружения неисправностей, указывают причину и место неисправности; программы-драйверы – программы управления устройствами ввода-вывода; программы обслуживания дисков ScanDisk, DEFRAG архиваторы – программы-упаковщики, которые позволяют упаковывать группу файлов в один файл-архив для экономии места на магнитных носителях; антивирусные программы, предназначенные для профилактики заражения вирусом, обнаружения и уничтожения вирусов; коммуникационные программы, предназначенные для организации обмена информацией между ПК;
ОПЕРАЦИОННАЯ СИСТЕМА ОС является главной частью системного ПО. ОС скрывает от пользователя сложные подробности взаимодействия с аппаратурой, является посредником между ними. ОС организует диалог пользователя с ПК, управляет распределением и использованием ресурсов машины, организует работу с файлами.
Операционная система (ОС) – это комплекс программ, обеспечивающих пользователю и прикладным программам удобный интерфейс (способ обмена информацией) с аппаратными средствами компьютера. Функции ОС (что она обеспечивает): обмен данными с внешними устройствами работу файловой системы (файлы, папки) запуск и выполнение остальных программ тестирование компьютера, обработка ошибок распределение ресурсов (процессор, память, внешние устройства)
ОПЕРАЦИОННАЯ СИСТЕМА Операционная система ядро ОС файлы ОЗУ ВЗУ Компоненты ОС Командный процессор Драйверы внешних устройств Файловая система ОС сохранение информации в ВЗУ чтение информации из файлов удаление файлов переименование файлов копирование файлов вывод на экран списка файлов Программа, обеспечивающая диалог ПК с пользователем Набор программ, обеспечивающих взаимодействие процессора с пользователем Функции операционной системы Диалог с пользователем Управлениересурсами процессорным временем внутренней памятью внешними устройствами Работа с файлами
ОС – это комплекс взаимосвязанных программ, предназначенных для организации удобного пользовательского и программного интерфейса. Существует несколько вариантов ОС: MacOS, UNIX, MS DOS, Windows, Linux, ОS/2, RT11 и другие. OS X Lion
Загрузка ОС Основная часть ОС хранится во внешней памяти компьютера – на жестком диске. При включении ПК она считывается с диска и размещается в ОП. Этот процесс называется загрузкой ОС. Вызов ОС с диска осуществляет специальная программа -загрузчик (BOOT RECORD- блок начальной загрузки), которая хранится в ПЗУ.
C: D: E: F: Ядро ОС Windows Процесс загрузки: ОП Приложения: Word Paint данные ПЗУ BIOS Boot Record
Интерфейс пользователя Виды интерфейса пользователя: Интерфейс командной строки; Меню; Объектно-ориентированный интерфейс GUI –Graphik User Interface графический интерфейс пользователя
Виды интерфейса: аппаратный программный пользовательский
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС Посимвольный ввод команд с клавиатуры Ввод команд путем нажатия ф у н к ц и о н а л ь н ы х или «горячих» клавиш Выбор команд из МЕНЮ Текстовое МЕНЮ Объектно-ориентированный интерфейс
ОС с интерфейсом командной строки жесткий синтаксис всех допустимых команд
ВОПРОСЫ К ПРОВЕРОЧНОЙ РАБОТЕ ПО ТЕМЕ «ПО ПК» Виды ПО. Назначение прикладных программ. Основные виды прикладных программ. Назначение системных программ. Основные виды утилит. Что такое компьютерный вирус? Что такое интерфейс пользователя ? Формы организации интерфейса.
9.Что такое ОС? 10.Назначение ОС. 11.Основные компоненты ОС. 12.Где хранятся компоненты ОС? 13.Что такое BIOS? 14.Что такое загрузка ОС. 15.Что такое блок начальной загрузки? 16.Назначение командного процессора?
Совокупность программ, предназначенная для решения задач на ПК, называется программным обеспечением. Состав программного обеспечения ПК называют программной конфигурацией. Программное обеспечение, можно условно разделить на три категории (рис.1):
Рисунок 1. Классификация ПО
· системное ПО (программы общего пользования), выполняющие различные вспомогательные функции, например создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т.д.
· прикладное ПО, обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т.д.
· инструментальное ПО (системы программирования), обеспечивающее разработку новых программ для компьютера на языке программирования.
Системное программное обеспечение — это комплекс программ, которые обеспечивают эффективное управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой - приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т. д.
Это программы общего пользования не связаны с конкретным применением ПК и выполняют традиционные функции: планирование и управление задачами, управления вводом-выводом и т.д. Другими словами, системные программы выполняют различные вспомогательные функции, например, создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т.п. К системному ПО относятся:
o операционные системы (эта программа загружается в ОЗУ при включении компьютера)
o программы – оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)
o операционные оболочки – интерфейсные системы, которые используются для создания графических интерфейсов, мультипрограммирования и.т.
o Драйверы (программы, предназначенные для управления портами периферийных устройств, обычно загружаются в оперативную память при запуске компьютера)
o утилиты (вспомогательные или служебные программы, которые представляют пользователю ряд дополнительных услуг)
К утилитам относятся:
o диспетчеры файлов или файловые менеджеры
o средства динамического сжатия данных (позволяют увеличить количество информации на диске за счет ее динамического сжатия)
o средства просмотра и воспроизведения
o средства диагностики; средства контроля позволяют проверить конфигурацию компьютера и проверить работоспособность устройств компьютера, прежде всего жестких дисков
o средства коммуникаций (коммуникационные программы) предназначены для организации обмена информацией между компьютерами
o средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).
Утилиты— программы, предназначенные для решения узкого круга вспомогательных задач.
Иногда утилиты относят к классу сервисного программного обеспечения
Утилиты используются для:
· Мониторинга показателей датчиков и производительности оборудования — мониторинг температур процессора, видеоадаптера; чтение S.M.A.R.T. жёстких дисков;
· Управления параметрами оборудования — ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов.
· Контроля показателей — проверка ссылочной целостности; правильности записи данных.
· Расширения возможностей — форматирование и/или переразметка диска с сохранением данных, удаление без возможности восстановления.
o Проверка диска — поиск неправильно записанных либо повреждённых различным путём файлов и участков диска и их последующее удаление для эффективного использования дискового пространства.
o Очистка диска — удаление временных файлов, ненужных файлов, чистка «корзины».
o Разметка диска — деление диска на логические диски, которые могут иметь различные файловые системы и восприниматься операционной системой как несколько различных дисков.
o Резервное копирование — создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.
o Сжатие дисков — сжатие информации на дисках для увеличения вместимости жёстких дисков.
§ Утилиты работы с реестром
§ Утилиты мониторинга оборудования
Рисунок 2. Место СПО в многоуровневой структуре компьютера
Необходимо отметить, что часть утилит входит в состав операционной системы, а другая часть функционирует автономно. Большая часть общего (системного) ПО входит в состав ОС (рис.2). Часть общего ПО входит в состав самого компьютера (часть программ ОС и контролирующих тестов записана в ПЗУ или ППЗУ, установленных на системной плате). Часть общего ПО относится к автономными программам и поставляется отдельно.
Прикладное ПО. Прикладные программы могут использоваться автономно или в составе программных комплексов или пакетов. Прикладное ПО – программы, непосредственно обеспечивающие выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, создание электронных таблиц и т.д.Пакеты прикладных программ – это система программ, которые по сфере применения делятся на проблемно – ориентированные, пакеты общего назначения и интегрированные пакеты. Современные интегрированные пакеты содержат до пяти функциональных компонентов: тестовый и табличный процессор, СУБД, графический редактор, телекоммуникационные средства. К прикладному ПО, например, относятся:
ü Комплект офисных приложений MS OFFICE
ü Бухгалтерские системы
ü Финансовые аналитические системы
ü Интегрированные пакеты делопроизводства
ü CAD – системы (системы автоматизированного проектирования)
ü Редакторы HTML или Web – редакторы
ü Браузеры – средства просмотра Web - страниц
ü Графические редакторы
ü Экспертные системы.
Инструментальное ПО. Инструментальное ПО или системы программирования - это системы для автоматизации разработки новых программ на языке программирования. В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты:1. Текстовый редактор для создания файла с исходным текстом программы. 2. Компилятор или интерпретатор. Исходный текст с помощью программы-компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое.3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ЕХЕ или .СОМ.4. В последнее время получили распространение визуальный методы программирования (с помощью языков описания сценариев), ориентированные на создание Windows-приложений. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов. Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:
- Borland Delphi - предназначен для решения практически любых задачи прикладного программирования
- Borland C++ Builder – это отличное средство для разработки DOS и Windows приложений
- Microsoft Visual Basic – это популярный инструмент для создания Windows-программ
- Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows
Контрольные вопросы:
1. Дайте определение операционной системе.
2. Какое программное обеспечение относят к системному?
3. Назовите служебное программное обеспечение.
4. Какое программное обеспечение относят к прикладному?
5. Каково назначение программного обеспечения?
6. Каковы основные классы программ? Приведите примеры программ в каждом классе по назначению.
Как уважаемый хабрапользователь наверняка знает, «драйвер устройства» — это компьютерная программа управляющая строго определенным типом устройства, подключенным к или входящим в состав любого настольного или переносного компьютера.
Основная задача любого драйвера – это предоставление софтового интерфейса для управления устройством, с помощью которого операционная система и другие компьютерные программы получают доступ к функциям данного устройства, «не зная» как конкретно оно используется и работает.
Обычно драйвер общается с устройством через шину или коммуникационную подсистему, к которой подключено непосредственное устройство. Когда программа вызывает процедуру (очередность операций) драйвера – он направляет команды на само устройство. Как только устройство выполнило процедуру («рутину»), данные посылаются обратно в драйвер и уже оттуда в ОС.
Любой драйвер является зависимым от самого устройства и специфичен для каждой операционной системы. Обычно драйверы предоставляют схему прерывания для обработки асинхронных процедур в интерфейсе, зависимом от времени ее исполнения.
Любая операционная система обладает «картой устройств» (которую мы видим в диспетчере устройств), для каждого из которых необходим специфический драйвер. Исключения составляют лишь центральный процессор и оперативная память, которой управляет непосредственно ОС. Для всего остального нужен драйвер, который переводит команды операционной системы в последовательность прерываний – пресловутый «двоичный код».
Как работает драйвер и для чего он нужен?
Основное назначение драйвера – это упрощение процесса программирования работы с устройством.
Он служит «переводчиком» между хардовым (железным) интерфейсом и приложениями или операционными системами, которые их используют. Разработчики могут писать, с помощью драйверов, высокоуровневые приложения и программы не вдаваясь в подробности низкоуровневого функционала каждого из необходимых устройств в отдельности.
Как уже упоминалось, драйвер специфичен для каждого устройства. Он «понимает» все операции, которые устройство может выполнять, а также протокол, с помощью которого происходит взаимодействие между софтовой и железной частью. И, естественно, управляется операционной системой, в которой выполняет конкретной приложение либо отдельная функция самой ОС («печать с помощью принтера»).
Если вы хотите отформатировать жесткий диск, то, упрощенно, этот процесс выглядит следующим образом и имеет определенную последовательность: (1) сначала ОС отправляет команду в драйвер устройства используя команду, которую понимает и драйвер, и операционная система. (2) После этого драйвер конкретного устройства переводит команду в формат, который понимает уже только устройство. (3) Жесткий диск форматирует себя, возвращает результат драйверу, который уже впоследствии переводит эту команду на «язык» операционной системы и выдает результат её пользователю (4).
Как создается драйвер устройства
Для каждого устройства существует свой строгий порядок выполнения команд, называемой «инструкцией». Не зная инструкцию к устройству, невозможно написать для него драйвер, так как низкоуровневые машинные команды являются двоичным кодом (прерываниями) которые на выходе отправляют в драйвер результат, полученный в ходе выполнения этой самой инструкции.
При создании драйвера для Линукса, вам необходимо знать не только тип шины и ее адрес, но и схематику самого устройства, а также весь набор электрических прерываний, в ходе исполнения которых устройство отдает результат драйверу.
Написание любого драйвера начинается с его «скелета» — то есть самых основных команд вроде «включения/выключения» и заканчивая специфическими для данного устройства параметрами.
И чем драйвер не является
Часто драйвер устройства сравнивается с другими программами, выполняющими роль «посредника» между софтом и/или железом. Для того, чтобы расставить точки над «i», уточняем:
- Драйвер не является интерпретатором, так как не исполняется напрямую в софтовом слое приложения или операционной системы.
- Драйвер не является компилятором, так как не переводит команды из одного софтового слоя в другой, такой же.
Ну и на правах рекламы – вы всегда знаете, где скачать новейшие драйвера для любых устройств под ОС Windows.
Как уважаемый хабрапользователь наверняка знает, «драйвер устройства» — это компьютерная программа управляющая строго определенным типом устройства, подключенным к или входящим в состав любого настольного или переносного компьютера.
Основная задача любого драйвера – это предоставление софтового интерфейса для управления устройством, с помощью которого операционная система и другие компьютерные программы получают доступ к функциям данного устройства, «не зная» как конкретно оно используется и работает.
Обычно драйвер общается с устройством через шину или коммуникационную подсистему, к которой подключено непосредственное устройство. Когда программа вызывает процедуру (очередность операций) драйвера – он направляет команды на само устройство. Как только устройство выполнило процедуру («рутину»), данные посылаются обратно в драйвер и уже оттуда в ОС.
Любой драйвер является зависимым от самого устройства и специфичен для каждой операционной системы. Обычно драйверы предоставляют схему прерывания для обработки асинхронных процедур в интерфейсе, зависимом от времени ее исполнения.
Любая операционная система обладает «картой устройств» (которую мы видим в диспетчере устройств), для каждого из которых необходим специфический драйвер. Исключения составляют лишь центральный процессор и оперативная память, которой управляет непосредственно ОС. Для всего остального нужен драйвер, который переводит команды операционной системы в последовательность прерываний – пресловутый «двоичный код».
Как работает драйвер и для чего он нужен?
Основное назначение драйвера – это упрощение процесса программирования работы с устройством.
Он служит «переводчиком» между хардовым (железным) интерфейсом и приложениями или операционными системами, которые их используют. Разработчики могут писать, с помощью драйверов, высокоуровневые приложения и программы не вдаваясь в подробности низкоуровневого функционала каждого из необходимых устройств в отдельности.
Как уже упоминалось, драйвер специфичен для каждого устройства. Он «понимает» все операции, которые устройство может выполнять, а также протокол, с помощью которого происходит взаимодействие между софтовой и железной частью. И, естественно, управляется операционной системой, в которой выполняет конкретной приложение либо отдельная функция самой ОС («печать с помощью принтера»).
Если вы хотите отформатировать жесткий диск, то, упрощенно, этот процесс выглядит следующим образом и имеет определенную последовательность: (1) сначала ОС отправляет команду в драйвер устройства используя команду, которую понимает и драйвер, и операционная система. (2) После этого драйвер конкретного устройства переводит команду в формат, который понимает уже только устройство. (3) Жесткий диск форматирует себя, возвращает результат драйверу, который уже впоследствии переводит эту команду на «язык» операционной системы и выдает результат её пользователю (4).
Как создается драйвер устройства
Для каждого устройства существует свой строгий порядок выполнения команд, называемой «инструкцией». Не зная инструкцию к устройству, невозможно написать для него драйвер, так как низкоуровневые машинные команды являются двоичным кодом (прерываниями) которые на выходе отправляют в драйвер результат, полученный в ходе выполнения этой самой инструкции.
При создании драйвера для Линукса, вам необходимо знать не только тип шины и ее адрес, но и схематику самого устройства, а также весь набор электрических прерываний, в ходе исполнения которых устройство отдает результат драйверу.
Написание любого драйвера начинается с его «скелета» — то есть самых основных команд вроде «включения/выключения» и заканчивая специфическими для данного устройства параметрами.
И чем драйвер не является
Часто драйвер устройства сравнивается с другими программами, выполняющими роль «посредника» между софтом и/или железом. Для того, чтобы расставить точки над «i», уточняем:
- Драйвер не является интерпретатором, так как не исполняется напрямую в софтовом слое приложения или операционной системы.
- Драйвер не является компилятором, так как не переводит команды из одного софтового слоя в другой, такой же.
Ну и на правах рекламы – вы всегда знаете, где скачать новейшие драйвера для любых устройств под ОС Windows.
Читайте также: