운영체제 - 프로세스 / 스레드 동기화

TopOfTheHead·2025년 7월 29일

운영체제

목록 보기
18/24
post-thumbnail

프로세스 / 스레드 동기화 ( Synchronization )
Race Condition의 문제 해결을 위해 특정시간동안 공유자원에 대해 오직 단일 프로세스 / 스레드가 접근 및 조작이 가능하게하고 순차적으로 실행될 수 있도록 하여 데이터 일관성을 유지하는 방법
멀티스레드 환경에서 특정 스레드공유메모리에 접근 시 다른 스레드의 접근을 제한

스레드공유자원Read-only만 하는경우 Race Condition이 발생하지않으므로 동기화를 수행하지 않는다.

동기화 목표
。여러 프로세스공유자원데이터 일관성 유지
임계영역Race Condition으로부터 보호하면서 프로세스들을 관리

  • 동기 ( Synchronous = Blocking I/O )
    。특정 작업을 수행할 때 해당 작업의 완료를 기다린 후에 다음 작업을 진행하는 방식으로, 작업이 순차적으로 실행되는 것
    ▶ 저장소의 한 변수에 여러 스레드들이 차례대로 접근 및 사용하면서 비동기문제 발생

  • 비동기 ( Asynchronous = Non Blocking I/O )
    。이전 작업이 완료될 때까지 기다리지 않고 다른 작업을 동시에 실행하는 방식
    ▶ 저장소의 한 변수에 여러 스레드들에서 동시접근 및 동시사용하면서 동기화 문제 발생

출처
운영체제 공룡책 강의

profile
공부기록 블로그

0개의 댓글