[OS lecture 1] 운영체제 구조 - 9 - 동기화/세마포어

Date:

카테고리:

태그:

1. 동기화(Synchronization)

  • 작업들 사이에 실행시기를 맞추는 것
  • 여러 스레드가 동일한 자원 접근 시 동기화 이슈 발생
  • 동일자원을 여러 스레드가 동시 수정시 각 스레드 결과에 영향 줌

2. 동기화 이슈 해결

  • 상호배제 (Mutual Exclusion) - 한 스레드가 공유변수 갱신 -> 다른 스레드 동시변경 막음 - 임계 자원 : 두 개 이상의 프로세스가 동시 사용 불가 자원(글로벌 변수, 파일) - 임계 영역 : 임계 자원을 처리하는 핵심 코드

3. 뮤텍스(Mutex)와 세마포어(Semaphore)

  • 임계 영역애 대한 접근 막기 위해 locking 매커니즘 필요

    1. Mutex : 임계구역에 하나의 스레드만 들어갈 수 있음
    2. Semaphore : 임계구역에 여러 스레드가 들어갈 수 있음(카운터 통해 수 제어)

      • 대기 시 프로그매밍은 중단이 없어 loop사용 -> cpu에 부하 (바쁜 대기)
      • 운영체제 기술을 통해 바쁜 대기 대신 대기큐에 넣음

[참고자료 - 컴퓨터 공학 전공 필수 강의 (패스트캠퍼스 - 현재는 수강불가)]

OS lecture 1 카테고리 내 다른 글 보러가기

댓글 남기기