Уже не первый год в сообществе Linux проходят бурные обсуждения инструмента io_uring. Несмотря на то, что этой фиче более пяти лет, она все равно остается довольно экзотической в наших краях. Тем не менее новый механизм уже нашел применение во множестве рантаймов, веб-серверов, баз данных, файловых систем и других сложных программных продуктах.
В своем докладе я расскажу про:
* связь асинхронности и неблокирующего I/O;
* классические подходы к работе с неблокирующим I/O;
* новый интерфейс ядра — io_uring;
* liburing как об удобном способе работы с io_uring;
* использование libruing в Gо и почему все не так гладко;
* движение в сторону включения io_uring в рантайм Gо;
* опыт создания приложения с io_uring.