"Linux aio" и "Linux native aio" - это одно и то же?
Я недавно копался в модели linux io и часто слышу, что, как и в Windows IOCP, в linux есть своя собственная реализация модели aio: Glibc aio и kernel aio.
Вопрос:
(1) когда люди говорят "linux native aio", какая модель указана?
(2) Я слышу два разных термина, "linux aio" и "linux native aio". Это одно и то же или указывают на разные реализации?
1 ответ
AIO для Linux - это ядро AIO. Интерфейсы io_setup(2), io_submit(2), io_getevents(2),
и несколько других звонков.
Когда люди говорят о "linux AIO", они, вероятно, имеют в виду "Linux AIO" - хотя кто знает. В конце концов, это Интернет.
Posix AIO - это нечто совершенно другое. Это реализовано с помощью потоков в пользовательском пространстве. Смотрите лучший ответ на Разницу между POSIX AIO и libaio в Linux? для хорошего, хорошо проверенного описания различий между Posix AIO и ядром Linux AIO.