ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 동기화 도구들
    Computer Science/Operating System 2021. 1. 10. 23:56

    질문

    6.1 배경

    • 경쟁 상황이란 무엇인가?
      • 동시에 여러 개의 프로세스가 동일한 자료를 접근하여 조작하고, 그 실행 결과가 접근이 발생한 특정 순서에 의존하는 상황을 경쟁 상황이라고 합니다.

    6.2 임계 구역 문제

    • 임계 구역이란 무엇인가요?
      • 적어도 하나 이상의 다른 프로세스가 공유하는 데이터에 접근하고 갱신하는 구역
    • 임계 구역 문제를 해결하기 위한 해결책의 3가지 요구 조건은 무엇인가요?
      • 상호 배제
      • 진행
      • 한정된 대기

    6.5 Mutex Locks

    • 뮤텍스 락의 동작 원리는?
      • acquire() 함수가 락을 획득하고, release() 함수가 락을 반환합니다.
      • Mutex 락은 available이라고 불리는 불린 변수를 가지는데 이 변수 값이 락의 가용 여부를 표시합니다. 락이 가용하면 acquire() 호출은 성공하고 락은 곧 사용 불가 상태가 됩니다. 사용 불가 상태의 락을 획득하려고 시도하는 프로세스는 락이 반환될 때까지 봉쇄됩니다.

    6.6 Semaphores

    • 세마포의 동작 원리는?
      • 세마포 S는 정수 변수로서 초기화를 제외하고는 wait()와 signal()로만 접근할 수 있습니다
      • wait() 연산은 세마포의 값을 감소시킵니다
      • signal() 연산은 세마포의 값을 증가시킵니다.
      • 세마포의 값이 0이 되면 모든 자원이 사용 중임을 나타냅니다.

    -요약

    • 경쟁 조건은 프로세스가 공유 데이터에 병행하게 접근할 때 발생하며 최종 결과는 병행 접근이 발생한 특정 순서에 따라 다릅니다
    • 임계구역은 공유 데이터가 조작될 수 있으며 경쟁 조건이 발생할 수 있는 코드 영역입니다.
    • 임계 구역 문제에 대한 해결책은 상호 배제, 진행, 한정된 대기의 세 가지 요구 사항을 충족해야 합니다.
    • Mutex 락은 프로세스가 임계구역에 들어가기 전에 락을 획득하고 임계구역에서 나올 때 락을 해제할 것을 요구함으로써 상호 배제를 제공합니다.
    • 세마포어는 mutex 락과는 달리 정수 값을 가지므로 다양한 동기화 문제를 해결하는데 사용될 수 있습니다.

    'Computer Science > Operating System' 카테고리의 다른 글

    메모리 관리  (0) 2021.01.14
    교착 상태  (0) 2021.01.14
    CPU 스케줄링  (0) 2021.01.10
    스레드와 병행성  (0) 2021.01.10
    프로세스  (0) 2021.01.10

    댓글

Designed by Tistory.