Что: 22505814479aaf4c678693c54e36f8cc148b4b08 Когда: 2022-01-17 21:06:01+03:00 ------------------------------------------------------------------------ Темы: apple bsd systemd ------------------------------------------------------------------------ AIO в GNU/Linux https://habr.com/ru/post/646073/ https://wiki.postgresql.org/wiki/FreeBSD/AIO В 2019 году произошло великое событие: инженеры из Facebook написали новый механизм асинхронной работы с дисковым IO, который получил название io_uring. Он был добавлен в ядро версии 5.1. Вполне неплохо -- Linux 2019 года уже может полноценно работать с файлами. Тогда как в FreeBSD AIO появился в 5.0 в 2003-ем году. Facebook молодцы! Ну а в macOS, как и с сетевым стэком (f19e0f25f0bf0c1563602d922e9cdf0c1f5ff00b): MacOS в скобках, потому что это не серверная ОС. aio там присутствует, но вместе с aio идет огромное количество граблей. ------------------------------------------------------------------------ оставить комментарий: mailto:comment@blog.stargrave.org?subject=Re:%20AIO%20%D0%B2%20GNU%2FLinux%20%2822505814479aaf4c678693c54e36f8cc148b4b08%29 ------------------------------------------------------------------------ комментарий 0: From: kmeaw Date: 2022-01-18 02:27:34Z Не поверил, что в столь широко используемых ядрах ОС, AIO появился относительно недавно. Стал искать упоминания. AIO в Linux появился сильно раньше 2019 - файл fs/aio.c существует в git-репозитории ядра с момента его создания (2005-04-16, 2.6.12-rc2). В linux-2.6.0/fs/aio.c есть комментарий: Copyright 2000, 2001, 2002 Red Hat, Inc. All Rights Reserved. mtime у этого файла: 2003-12-18 02:58:48 Впервые он появился в экспериментальном 2.5.32: -rw-r--r-- torvalds/eng 28606 2002-08-27 23:26 linux-2.5.32/fs/aio.c Самое старое упоминание AIO во FreeBSD я могу найти в версии 3.0: AIO_READ(2) BSD System Calls Manual … HISTORY The aio_read() system call first appeared in FreeBSD 3.0. Revision 26685 Added Mon Jun 16 12:10:21 1997 UTC (24 years, 7 months ago) by dyson Original Path: head/sys/sys/aio.h ------------------------------------------------------------------------ комментарий 1: From: Sergey Matveev Date: 2022-01-18 08:02:32Z *** kmeaw [2022-01-18 05:26]: >AIO в Linux появился сильно раньше 2019 - файл fs/aio.c Я так понимаю, что, с точки зрения авторов, это очень геморройное решение, требующее DIRECT флага и всего из этого вытекающего. Поэтому только io_uring считается началом чего-то юзабельного. >Самое старое упоминание AIO во FreeBSD я могу найти в версии 3.0: >The aio_read() system call first appeared in FreeBSD 3.0. Хм, кстати да. Ведь сам смотрел в man-page, в котором написано: The aio facility appeared as a kernel option in FreeBSD 3.0. The aio kernel module appeared in FreeBSD 5.0. и я только на aio kernel module обратил внимание. У меня то вообще мнения нет на счёт AIO -- не приходилось использовать. ------------------------------------------------------------------------ Сгенерирован: SGBlog 0.34.0