Linux aio и родной Linux aio — это одно и то же?

Недавно я изучал модель ввода-вывода в Linux и часто слышу, что, как и Windows IOCP, в Linux есть собственная реализация модели aio: Glibc aio и ядро ​​aio.

Вопрос:

(1) когда люди говорят «linux native aio», какая модель указывается?

(2) Я слышу 2 разных термина: «linux aio» и «linux native aio». Являются ли они одним и тем же или указывают на разные реализации?


person Troskyvs    schedule 04.02.2017    source источник


Ответы (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 kernel AIO.

person Mike Andrews    schedule 06.02.2017