Драйвер это программа обеспечивающая взаимодействие ос с периферийным устройством

Обновлено: 06.07.2024

Основными аппаратными компонентами компьютера являются: основная память, центральный процессор и периферийные устройства. Для обмена данными между собой эти компоненты соединены группой проводов, называемой магистралью (см. рис.1.5).

Основная память используется для запоминания программ и данных в двоичном виде и организована в виде упорядоченного массива ячеек, каждая из которых имеет уникальный цифровой адрес. Как правило, размер ячейки составляет один байт. Типовые операции над основной памятью – считывание и запись содержимого ячейки с определенным адресом.

Выполнение различных операций с данными осуществляется изолированной частью компьютера, называемой центральным процессором (ЦП). ЦП также имеет ячейки для запоминания информации, называемые регистрами. Их разделяют на регистры общего назначения и специализированные регистры. В современных компьютерах емкость регистра обычно составляет 4–8 байт. Регистры общего назначения используются для временного хранения данных и результатов операций. Для обработки информации обычно организовывается передача данных из ячеек памяти в регистры общего назначения, выполнение операции центральным процессором и передача результатов операции в основную память.

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

Программы хранятся в виде последовательности машинных команд, которые должен выполнять центральный процессор . Каждая команда состоит из поля операции и полей операндов, то есть тех данных, над которыми выполняется данная операция. Весь набор машинных команд называется машинным языком.

Выполнение программы осуществляется следующим образом. Машинная команда, на которую указывает программный счетчик, считывается из памяти и копируется в регистр команд. Здесь она декодируется, после чего исполняется. После выполнения команды программный счетчик указывает на следующую команду. Эти действия, называемые машинным циклом, затем повторяются.

Взаимодействие с периферийными устройствами

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

Любая операция ввода-вывода предполагает диалог между ЦП и контроллером устройства. Когда процессору встречается команда, связанная с вводом-выводом, входящая в состав какой-либо программы, он выполняет ее, посылая сигналы контроллеру устройства. Это так называемый программируемый ввод-вывод.

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

В современных компьютерах также имеется возможность непосредственного взаимодействия между контроллером и основной памятью, минуя ЦП, – так называемый механизм прямого доступа к памяти.

Это системная программа, которая под управлением ОС выполняет все операции с конкретным периферийным устройством.

Перед драйверами стоят две задачи:

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

2. Добиться максимально эффективного использования всех функциональных возможностей конкретных устройств.

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

К наиболее важным функциям драйвера относятся следующее:

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

· Закрытие устройства – обратное «открытию устройства».

· Обработка прерывания – выполняется ввод или вывод очередной порции данных, когда устройство переходит в состояние готовности.

· Опрос устройства – эта функция выполняется для тех устройств, которые не генерируют прерывание.

· Вызов стратегии – это способ выполнения операций ввода-вывода характерные для блочных устройств.

· Выполнение специальных функций –

Типичный драйвер устройство содержит как минимум три основных устройства:

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

2. Блок стратегии – прием заявок на выполнение операции, введение очереди заявок, а так же запуск операции и ее завершение. Заявка на выполнение операции – стандартная запись, формируемая системой перед обращением драйверов. Она содержит код требуемых функций драйверов. Адрес данных в памяти и на устройстве, объем передаваемых данных. Заявка так же содержит поле, в которое драйвер должен был записать код завершения операции.

3. Блок прерывания – система его вызывает, когда получает сигнал прерывания от устройства. Закончив выполнения заявки, данный блок возвращает управление блоку стратегии для завершения операции.

Помимо трех основных блоков, в разных ОС, драйверы содержат блок инициализации, блок изменения параметров драйверов и т.д.

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

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

Ø Драйверы GDI – этот драйвер представляет собой высокоуровневый драйвер графических устройств. Он выполняет трансляцию графических вызовов ОС, преобразуя их в команды, выполняющие соответствующие команды на конкретном устройстве, а затем, выдача этих команд на устройство выполняется уже низкоуровневым драйвером.

Ø Драйверы виртуализации устройств – служат для того, что бы разделять устройства между процессами, создавая иллюзию того, что процесс монопольно владеет устройством. На самом деле драйвер организует очередь заявок о процессах, переключает устройство в нужный для очередного процесса режим.

Если у Вас произошел сбой в работе компьютера, причиной может быть аппаратный драйвер. Это части программного обеспечения, которые операционная система Вашего компьютера использует для связи с оборудованием. Каждая операционная система — от Windows до Android — использует драйверы оборудования.

