[운영체제] 6. 프로세스 동기화 - 예제들

임호연·2021년 5월 21일
0

기록

목록 보기
7/20
post-thumbnail

동기화 예제

  • 자원의 관점에서는 공유이며
  • control transfer를 위해서 사용될 수도 있다.

유한 버퍼 문제

  • 공유자원은 기본적으로 감싸주고
  • count를 empty, full로

readers-writers문제

  • reader는 전혀 상관 X
  • writer는 수행 도중 다른 reader, writer가 절대로 못 들어오게끔 해야 함

철학자들

  • 무조건, 두개다 집지 않으면 식사조차 못 하도록 한다. ( 뮤텍스를 통해 한명만 식사시키는 것도 방법)
  • 혹은, ㅅ ㅏ람 수를 주린다.
  • 혹은, 포크를 집는 순서를 정한다. 홀수번호는 오른쪽 먼저, 짝수번호는 왼쪽 먼저
  • ....## 모니터쓰는데너무무섭다

커널 내의 동기화

윈도우즈의 동기화

  • 인터럽트 닫기, 스핀락(다중처리기에서)

대체방안들

트랜잭션 메모리

  • 그냥 트랜잭션이래

    모 아니면 도

    ACID의 A는 원자성(atomicity)로 1, 2는 하나의 단위로 수행되어야 함을 뜻한다. I는 독립성(isolation)으로 도중에 다른 태스크에 의해 방해받지 않음을 뜻한다. C(consistency)와 D(durability)는 저장 매체와 관련이 있다.

  • 그냥 중간에 뭔가 문제 발생하면 rollback 시키고, 아니면 commit 시키고 이런 방식으로 하겠네.

open mp

락을 쓰는게 아니라, 그냥 하나의 쓰레드만 접근 가능하도록

함수형프로그래밍

상태를 유지하지 않는다.

어차피 상태를 유지하지 않기 때문에 교착상태가 없다.

profile
해탈하자

0개의 댓글