Драйверы сетевых плат

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

На этом мы завершим обсуждение общих вопросов, связанных с драйверами операционной системы, и приступим к основному — работе этих драйверов. 

Смотрите также

Как работает хорошее сетевое приложение
В большинстве случаев хорошее автономное приложение (stand-alone application) прекрасно работает и в качестве сетевого приложения, поскольку и к тому, и к другому предъявляются в принципе одинаковые ...

Больше не всегда лучше
Стандартный экран Palm OS составляет всего 160х 160 пикселей. Экраны Windows СЕ могут быть больше (вплоть до 640х 480), но физический размер их дисплея чуть меньше, чем у портативного ...

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