Я попытался последовать совету Бретта, но это не повлияло на мою систему. (Убунту 18.04.)
Однако следующее сработало:
sudo systemctl disable wpa_supplicant
В общем случае имеется два уровня. Буфер в пользовательском пространстве выделяется библиотекой stdio, и вызовы puts/printf/fprintf и т. д. помещают символы в этот буфер. На каком-то этапе (, например. буфер заполнен или записывается новая строка, и поток находится в режиме буферизации строки )библиотека stdio вызывает write
, чтобы попросить ядро записать буфер. Ядро обычно копирует буфер в буфер ядра, запускает все, что необходимо для передачи данных в место назначения и возврата. Затем пользовательское пространство может свободно использовать буфер пользовательского пространства по своему усмотрению.
Возможно (, но необычно )иметь разные реализации stdio, которые делают это по-разному. sfio имеет уровень совместимости со stdio. Были предложены различные схемы для zero copy
и т. д. Дело в том, что stdio
говорит вам, что такое эффект, а не как он делается.