Есть ли еще переключение контекста на ядро, если оба конца канала Linux обрабатываются одним и тем же процессом? Я подозреваю, что да, но я хотел бы получить окончательный ответ. Я полагаю, что BSD было бы "да".
Помимо этих подозрений, в ядре должен быть хотя бы один переключатель для операций блокировки внутри канала.
* Это относится к программным установкам для особых случаев, таким как "# child procs = 0", чтобы родительский элемент считывал и записывал оба конца и т. Д. В этом случае fork будет заменен с резьбой бегун. Предположим, что полная объектная модель безопасна для потока. *