Я знаю, что со сплайсингом мы все можем остаться в ядре. Но я не уверен, что это данные или информация о местонахождении, которые передаются в канал.
РЕДАКТИРОВАТЬ 1: Спасибо @vinayak, теперь я знаю, что на самом деле происходит копирование данных в буфер канала и из него. Но тогда мне просто интересно, почему мы не можем просто передать информацию о местонахождении и длине в канал?
- В пределах одного процесса адресное пространство одинаково
- Между разностными процессами это также работает, если буфер канала имеет линейное отображение. Если нет, мы можем использовать адрес DMA.