비동기 IO 시스템 호출을 호출한다고 가정합니다. 시스템 호출이 호출되면 모드가 사용자 모드에서 커널 모드로 변경됩니다. 호출 직후에는 사용자 애플리케이션이 추가로 실행될 수 있도록 모드를 다시 사용자 모드로 변경해야 합니다(비차단이므로).
이제 모드가 사용자 모드로 변경되면 모드가 커널에서 사용자 모드로 변경될 때 커널은 IO를 어떻게 처리합니까? 커널이 사용자 모드에서 비동기 IO를 수행합니까?
답변1
AIO를 사용하려는 프로세스는 io_setup()을 통해 AIO 컨텍스트(kioctx)를 생성합니다. AIO 컨텍스트에는 링 버퍼(aio_ring_info)가 있습니다. 이 메모리 버퍼는 프로세스의 주소 공간에 위치하지만 커널에서 액세스할 수 있습니다.