read (2) и write (2) работают как с дескриптором сокета, так и с дескриптором файла. В случае дескриптора файла: Таблица дескриптора файла пользователя-> таблица файлов и, наконец, таблица индексов, где она проверяет тип файла (обычный файл / символ / блок) и читает соответственно. В случае файла char spl он получает указатели функций на основе основного номера файла от переключателя char char и вызывает соответствующие подпрограммы чтения / записи, зарегистрированные для устройства.
Аналогичным образом соответствующая процедура чтения / записи вызывается для специального блочного файла путем получения указателей на функции от переключателя блочного устройства.
Не могли бы вы дать мне знать, что именно происходит, когда чтение / запись вызывается в дескрипторе сокета. Если чтение / запись работает с дескриптором сокета, мы не можем использовать открытый вместо сокета, чтобы получить дескриптор?