티스토리 뷰

OS

OS - 동기식 I/O와 비동기식 I/O

perseverance 2024. 8. 16. 18:24

동기식 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함