About me
home
Portfolio
home

Asynchronous 이론

날짜
2023/07/19
태그
이론
운영체제

Blocking vs Non-blocking

Blocking - 시스템 콜 요청시 → 커널 IO 작업 완료할 때까지 응답 대기 - 제어권(IO작업) → 커널 소유 → 응답(Response)전 까지 대기(Block) → 다른 작업 수행 불가(대기)
Non-blocking - 시스템 콜 요청시 → 커널 IO 작업 완료 여부 상관없이 즉시 응답 - 제어권(IO작업) → 유저 프로세스 전달→ 다른 작업 수행 가능(지속) → 주기적 시스템 콜 통해서 IO 작업 완료 여부 확인

Asynchronous programming

비동기 프로그래밍은 매우 효율적인 방식으로, 다양한 작업들이 동시에 실행될 수 있다.
비동기라는 용어는 특정 코드가 완료되는 것을 기다리지 않고, 바로 다음 코드로 넘어갈 수 있음을 의미한다.
I/O bound 작업과 같이 대기 시간이 많은 작업을 처리하는 데 특히 유용하다.
Sync vs Async
Sync : IO 작업 완료 여부에 대한 Noty는 유저프로세스(호출하는 함수) → 커널(호출되는 함수)
Async : IO 작업 완료 여부에 대한 Noty는 커널(호출되는 함수) → 유저프로세스(호출하는 함수)

Next → Asynchronous 실습