
- •Вопросы к экзамену по информатике и311
- •Информация и данные. Свойства информации.
- •Операции над данными.
- •Измерение и представление информации. Синтаксический, семантический и прагматический подход к оценке информации.
- •Количество информации. Формула Хартли. Формула Шеннона.
- •Основные структуры данных: линейные, табличные и иерархические.
- •Файлы и файловая структура.
- •7 Представление целых и действительных чисел в двоичном коде.
- •8 Система счисления. Переход из q-ой в десятичную и наоборот.
- •9 Кодирование символьных и текстовых данных.
- •10 Кодирование графических данных.
- •Кодирование звуковой информации.
- •12 Алгебра логики. Логические операции и их таблицы истинности
- •13 Логические функции и их скнф и сднф.
- •14 Элементы теории множеств.
- •15 Элементы теории графов. Способы задания графов.
- •16 Элементы теории графов. Метрические характеристики графов.
- •17 Релейно-контактные схемы.
- •18 Вычислительная техника.
- •19 Классификация компьютеров по сферам применения.
- •20 Базовая система элементов компьютерных систем.
- •21 Функциональные узлы компьютерных систем. Триггеры.
- •22 Функциональные узлы компьютерных систем. Регистры.
- •23 Архитектура эвм. Принципы Дж. Фон Неймана.
- •24 Архитектура эвм с фиксированным набором устройств.
- •25 Открытая архитектура.
- •26 Архитектура многопроцессорных вычислительных систем.
- •27 Центральный процессор.
- •29 Оперативное запоминающее устройство.
- •30 Внутренние шины передачи данных.
- •2.7.3. Внутренние шины передачи данных
- •31 Внешние запоминающие устройства компьютера.
- •32 Видеотерминалы.
- •33 Клавиатура. Мышь.
- •34 Устройство печати. Сканер.
- •35 Звуковая карта. Модемы.
- •36 Состав системного программного обеспечения.
- •37 Операционные системы.
- •3.3. Виды операционных систем и их базовые понятия
- •38 Операционные системы. Процессы и потоки.
- •39 Операционные системы. Управление памятью.
- •40 Операционные системы. Организация ввода-вывода.
- •41 Драйверы устройств.
- •42 Файловые системы.
- •43 Служебные программы.
- •3.11.3. Программы резервирования данных
- •3.11.4. Программы записи компакт-дисков, просмотра и конвертации, сравнения файлов
- •44 Прикладное программное обеспечение.
- •3.13. Прикладное программное обеспечение
- •3.13.1. Ппо общего назначения
- •3.13.2. Ппо специального назначения
- •8 Система счисления. Переход из q-ой в десятичную и наоборот.
41 Драйверы устройств.
Программа управления каждым устройством ввода/вывода, подключенным к компьютеру, называется драйвером устройства. Поскольку различаются все внешние устройства ЭВМ, то и их управляющие программы тоже будут сильно различаться. Драйверы обычно пишутся производителями устройств и распространяются вместе с устройствами. Каждый драйвер устройства поддерживает один тип устройства или, максимум, класс близких устройств. Драйвер либо бывает частью ядра операционной системы (рис. 3.4), либо частью пространства пользователя. Чтобы получить доступ к аппаратной части устройства, т. е. к регистрам контроллера, драйвер должен быть частью ядра операционной системы. Если же драйвер работает в пространстве пользователя, то это позволяет изолировать ядро от драйверов, а драйверы друг от друга. При этом устраняется причина сбоев ОС, когда драйверы, содержащие ошибки, сталкиваются с ядром тем или иным способом. Чаще же драйверы работают в пространстве ядра. В этом случае необходима специальная архитектура, допускающая подобную установку, т. е. должна быть определена модель функций драйвера и его взаимодействие с остальной частью операционной системы.
Рис. 3.4. Логическое расположение драйверов устройств
Операционная система классифицирует драйверы по нескольким категориям в соответствии с типами обслуживаемых ими устройств: блочными или символьными устройствами. В большинстве ОС определены два стандартных интерфейса, один из которых должен поддерживать все блочные драйверы, а другой — все символьные драйверы.
Некоторые операционные системы представляют собой двоичную программу, содержащую все необходимые драйверы, например, ОС UNIX. При добавлении нового устройства системный администратор перекомпилирует ядро с новым драйвером, получая при этом новый двоичный модуль. Ясно, что такие ОС эффективно работают на тех ЭВМ, где устройства ввода/вывода меняются редко.
На персональных компьютерах эта модель не эффективна, т. к. не все пользователи могут самостоятельно перекомпилировать и собрать ядро. Поэтому ОС, начиная с MS-DOS, перешли к модели динамической подгрузки драйверов.
Драйвер устройства выполняет следующие основные функции:
обрабатывает запросы чтения и записи независимого от устройств программного обеспечения;
инициализирует устройства;
управляет энергопотреблением устройств и регистрацией событий;
проверяет входные параметры при обращении к устройству. Если параметры ошибочны, драйвер возвращает ошибку в оперативную систему; если параметры правильны, управляет работой устройства;
проверяет использование устройства в данный момент, т. е. контролирует работу устройства.
Управление устройством подразумевает выдачу ему серии команд. Именно в драйвере определяется последовательность команд в зависимости от того, что должно быть сделано. Определившись с командами, драйвер записывает их в контроллер устройства, после чего ситуация может развиваться по двум сценариям:
драйвер ждет, пока контроллер не выполнит для него определенную работу; в ожидании он блокируется до тех пор, пока прерывание от устройства его не разблокирует;
если работа контроллера быстрая, драйвер не блокируется, а начинает обрабатывать следующий запрос.
По окончании работы с устройством, драйвер проверяет, не было ли ошибок. Если все в порядке, он возвращает информацию о проделанной работе вызывающей программе. После этого драйвер либо опять блокируется, либо выполняет следующий запрос.
В целом драйверам не разрешается обращаться к системным вызовам, но некоторые из них они все же используют для взаимодействия с ядром, например, вызовы диспетчера памяти, таймера, контроллера прерываний и т. п. Сейчас преобладает подход, при котором у всех драйверов, несмотря на все их различия, должен быть похожий интерфейс. Работать с драйверами в таких условиях пользователям значительно легче.