Free Lines Arrow
본문 바로가기
Development/OS

[OS] Synchronous(동기), Asynchronous(비동기)

by skahn1215 2021. 8. 18.
728x90
반응형

OS 에서의 Synchronous,  Asynchronous 을 알아보자

 

 

 

Synchronous(동기)

  • 동시 발생[존재]하는 뜻이다.
  • 요청을 했을 경우 결과를 받을때 까지 기다린다.
  • A작업과 B작업이 있을 경우 트랜잭션을 맞춘다는 의미다.
  • 함수가 끝나는 시간과 다음에 수행할 함수의 시간이 같다.

 

 

장점

설계가 단순하다.

 

 

단점

결과가 올때까지 다른 작업을 할 수 없다.

 

 

예제

  • 양복점에서 상의와 하의를 맞춘다고 한다.
  • 상의를 공장에 주문하고 상의를 받을 때까지 기다린다.
  • 상의를 받고나서 하의를 주문한다.
  • 상의를 맞추는데 3일이 걸리고 하의를 맞추는데 1일이 걸린다고 하자.
  • 그럼 상의를 맞추는데 3일 하의를 맞추는데 1일 총 4일이 걸린다.

 

 

 

Asynchronous(비동기)

  • 동시에 존재[발생]하지 않는
  • 요청을 했을경우 결과를 기다리지 않는다.
  • 다른 일을 할 수 있다.

 

장점

  • A 작업을 요청하고 기다리지 않고 B 작업을 수행 할 수 있다.

 

 

단점

  • 설계가 복잡하다.
  • Context Switching 계속 발생한다.

 

 

예제

  • 양복점에서 상의와 하의를 맞춘다고 한다.
  • 상의를 공장에 주문하고 바로 하의를 다른 곳에 주문한다.
  • 완성되는 것에 따라 먼저 받는다.
  • 그럼 상의를 주문하고 바로 하의를 주문 할 수 있다.
  • 상의 만드는 시간 3일 하의 만드는 시간 1일 이지만 3일  안에 하의가 도착한다.
  • 그럼 총 3일이 걸린다.

 

 

728x90
반응형

댓글