동기와 비동기
2021. 7. 26. 22:20ㆍOperating System
동기화
- 시스템을 동시에 작동 시키기 위해 여러 사건들을 조화 시키는 것을 의미한다. (출처: 위키백과)
- 논리 주소 공간을 공유하는 협력적 프로세스의 질서있는 실행 보장
- 데이터의 일관성 유지
- 어떤 작업을 요청했을 때 그 작업이 종료될 때까지 기다린 후 다음 작업을 수행한다.
- 데이터를 주고받는 '순서'가 중요할때 사용된다.
- 요청한 작업만 처리하면 되기 때문에 전체적인 수행 속도는 빠를 수 있다. (일만 하면 된다)
- 한 작업에 대한 시간이 길어질 경우, 전체 응답이 지연될 수 있다.
- 즉, 순서가 있기 때문에 질서 정연하여 속도가 빠르기도 하지만, 한 작업이 지연되면 뒤에 작업들이 오래 지연되는 경우가 발생
비동기화
- '동기화'의 반대
- 어떤 작업을 요청했을 때 그 작업이 종료될 때까지 기다리지 않고(작업을 위임하고), 다음 작업을 수행한다. 요청했던 작업이 끝나면 결과를 받고, 그에 따른 추가 작업이 있다면 수행한다.
- 요청 순서에 상관없이, 동시에 다수의 작업을 처리할 수 있다.
- 작업이 끝날 때 따로 이벤트를 감지하고 결과를 받아 그에 따른 추가 작업을 해줘야하기 때문에, 비교적 느릴 수 있다.
- I/O 작업이 잦고, 빠른 응답속도를 요구하는 프로그램에 적합하다
출처
'Operating System' 카테고리의 다른 글
System Calls (0) | 2021.12.02 |
---|---|
Operating System Service (0) | 2021.12.02 |
프로세스(Process) & 스레드(Thread) (0) | 2021.11.22 |
메모리 관리 (0) | 2021.07.29 |
프로세스 동기화(ProcessSynchornization) (0) | 2021.07.28 |