Теперь вы знаете, каким образом запрос поступает от приложения в
операционную систему и выполняется ею. Как же этот запрос поступает в сеть? Эту
задачу выполняет часть программного обеспечения, называемая драйвером сетевой
платы.
Вообще говоря, любой драйвер устройства представляет собой часть программного
обеспечения, позволяющего операционной системе и физическому устройству
взаимодействовать друг с другом. Некоторые драйверы устройств входят в состав
файлов операционной системы. Другие же можно загрузить с диска или Internet,
однако они в любом случае остаются интерфейсом между сетевой платой и
операционной системой.
Почему же нельзя просто встроить функциональные средства, необходимые сетевой плате,
непосредственно в операционную систему, особенно, если учесть, что современные
операционные системы создаются с учетом возможности работы в сети? Главным
образом потому, что это непрактично. Десятки и даже сотни производителей
предлагают тысячи моделей сетевых плат, причем в каждой модели используют
собственный драйвер. По этой причине просто невозможно встраивать в
операционную систему функции поддержки всех сетевых плат. И даже если бы эта
схема имела практический смысл, она была бы нежелательна. В этом случае
операционная система занимала бы слишком много места, намного больше реально
необходимого. Если вы установили единственную сетевую плату, остальные драйверы
вам не нужны. И более того: обновление драйверов для улучшения поддержки
оборудования потребовало бы замены операционной системы. Разве вам понравится
переустанавливать операционную систему при каждом обновлении драйвера сетевой
платы? Не думаю.
Кстати сказать, в некоторых операционных системах используют модульную
конструкцию, позволяющую в нее включить определенные функции драйвера.
Подразумевается, что производителям оборудования нужно будет только дописать
оставшуюся часть программы (stub portion) драйвера. Идея такого подхода такова
(рис. 3. 3): хотя каждая сетевая плата может управлять передачей данных между
операционной системой и сетью методом несколько отличным от используемых в
других платах, основная функция сетевой платы неизменна в любом случае. Таким
образом, эту функцию действительно можно встроить в операционную систему. С этой
точки зрения создателю драйвера сетевой платы достаточно написать инструкции
специфичные для данной платы, которые позволят плате получать доступ к
функциональным средствам, встроенным в операционную систему.

На этом мы завершим обсуждение общих вопросов, связанных с драйверами операционной системы, и приступим к основному — работе этих драйверов.
Термины на букву X
Х.25. Стандарт, описывающий интерфейс (электрические соединения, протокол
передачи данных, средства обнаружения и исправления ошибок и пр.) в сети с
коммутацией пакетов.
Принцип его работы подобен п ...
Языки разметки текста
Иногда можно услышать о "программировании" Web-страницы, однако
форматирование текста в окне броузера фактически не относится к
программированию. Как следует из названий языков форматирова ...
Не разоряйте сами себя
Некоторые разработчики беспроводных сетей спроектировали целый класс экспериментальных кустарных антенн для работы в диапазоне 2,4 ГГц, используя дешевые и легкодоступные материалы, со ...