Модель драйвера устройства
Скачать проекты для коттеджей
Ранние версии ядра Linux предлагали разработчикам драйверов не так уж много базовых функциональных возможностей: выделение динамической памяти, резервирование диапазона адресов ввода/вывода или линии IRQ, активизация служебной процедуры обработки прерываний в ответ на прерывание от устройства. Правда и то, что старые аппаратные устройства были громоздкими, программировать их было неудобно, а два разных устройства имели мало общего, даже если располагались на одной шине. Таким образом, не было особого смысла предлагать разработчикам драйверов какую-либо унифицированную модель.
Сейчас все обстоит иначе. Типы шин, такие как PCI, предъявляют строгие требования к конструкции аппаратных устройств. Как следствие, современные устройства, даже принадлежащие к разным классам, обладают сходными функциональными возможностями. Драйверы таких устройств, как правило, должны уделять внимание:
- управлению питанием (обработке разных уровней напряжения на линии питания устройства);
- технологии plug-and-play (прозрачному распределению ресурсов при конфигурировании устройства);
- горячему” подключению (поддержке подсоединения и отсоединения устройства во время работы системы).
Управление питанием выполняется ядром глобально для каждого устройства в системе. Например, когда компьютер, питающийся от аккумулятора, переходит в режим ожидания, ядро должно перевести каждое аппаратное устройство (жесткие диски, графическую и звуковую карты, сетевую карту, контроллеры шин и т. д.) в режим пониженного потребления энергии. Таким образом, драйвер каждого устройства, которое может быть переведено в режим ожидания, должен включать в себя функцию обратного вызова, которая переводит устройство в режим пониженного потребления энергии. Более того, устройства должны быть переведены в режим ожидания в строго определенном порядке, иначе некоторые из них останутся в ненадлежащем состоянии. Например, ядро должно вначале перевести в состояние ожидания сначала диски, а затем их контроллер, потому что в противном случае будет невозможно отправить дискам нужные команды.
Чтобы можно было реализовать подобные операции, Linux 2.6 предоставляет разработчикам несколько структур данных и вспомогательных функций, обеспечивающих унифицированное представление всех шин, устройств и драйверов устройств в системе. Этот каркас” называется моделью драйвера устройства.
Самый современный в Екатеринбурге центр хирургии находится в УГМК-Клинике.
Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | Следующая страница