Драйверы как переводчики для компьютера

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

Без какой-либо помощи, программное обеспечение не знает, как общаться с Вашим оборудованием и наоборот. Аппаратные драйверы — это кусочки программного обеспечения, которые учат Вашу ОС, программы и приложения работе с Вашими устройствами. Представьте, что Ваша ОС говорит по-русски, а Ваше оборудование говорит по-английски. Аппаратные драйверы, таким образом, являются языковым переводчиком, переводящим русский на английский и обратно.

Производители делают драйверы; разработчики программного обеспечения используют их

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

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

Некоторые устройства могут использовать общие драйверы, но могут работать лучше с драйверами для конкретных устройств. Например, графическая карта Вашего компьютера (GPU) может выводить Ваш рабочий стол на дисплей с общими драйверами, но для оптимальной производительности в 3D-играх нужны драйверы от его производителя — NVIDIA, AMD или Intel.

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

Разработчику программного обеспечения не нужно тратить массу времени на то, чтобы заново изобрести колесо. Если приложение должно печатать, его разработчик может реализовать базовую функцию печати и довериться системным драйверам принтера для обработки деталей. В противном случае разработчику программного обеспечения может потребоваться разработка операции печати для принтеров HP, затем принтеров Brother и т. д.

Программное обеспечение иногда использует несколько драйверов для работы с устройством, передавая данные через каждый из них. Чтобы вернуться к нашему примеру с языковым барьером, представьте, что Ваше ПО говорит по-русски, а Ваше оборудование говорит по-английски. К сожалению, первый переводчик устройства под рукой говорит только на русском и итальянском языках. Этого достаточно, чтобы облегчить общение. Теперь представьте себе второго переводчика, который говорил по-итальянски и по-английски. Пройдя через двух переводчиков, в конце концов, связь будет работать. Та же базовая концепция возникает, когда между программным и аппаратным обеспечением используется несколько драйверов.

Почему аппаратные драйверы могут вызывать сбои системы

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

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

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

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

Что делать, если Вы подозреваете, что есть плохие аппаратные драйверы

Если Вы считаете, что у Вас проблема с драйвером аппаратного обеспечения, первое, что Вы должны сделать, это сделать шаг назад и выяснить, почему Вы пришли к такому выводу. Если какое-либо ПО рекомендует Вам обновить «устаревшее» программное обеспечение и обещает помочь Вам с обновлением, Вам следует остановиться. Мы не рекомендуем утилиты обновления драйверов; они могут принести больше вреда, чем пользы. Лучшее, что Вы можете сделать для своей машины — это удалить программу обновления драйверов.

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

Но даже в этом случае не используйте утилиту обновления драйверов. Лучший способ обновить драйвер — через Центр обновления Windows или на веб-сайте производителя. Начните с проверки обновлений Windows, Microsoft неплохо заботится об обновлениях оборудования, и это может сэкономить много усилий.

Если Вы ничего не видите в обновлении Windows, перейдите на веб-сайт производителя и проверьте его зону поддержки для загрузки драйверов. Сравните последнюю версию, которую предлагает производитель, с версией, показанной в диспетчере устройств.

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


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

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.

Получите невероятные возможности



2. Раздавайте видеоуроки в личные кабинеты ученикам.


3. Смотрите статистику просмотра видеоуроков учениками.

Конспект урока "Программное обеспечение компьютера. Операционная система"

Как мы уже говорили, компьютер работает под управлением программ. Вся совокупность программ называется программным обеспечением.


Базовой и необходимой составляющей программного обеспечения компьютера является операционная система.

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

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

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

Второй задачей операционной системы является представление пользователю доступа к ресурсам компьютера.

Любая операционная система имеет как минимум 3 компонента:

Все операции, связанные с процессами, выполняются под управлением той части операционной системы, которая называется ядром.


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

Драйвер - это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства.


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

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

Интерфейс - это оболочка, с помощью которой пользователь общается с компьютером

Различают два вила интерфейса: пользовательский и графический интерфейс.

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


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


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

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

А теперь давайте мы с вами разберемся с установкой и загрузкой операционной системы.

Операционные системы распространяются на оптических дисках в форме дистрибутивов. Для начала нужно провести установку операционной системы, в процессе которой файлы операционной системы копируются с оптического диска дистрибутива на жесткий диск компьютера.


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



После окончания загрузки операционной системы пользователь получает возможность управлять компьютером с использованием графического интерфейса операционной системы.

Читайте также: