
프로세스 / 스레드 동기화( Synchronization )
。Race Condition의 문제 해결을 위해 특정시간동안공유자원에 대해 오직 단일프로세스 / 스레드가 접근 및 조작이 가능하게하고 순차적으로 실행될 수 있도록 하여데이터 일관성을 유지하는 방법
▶멀티스레드환경에서 특정스레드가공유메모리에 접근 시 다른스레드의 접근을 제한
。스레드가공유자원을Read-only만 하는경우Race Condition이 발생하지않으므로동기화를 수행하지 않는다.
동기화목표
。여러프로세스간공유자원의데이터 일관성유지
。임계영역을Race Condition으로부터 보호하면서프로세스들을 관리
동기( Synchronous =Blocking I/O)
。특정 작업을 수행할 때 해당 작업의 완료를 기다린 후에 다음 작업을 진행하는 방식으로, 작업이 순차적으로 실행되는 것
▶ 저장소의 한변수에 여러스레드들이 차례대로 접근 및 사용하면서비동기문제발생
비동기( Asynchronous =Non Blocking I/O)
。이전 작업이 완료될 때까지 기다리지 않고 다른 작업을 동시에 실행하는 방식
▶ 저장소의 한변수에 여러스레드들에서 동시접근 및 동시사용하면서동기화 문제발생
출처
。운영체제 공룡책 강의