Номер устройства для сетевых устройств - PullRequest
1 голос
/ 22 февраля 2011

Почему в Linux драйверы сетевых устройств не связаны с основными / младшими номерами устройств или файлами / dev?

1 Ответ

3 голосов
/ 22 февраля 2011

Как правило, сетевые устройства плохо подходят для модели файловой системы.Файлы

/ dev бывают двух типов: блочные и символьные.Наиболее существенным блочным устройством является дисковод, который может быть интуитивно представлен в виде одного большого файла.Самым типичным символьным устройством является консоль, на которой считываются нажатия клавиш клавиатуры, а дисплей терминала записывается в виде «потоков» байтов.Оба этих интерфейса очень похожи на операции, выполняемые над обычными файлами, поэтому имеет смысл представлять файлы AS физических устройств.

Сетевые устройства, однако, не подходят ни к одной модели.Интерфейс Ethernet не представляет большое хранилище байтов, и при этом это не представляет единственный входящий или исходящий поток байтов.Приложения используют сетевые сервисы через API-интерфейс сокетов (man 2 socket), который, как правило, не требует, чтобы они ничего не знали о топологии сети, поэтому на самом деле не используется представление файлов в интерфейсе.

...