| 동기 입출력

- 애플리케이션은 입출력 함수를 호출한 후 입출력 작업이 끝날때까지 대기

- 입출력 작업이 끝나면 입출력 함수는 리턴하고 애플리케이션은 입출력 결과를 처리하거나 다른 작업을 진행

 

 

| 비동기 입출력

- 애플리케이션은 입출력 함수를 호출한 후 입출력 작업의 완료 여부와 무관하게 다른작업 수행

- 입출력 작업이 끝나면 운영체제는 작업 완료를 애플리케이션에게 알려줌. 이때 애플리케이션은 다른 작업을 중단하고 입출력 결과를 처리

 

| Overlapped 모델(비동기 입출력 + 비동기 통지)

 

사용 절차

1. 비동기 입출력을 지원하는 소켓 생성

2. 비동기 입출력을 지원하는 소켓 함수 호출

3. 운영체제는 소켓 입출력 작업 완료를 애플리케이션에게 알려주고(= 비동기 통지), 애플리케이션은 결과를 처리

 

 

비동기 함수 -> 확장함수 

 

| Asynchronous Procedure Call (APC)

 

콜함수 -> 사용자

콜백함수 -> 운영체제]]

'프로그래밍 > 시스템프로그래밍' 카테고리의 다른 글

프로세스 스케쥴링  (0) 2019.10.01
Signaled vs Non signaled  (0) 2019.09.30
프로세스간의 통신  (0) 2019.09.30
timer 함수  (0) 2019.09.26
1.3 쓰레드의 동기화  (0) 2019.09.25

+ Recent posts