티스토리 뷰
동기식 I/O
어떤 프로그램이 I/O 요청 후 입출력 작업이 완료된 후에야 CPU 제어권이 사용자 프로그램으로 넘어가는 것을 말한다.
즉, 입출력 요청 후 입출력 작업이 완료되기 전에는 CPU 제어권이 없다는 뜻이된다. 이말은 실행이 안된다는 것이다.
동기식 I/O의 구현 방식은 두가지로 나뉜다.
구현 방법 1
- I/O가 끝날 때까지 CPU를 낭비시킴
- 매시점 하나의 I/O만 일어날 수 있음
구현 방법2
- 보통 이방법 사용
- I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음
- I/O 처리를 기다리는 줄에 그 프로그램을 줄 세움
- 다른 프로그램에게 CPU를 줌
보통은 구현 방법2를 사용하는게 일반적이다.
비동기식 I/O
어떤 프로그램이 I/O 요청을 한 후 입출력 작업이 끝나기를 기다리지 않고 CPU 제어권이 사용자 프로그램에 즉시 넘어가는 것을 말한다.
이 경우에 입출력이 끝난다면 인터럽트를 통해 알려준다 물론 동기식 I/O도 같다.
이 방식의 장점은 아무래도 입출력 작업이 오래걸릴 경우에 동기식 I/O와 달리 실행될 수 있어 시스템 자원을 보다 효율적으로 사용 가능하게 한다.
'OS' 카테고리의 다른 글
프로세스 (1) | 2024.08.22 |
---|---|
Process와 Thread의 차이 (0) | 2024.08.22 |
OS - 커널과 이중모드, 시스템 콜 (0) | 2024.08.16 |
OS - programmed I/O, Interrupted I/O, DMA I/O (0) | 2024.08.16 |
OS - 운영체제 기술의 발전 (0) | 2024.08.16 |