이 글은 IBM의 Boost application performance using asynchronous I/O라는 아티클을 바탕으로 OS 관점에서의 동기/비동기 blocking/non-blocking을 설명하고 있습니다
figure 2
는 synchronous blocking
방식이다.
system call을 하고 난 후, 작업을 실행할 권한이 없다. block 당한 것이다.
그 아래의 이미지는 synchronous non-blocking
방식이다
Synchronous blocking
은 아래와 같이 작동한다
non-blocking은 system call을 하고 난 후, 작업을 실행할 권한이 있다.
figure 5
는 asynchronous non-blocking
방식이다.
순차적으로 작업을 진행하지 않고, system call을 보내고 난 후에도 작업을 할 권한이 있다
그 아래의 이미지는 synchronous non-blocking
방식이다
non-blocking은 system call을 하고 난 후, 작업을 실행할 권한이 있다.
그러나 synchronous 이므로 system call을 하고 난 후, 그 응답값이 오고나서 다시 순차적으로 작업을 진행하고 있다.
IBM Developer: Boost application performance using asynchronous I/O