728x90
반응형
OS 에서의 Synchronous, Asynchronous 을 알아보자
Synchronous(동기)
- 동시 발생[존재]하는 뜻이다.
- 요청을 했을 경우 결과를 받을때 까지 기다린다.
- A작업과 B작업이 있을 경우 트랜잭션을 맞춘다는 의미다.
- 함수가 끝나는 시간과 다음에 수행할 함수의 시간이 같다.
장점
설계가 단순하다.
단점
결과가 올때까지 다른 작업을 할 수 없다.
예제
- 양복점에서 상의와 하의를 맞춘다고 한다.
- 상의를 공장에 주문하고 상의를 받을 때까지 기다린다.
- 상의를 받고나서 하의를 주문한다.
- 상의를 맞추는데 3일이 걸리고 하의를 맞추는데 1일이 걸린다고 하자.
- 그럼 상의를 맞추는데 3일 하의를 맞추는데 1일 총 4일이 걸린다.
Asynchronous(비동기)
- 동시에 존재[발생]하지 않는
- 요청을 했을경우 결과를 기다리지 않는다.
- 다른 일을 할 수 있다.
장점
- A 작업을 요청하고 기다리지 않고 B 작업을 수행 할 수 있다.
단점
- 설계가 복잡하다.
- Context Switching 계속 발생한다.
예제
- 양복점에서 상의와 하의를 맞춘다고 한다.
- 상의를 공장에 주문하고 바로 하의를 다른 곳에 주문한다.
- 완성되는 것에 따라 먼저 받는다.
- 그럼 상의를 주문하고 바로 하의를 주문 할 수 있다.
- 상의 만드는 시간 3일 하의 만드는 시간 1일 이지만 3일 안에 하의가 도착한다.
- 그럼 총 3일이 걸린다.
728x90
반응형
'Development > OS' 카테고리의 다른 글
[OS] 가상메모리 (0) | 2021.08.18 |
---|---|
[OS] Deadlock(교착상태), Starvation(기아상태) (0) | 2021.08.18 |
[OS] Process Synchronization(프로세스 동기화) (0) | 2021.08.18 |
[OS] 프로세스와 쓰레드 그리고 차이점 (1) | 2021.08.18 |
댓글