blockcingIO
- 시스템 콜 요청 후 커널 IO 작업 완료 시 까지 응답 대기
- ex : 카카오톡으로 메시지를 전송했는데 답장이 올 때까지 대기
- 제어권이 io작업에 있다가, -> 커널 소유 -> 응답(response)까지 대기한다, 응답이 오기전에는 다른작업을 수행 할 수 없다. (카카오톡 답장이 올때까지 다른 작업을 할 수 없다)
Non - Blocking IO
- 시스템 콜 요청시 -> 커널 io 작업 완료 여부 상관없이 즉시 응답...
- 카카오톡 보내 놓고 답장 오기전에 운동하거나, 아무거나 해도된다.
- 제어권(io작업) -> 유저프로세스 에 있다가 다른 작업 수행 가면서 주기적으로 시스템 콜을 통해 io작업 완료 여부를 확인하다
- ex : 빨래방에 빨래를 맡겼다면, 아주머니에게 빨래 다 되었는지 주기적으로 체크...
Async
- io 작업 완료 여부에 대한 알림은 커널(호출 되는 함수)가 -> 유저프로세스에게 한다..
- 빨래방 아주머니가 알아서 우리에게 알려준다..
Sync
- IO 작업 완료 여부에 대한 알림은 유저프로세스가 커널(호출되는 함수)에게로 한다.
'운영체제' 카테고리의 다른 글
뇌를자극하는윈도우즈시스템프로그래밍 (0) | 2022.06.22 |
---|---|
Multiprocessing vs Threading vs AsyncIO (0) | 2022.06.22 |
What Is Concurrency(동시성 vs 병렬성) (0) | 2022.06.22 |
paging, memory (0) | 2022.06.11 |
자네 thread safe 한가? (0) | 2021.12.02 |